diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 52d707d964..03d42b2638 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,6 +58,8 @@ jobs: tools/bootstrap/python -c '' - name: Run Grep Checks run: tools/ci/validate_files.sh + - name: Run Define Sanity Checks + run: tools/bootstrap/python -m define_sanity.check - name: Run TGUI Checks run: tools/build/build --ci lint tgui-test diff --git a/.gitignore b/.gitignore index 28f0cda51c..3ef44b3109 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,6 @@ tgui/public/tgui.bundle.css tgui/public/tgui.bundle.js #ignore tracy dll prof.dll + +# From /tools/define_sanity/check.py - potential output file that we load onto the user's machine that we don't want to have committed. +define_sanity_output.txt diff --git a/ATTRIBUTIONS.md b/ATTRIBUTIONS.md index abaf97a0b9..b9680f5c65 100644 --- a/ATTRIBUTIONS.md +++ b/ATTRIBUTIONS.md @@ -86,3 +86,9 @@ **Creator:** VerySoft (https://github.com/TS-Rogue-Star/Rogue-Star/pull/669)
**URL:** [Website](https://rogue-star.net/)
**License:** Permission granted in writing for use by Virgo and Chomp with proper attribution +
+**File:** icons/mob/vore_grayscale_drake.dmi +**Title:** drake
+**Creator:** grayscaledrake (Discord user)
+**License:** [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) +**Notes:** Permission to use assets also given in writing, assets were created for use in Virgo and other space station 13 servers. diff --git a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm index 84ba70f55f..fbbc59cd67 100644 --- a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm +++ b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm @@ -30,8 +30,8 @@ var/ui_error = null // For error messages to show up in nano ui. var/datum/gas_mixture/internal = new() - var/const/input_gas = "carbon_dioxide" - var/const/output_gas = "oxygen" + var/const/input_gas = GAS_CO2 + var/const/output_gas = GAS_O2 /obj/machinery/atmospherics/binary/algae_farm/filled stored_material = list(MAT_ALGAE = 10000, MAT_GRAPHITE = 0) diff --git a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm index 1a357327fb..9b00134cde 100644 --- a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm +++ b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm @@ -14,7 +14,7 @@ //-------------------------------------------- // Omni port datum // -// Used by omni devices to manage connections +// Used by omni devices to manage connections // to other atmospheric objects. //-------------------------------------------- /datum/omni_port @@ -70,10 +70,10 @@ string = "East" if(WEST) string = "West" - + if(!capitalize && string) string = lowertext(string) - + return string //returns a direction flag based on the string passed to it @@ -94,16 +94,15 @@ /proc/mode_to_gasid(var/mode) switch(mode) - if(ATM_O2) - return "oxygen" - if(ATM_N2) - return "nitrogen" - if(ATM_CO2) - return "carbon_dioxide" - if(ATM_P) - return "phoron" - if(ATM_N2O) - return "nitrous_oxide" + if(ATM_O2) + return GAS_O2 + if(ATM_N2) + return GAS_N2 + if(ATM_CO2) + return GAS_CO2 + if(ATM_P) + return GAS_PHORON + if(ATM_N2O) + return GAS_N2O else return null - \ No newline at end of file diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index f332afee61..29004bc234 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -44,15 +44,15 @@ switch(filter_type) if(0) //removing hydrocarbons - filtered_out = list("phoron") + filtered_out = list(GAS_PHORON) if(1) //removing O2 - filtered_out = list("oxygen") + filtered_out = list(GAS_O2) if(2) //removing N2 - filtered_out = list("nitrogen") + filtered_out = list(GAS_N2) if(3) //removing CO2 - filtered_out = list("carbon_dioxide") + filtered_out = list(GAS_CO2) if(4)//removing N2O - filtered_out = list("nitrous_oxide") + filtered_out = list(GAS_N2O) air1.volume = ATMOS_DEFAULT_VOLUME_FILTER air2.volume = ATMOS_DEFAULT_VOLUME_FILTER @@ -138,18 +138,18 @@ // current_filter_type = "ERROR - Report this bug to the admin, please!" // dat += {" - // Power: [use_power?"On":"Off"]
+ // Power: [use_power?"On":"Off"]
// Filtering: [current_filter_type]

//

Set Filter Type:

- // Phoron
- // Oxygen
- // Nitrogen
- // Carbon Dioxide
- // Nitrous Oxide
- // Nothing
+ // Phoron
+ // Oxygen
+ // Nitrogen
+ // Carbon Dioxide
+ // Nitrous Oxide
+ // Nothing
//
// Set Flow Rate Limit: - // [src.set_flow_rate]L/s | Change
+ // [src.set_flow_rate]L/s | Change
// Flow rate: [round(last_flow_rate, 0.1)]L/s // "} @@ -205,16 +205,16 @@ filtered_out.Cut() //no need to create new lists unnecessarily switch(filter_type) if(0) //removing hydrocarbons - filtered_out += "phoron" + filtered_out += GAS_PHORON filtered_out += "oxygen_agent_b" if(1) //removing O2 - filtered_out += "oxygen" + filtered_out += GAS_O2 if(2) //removing N2 - filtered_out += "nitrogen" + filtered_out += GAS_N2 if(3) //removing CO2 - filtered_out += "carbon_dioxide" + filtered_out += GAS_CO2 if(4)//removing N2O - filtered_out += "nitrous_oxide" + filtered_out += GAS_N2O add_fingerprint(ui.user) update_icon() diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 86ee751762..02b0127b32 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -106,25 +106,25 @@ // return // user.set_machine(src) // var/list/node_connects = get_node_connect_dirs() - // var/dat = {span_bold("Power: ") + "[use_power?"On":"Off"]
+ // var/dat = {span_bold("Power: ") + "[use_power?"On":"Off"]
// Set Flow Rate Limit: - // [set_flow_rate]L/s | Change + // [set_flow_rate]L/s | Change //
// Flow Rate: [round(last_flow_rate, 0.1)]L/s //

// Node 1 ([dir_name(node_connects[1],TRUE)]) Concentration: - // - - // - + // - + // - // [mixing_inputs[air1]]([mixing_inputs[air1]*100]%) - // + - // + + // + + // + //
// Node 2 ([dir_name(node_connects[2],TRUE)]) Concentration: - // - - // - + // - + // - // [mixing_inputs[air2]]([mixing_inputs[air2]*100]%) - // + - // + + // + + // + // "} // user << browse("[src.name] control[dat]", "window=atmo_mixer") diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 110c581955..699a376ac0 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -321,6 +321,7 @@ /obj/machinery/atmospherics/unary/vent_pump/proc/set_frequency(new_frequency) radio_connection = register_radio(src, frequency, new_frequency, radio_filter_in) frequency = new_frequency + broadcast_status() /obj/machinery/atmospherics/unary/vent_pump/receive_signal(datum/signal/signal) if(stat & (NOPOWER|BROKEN)) diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 4ab5156968..909ac6658b 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -20,7 +20,7 @@ var/hibernate = 0 //Do we even process? var/scrubbing = 1 //0 = siphoning, 1 = scrubbing - var/list/scrubbing_gas = list("carbon_dioxide", "phoron") + var/list/scrubbing_gas = list(GAS_CO2, GAS_PHORON) var/panic = 0 //is this scrubber panicked? @@ -109,12 +109,12 @@ "power" = use_power, "scrubbing" = scrubbing, "panic" = panic, - "filter_o2" = ("oxygen" in scrubbing_gas), - "filter_n2" = ("nitrogen" in scrubbing_gas), - "filter_co2" = ("carbon_dioxide" in scrubbing_gas), - "filter_phoron" = ("phoron" in scrubbing_gas), - "filter_n2o" = ("nitrous_oxide" in scrubbing_gas), - "filter_fuel" = ("volatile_fuel" in scrubbing_gas), + "filter_o2" = (GAS_O2 in scrubbing_gas), + "filter_n2" = (GAS_N2 in scrubbing_gas), + "filter_co2" = (GAS_CO2 in scrubbing_gas), + "filter_phoron" = (GAS_PHORON in scrubbing_gas), + "filter_n2o" = (GAS_N2O in scrubbing_gas), + "filter_fuel" = (GAS_VOLATILE_FUEL in scrubbing_gas), "sigtype" = "status" ) if(!initial_loc.air_scrub_names[id_tag]) @@ -216,35 +216,35 @@ var/list/toggle = list() - if(!isnull(signal.data["o2_scrub"]) && text2num(signal.data["o2_scrub"]) != ("oxygen" in scrubbing_gas)) - toggle += "oxygen" + if(!isnull(signal.data["o2_scrub"]) && text2num(signal.data["o2_scrub"]) != (GAS_O2 in scrubbing_gas)) + toggle += GAS_O2 else if(signal.data["toggle_o2_scrub"]) - toggle += "oxygen" + toggle += GAS_O2 - if(!isnull(signal.data["n2_scrub"]) && text2num(signal.data["n2_scrub"]) != ("nitrogen" in scrubbing_gas)) - toggle += "nitrogen" + if(!isnull(signal.data["n2_scrub"]) && text2num(signal.data["n2_scrub"]) != (GAS_N2 in scrubbing_gas)) + toggle += GAS_N2 else if(signal.data["toggle_n2_scrub"]) - toggle += "nitrogen" + toggle += GAS_N2 - if(!isnull(signal.data["co2_scrub"]) && text2num(signal.data["co2_scrub"]) != ("carbon_dioxide" in scrubbing_gas)) - toggle += "carbon_dioxide" + if(!isnull(signal.data["co2_scrub"]) && text2num(signal.data["co2_scrub"]) != (GAS_CO2 in scrubbing_gas)) + toggle += GAS_CO2 else if(signal.data["toggle_co2_scrub"]) - toggle += "carbon_dioxide" + toggle += GAS_CO2 - if(!isnull(signal.data["tox_scrub"]) && text2num(signal.data["tox_scrub"]) != ("phoron" in scrubbing_gas)) - toggle += "phoron" + if(!isnull(signal.data["tox_scrub"]) && text2num(signal.data["tox_scrub"]) != (GAS_PHORON in scrubbing_gas)) + toggle += GAS_PHORON else if(signal.data["toggle_tox_scrub"]) - toggle += "phoron" + toggle += GAS_PHORON - if(!isnull(signal.data["n2o_scrub"]) && text2num(signal.data["n2o_scrub"]) != ("nitrous_oxide" in scrubbing_gas)) - toggle += "nitrous_oxide" + if(!isnull(signal.data["n2o_scrub"]) && text2num(signal.data["n2o_scrub"]) != (GAS_N2O in scrubbing_gas)) + toggle += GAS_N2O else if(signal.data["toggle_n2o_scrub"]) - toggle += "nitrous_oxide" + toggle += GAS_N2O - if(!isnull(signal.data["fuel_scrub"]) && text2num(signal.data["fuel_scrub"]) != ("volatile_fuel" in scrubbing_gas)) - toggle += "volatile_fuel" + if(!isnull(signal.data["fuel_scrub"]) && text2num(signal.data["fuel_scrub"]) != (GAS_VOLATILE_FUEL in scrubbing_gas)) + toggle += GAS_VOLATILE_FUEL else if(signal.data["toggle_fuel_scrub"]) - toggle += "volatile_fuel" + toggle += GAS_VOLATILE_FUEL scrubbing_gas ^= toggle diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm index ee8eda90b3..92869d8811 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm @@ -1,2 +1,2 @@ /obj/machinery/atmospherics/unary/vent_scrubber - scrubbing_gas = list("carbon_dioxide", "phoron") \ No newline at end of file + scrubbing_gas = list(GAS_CO2, GAS_PHORON) diff --git a/code/ATMOSPHERICS/pipes/tank.dm b/code/ATMOSPHERICS/pipes/tank.dm index 34afa7bbe4..5560c5b197 100644 --- a/code/ATMOSPHERICS/pipes/tank.dm +++ b/code/ATMOSPHERICS/pipes/tank.dm @@ -79,8 +79,8 @@ air_temporary.volume = volume air_temporary.temperature = T20C - air_temporary.adjust_multi("oxygen", (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \ - "nitrogen",(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_multi(GAS_O2, (start_pressure*O2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature), \ + GAS_N2,(start_pressure*N2STANDARD)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() @@ -95,7 +95,7 @@ air_temporary.volume = volume air_temporary.temperature = T20C - air_temporary.adjust_gas("oxygen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_gas(GAS_O2, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() icon_state = "o2" @@ -110,7 +110,7 @@ air_temporary.volume = volume air_temporary.temperature = T20C - air_temporary.adjust_gas("nitrogen", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_gas(GAS_N2, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() icon_state = "n2" @@ -124,7 +124,7 @@ air_temporary.volume = volume air_temporary.temperature = T20C - air_temporary.adjust_gas("carbon_dioxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_gas(GAS_CO2, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() icon_state = "co2" @@ -139,7 +139,7 @@ air_temporary.volume = volume air_temporary.temperature = T20C - air_temporary.adjust_gas("phoron", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_gas(GAS_PHORON, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() icon_state = "phoron" @@ -153,7 +153,7 @@ air_temporary.volume = volume air_temporary.temperature = T0C - air_temporary.adjust_gas("nitrous_oxide", (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + air_temporary.adjust_gas(GAS_N2O, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) . = ..() icon_state = "n2o" diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 9cbf665f83..907c3583cc 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -301,7 +301,7 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin //remove_by_flag() and adjust_gas() handle the group_multiplier for us. remove_by_flag(XGM_GAS_OXIDIZER, used_oxidizers) remove_by_flag(XGM_GAS_FUEL, used_gas_fuel) - adjust_gas("carbon_dioxide", used_oxidizers) + adjust_gas(GAS_CO2, used_oxidizers) if(zone) zone.remove_liquidfuel(used_liquid_fuel, !check_combustability()) diff --git a/code/ZAS/Phoron.dm b/code/ZAS/Phoron.dm index cab64a11f8..c3e3097fb6 100644 --- a/code/ZAS/Phoron.dm +++ b/code/ZAS/Phoron.dm @@ -99,7 +99,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') return //Burn skin if exposed. - if(vsc.plc.SKIN_BURNS && (species.breath_type != "phoron")) + if(vsc.plc.SKIN_BURNS && (species.breath_type != GAS_PHORON)) if(!pl_head_protected() || !pl_suit_protected()) burn_skin(0.75) if(prob(20)) @@ -107,7 +107,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') updatehealth() //Burn eyes if exposed. - if(vsc.plc.EYE_BURNS && species.breath_type && (species.breath_type != "phoron")) //VOREStation Edit: those who don't breathe + if(vsc.plc.EYE_BURNS && species.breath_type && (species.breath_type != GAS_PHORON)) //VOREStation Edit: those who don't breathe var/burn_eyes = 1 //Check for protective glasses @@ -131,7 +131,7 @@ var/image/contamination_overlay = image('icons/effects/contamination.dmi') burn_eyes() //Genetic Corruption - if(vsc.plc.GENETIC_CORRUPTION && (species.breath_type != "phoron")) + if(vsc.plc.GENETIC_CORRUPTION && (species.breath_type != GAS_PHORON)) if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION) randmutb(src) to_chat(src, span_danger("High levels of toxins cause you to spontaneously mutate!")) diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index a67970c63a..ba155379a3 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -237,7 +237,7 @@ //Create gas mixture to hold data for passing var/datum/gas_mixture/GM = new - GM.adjust_multi("oxygen", oxygen, "carbon_dioxide", carbon_dioxide, "nitrogen", nitrogen, "phoron", phoron) + GM.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron) GM.temperature = temperature return GM @@ -247,10 +247,10 @@ var/sum = oxygen + carbon_dioxide + nitrogen + phoron if(sum>0) - GM.gas["oxygen"] = (oxygen/sum)*amount - GM.gas["carbon_dioxide"] = (carbon_dioxide/sum)*amount - GM.gas["nitrogen"] = (nitrogen/sum)*amount - GM.gas["phoron"] = (phoron/sum)*amount + GM.gas[GAS_O2] = (oxygen/sum)*amount + GM.gas[GAS_CO2] = (carbon_dioxide/sum)*amount + GM.gas[GAS_N2] = (nitrogen/sum)*amount + GM.gas[GAS_PHORON] = (phoron/sum)*amount GM.temperature = temperature GM.update_values() @@ -293,7 +293,7 @@ /turf/proc/make_air() air = new/datum/gas_mixture air.temperature = temperature - air.adjust_multi("oxygen", oxygen, "carbon_dioxide", carbon_dioxide, "nitrogen", nitrogen, "phoron", phoron) + air.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron) air.group_multiplier = 1 air.volume = CELL_VOLUME diff --git a/code/ZAS/Variable Settings.dm b/code/ZAS/Variable Settings.dm index 8867060e6f..1b097b776c 100644 --- a/code/ZAS/Variable Settings.dm +++ b/code/ZAS/Variable Settings.dm @@ -110,7 +110,7 @@ var/global/vs_control/vsc = new vw = vars[ch] if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"] if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"] - dat += span_bold("[vw_name] = [vw]") + " \[Change\]
" + dat += span_bold("[vw_name] = [vw]") + " \[Change\]
" dat += "[vw_desc]

" user << browse(dat,"window=settings") diff --git a/code/ZAS/Zone.dm b/code/ZAS/Zone.dm index b6d012afe7..c38b92199e 100644 --- a/code/ZAS/Zone.dm +++ b/code/ZAS/Zone.dm @@ -171,8 +171,8 @@ Class Procs: to_chat(M,name) for(var/g in air.gas) to_chat(M, "[gas_data.name[g]]: [air.gas[g]]") - to_chat(M, "P: [air.return_pressure()] kPa V: [air.volume]L T: [air.temperature]�K ([air.temperature - T0C]�C)") - to_chat(M, "O2 per N2: [(air.gas["nitrogen"] ? air.gas["oxygen"]/air.gas["nitrogen"] : "N/A")] Moles: [air.total_moles]") + to_chat(M, "P: [air.return_pressure()] kPa V: [air.volume]L T: [air.temperature]°K ([air.temperature - T0C]°C)") + to_chat(M, "O2 per N2: [(air.gas[GAS_N2] ? air.gas[GAS_O2]/air.gas[GAS_N2] : "N/A")] Moles: [air.total_moles]") to_chat(M, "Simulated: [contents.len] ([air.group_multiplier])") //to_chat(M, "Unsimulated: [unsimulated_contents.len]") //to_chat(M, "Edges: [edges.len]") diff --git a/code/__defines/_fruits.dm b/code/__defines/_fruits.dm new file mode 100644 index 0000000000..827d64b471 --- /dev/null +++ b/code/__defines/_fruits.dm @@ -0,0 +1,134 @@ +#define PLANT_AMBROSIA "ambrosia" +#define PLANT_APPLE "apple" +#define PLANT_BANANA "banana" +#define PLANT_BERRIES "berries" +#define PLANT_CABBAGE "cabbage" +#define PLANT_CARROT "carrot" +#define PLANT_CELERY "celery" +#define PLANT_CHERRY "cherry" +#define PLANT_CHILI "chili" +#define PLANT_COCOA "cocoa" +#define PLANT_CORN "corn" +#define PLANT_DURIAN "durian" +#define PLANT_EGGPLANT "eggplant" +#define PLANT_GRAPES "grapes" +#define PLANT_GREENGRAPES "greengrapes" +#define PLANT_HAREBELLS "harebells" +#define PLANT_LAVENDER "lavender" +#define PLANT_LEMON "lemon" +#define PLANT_LETTUCE "lettuce" +#define PLANT_LIME "lime" +#define PLANT_ONION "onion" +#define PLANT_ORANGE "orange" +#define PLANT_PEANUT "peanut" +#define PLANT_POPPIES "poppies" +#define PLANT_POTATO "potato" +#define PLANT_PUMPKIN "pumpkin" +#define PLANT_RICE "rice" +#define PLANT_ROSE "rose" +#define PLANT_RHUBARB "rhubarb" +#define PLANT_SOYBEAN "soybean" +#define PLANT_SPINEAPPLE "spineapple" +#define PLANT_SUGARCANE "sugarcane" +#define PLANT_SUNFLOWERS "sunflowers" +#define PLANT_TOMATO "tomato" +#define PLANT_VANILLA "vanilla" +#define PLANT_WATERMELON "watermelon" +#define PLANT_WHEAT "wheat" +#define PLANT_WHITEBEET "whitebeet" +#define PLANT_DIONA "diona" +#define PLANT_GHOSTCHILI "ghostchili" +#define PLANT_PLASTIC "plastic" +#define PLANT_SHAND "shand" +#define PLANT_MTEAR "mtear" +#define PLANT_GLOWBERRIES "glowberries" +#define PLANT_PEPPERCORNS "peppercorns" +#define PLANT_BLOODTOMATO "bloodtomato" +#define PLANT_KILLERTOMATO "killertomato" +#define PLANT_BLUETOMATO "bluetomato" +#define PLANT_BLUESPACETOMATO "bluespacetomato" +#define PLANT_ICECHILI "icechili" +#define PLANT_REISHI "reishi" +#define PLANT_AMANITA "amanita" +#define PLANT_DESTROYINGANGEL "destroyingangel" +#define PLANT_LIBERTYCAP "libertycap" +#define PLANT_MUSHROOMS "mushrooms" +#define PLANT_TOWERCAP "towercap" +#define PLANT_REDCAP "redcap" +#define PLANT_GLOWSHROOM "glowshroom" +#define PLANT_PLUMPHELMET "plumphelmet" +#define PLANT_SPORESHROOM "sporeshroom" +#define PLANT_NETTLE "nettle" +#define PLANT_DEATHNETTLE "deathnettle" +#define PLANT_WEEDS "weeds" +#define PLANT_MOLD "mold" +#define PLANT_POISONAPPLE "poisonapple" +#define PLANT_GOLDAPPLE "goldapple" +#define PLANT_AMBROSIADEUS "ambrosiadeus" +#define PLANT_AMBROSIAGAIA "ambrosiagaia" +#define PLANT_AMBROSIAINFERNUS "ambrosiainfernus" +#define PLANT_POISONBERRIES "poisonberries" +#define PLANT_DEATHBERRIES "deathberries" +#define PLANT_GRASS "grass" +#define PLANT_CARPET "carpet" +#define PLANT_TOBACCO "tobacco" +#define PLANT_KUDZU "kudzu" +#define PLANT_JURLMAH "jurlmah" +#define PLANT_AMAURI "amauri" +#define PLANT_GELTHI "gelthi" +#define PLANT_VALE "vale" +#define PLANT_SURIK "surik" +#define PLANT_TELRIIS "telriis" +#define PLANT_THAADRA "thaadra" +#define PLANT_WHITEWABBACK "whitewabback" +#define PLANT_BLACKWABBACK "blackwabback" +#define PLANT_WILDWABBACK "wildwabback" +#define PLANT_SIFLETTUCE "siflettuce" +#define PLANT_EGG_PLANT "egg-plant" +#define PLANT_PINEAPPLE "pineapple" +#define PLANT_BLOODROSE "bloodrose" +#define PLANT_GNOMES "gnomes" +#define PLANT_SIFBULB "sifbulb" +#define PLANT_WURMWOAD "wurmwoad" +#define PLANT_MICROM "microm" +#define PLANT_MEGAM "megam" + +GLOBAL_LIST_INIT(acceptable_fruit_types, list( + PLANT_AMBROSIA, + PLANT_APPLE, + PLANT_BANANA, + PLANT_BERRIES, + PLANT_CABBAGE, + PLANT_CARROT, + PLANT_CELERY, + PLANT_CHERRY, + PLANT_CHILI, + PLANT_COCOA, + PLANT_CORN, + PLANT_DURIAN, + PLANT_EGGPLANT, + PLANT_GRAPES, + PLANT_GREENGRAPES, + PLANT_HAREBELLS, + PLANT_LAVENDER, + PLANT_LEMON, + PLANT_LETTUCE, + PLANT_LIME, + PLANT_ONION, + PLANT_ORANGE, + PLANT_PEANUT, + PLANT_POPPIES, + PLANT_POTATO, + PLANT_PUMPKIN, + PLANT_RICE, + PLANT_ROSE, + PLANT_RHUBARB, + PLANT_SOYBEAN, + PLANT_SPINEAPPLE, + PLANT_SUGARCANE, + PLANT_SUNFLOWERS, + PLANT_TOMATO, + PLANT_VANILLA, + PLANT_WATERMELON, + PLANT_WHEAT, + PLANT_WHITEBEET)) diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm index 7da2ddbfe8..c0af4ea1e1 100644 --- a/code/__defines/_planes+layers.dm +++ b/code/__defines/_planes+layers.dm @@ -106,6 +106,8 @@ What is the naming convention for planes or layers? // Invisible things plane #define CLOAKED_PLANE -15 +#define PLANE_CH_STOMACH -11 //Stomach Plane + // Top plane (in the sense that it's the highest in 'the world' and not a UI element) #define ABOVE_PLANE -10 @@ -161,6 +163,12 @@ What is the naming convention for planes or layers? #define PLANE_CH_SPECIAL 23 //Special role icon (revhead or w/e) #define PLANE_CH_STATUS_OOC 24 //OOC status hud for spooks +// "Character HUDs", aka HUDs, but not the game's UI. Things like medhuds. +#define PLANE_CH_HEALTH_VR 26 //Hidden healthbar when at full health +#define PLANE_CH_STATUS_R 27 //Right-side status icon +#define PLANE_CH_BACKUP 28 //Backup implant +#define PLANE_CH_VANTAG 29 //Vore Antag hud + #define PLANE_MESONS 30 //Stuff seen with mesons, like open ceilings. This is 30 for downstreams. #define PLANE_JANHUD 31 //Stuff seen with janiHUD. Mostly highlight of dirt. @@ -168,6 +176,9 @@ What is the naming convention for planes or layers? #define PLANE_BUILDMODE 39 //Things that only show up when you have buildmode on +#define PLANE_AUGMENTED 40 //Augmented-reality plane +#define PLANE_SOULCATCHER 41 //Soulcatcher + //Fullscreen overlays under inventory #define PLANE_FULLSCREEN 90 //Blindness, mesons, druggy, etc #define OBFUSCATION_LAYER 5 //Where images covering the view for eyes are put diff --git a/code/__defines/_planes+layers_vr.dm b/code/__defines/_planes+layers_vr.dm deleted file mode 100644 index a9266aa701..0000000000 --- a/code/__defines/_planes+layers_vr.dm +++ /dev/null @@ -1,8 +0,0 @@ -// "Character HUDs", aka HUDs, but not the game's UI. Things like medhuds. -#define PLANE_CH_HEALTH_VR 26 //Hidden healthbar when at full health -#define PLANE_CH_STATUS_R 27 //Right-side status icon -#define PLANE_CH_BACKUP 28 //Backup implant -#define PLANE_CH_VANTAG 29 //Vore Antag hud -#define PLANE_CH_STOMACH -11 //Stomach Plane - -#define PLANE_AUGMENTED 40 //Augmented-reality plane diff --git a/code/__defines/_reagents.dm b/code/__defines/_reagents.dm new file mode 100644 index 0000000000..5c3a1720bb --- /dev/null +++ b/code/__defines/_reagents.dm @@ -0,0 +1,1346 @@ +// Gasses + +#define GAS_CO2 "carbon_dioxide" +#define GAS_N2 "nitrogen" +#define GAS_N2O "nitrous_oxide" +#define GAS_O2 "oxygen" +#define GAS_PHORON "phoron" +#define GAS_VOLATILE_FUEL "volatile_fuel" + +// Gas Reagents +#define REAGENT_CARBON_DIOXIDE "Carbon Dioxide" +#define REAGENT_NITROGEN "Nitrogen" +#define REAGENT_ID_NITROGEN "nitrogen" +#define REAGENT_NITROUS_OXIDE "Nitrous Oxide" +#define REAGENT_OXYGEN "Oxygen" +#define REAGENT_ID_OXYGEN "oxygen" +#define REAGENT_VOLATILE_FUEL "Volatile Fuel" +#define REAGENT_HYDROGEN "Hydrogen" +#define REAGENT_ID_HYDROGEN "hydrogen" +#define REAGENT_FLUORINE "Fluorine" +#define REAGENT_ID_FLUORINE "fluorine" +#define REAGENT_CHLORINE "Chlorine" +#define REAGENT_ID_CHLORINE "chlorine" + + +// Fluid Reagents +#define REAGENT_ETHANOL "Ethanol" +#define REAGENT_ID_ETHANOL "ethanol" +#define REAGENT_SACID "Sulphuric acid" +#define REAGENT_ID_SACID "sacid" +#define REAGENT_BLOOD "Blood" +#define REAGENT_ID_BLOOD "blood" +#define REAGENT_SYNTHBLOOD "synthetic blood" +#define REAGENT_ID_SYNTHBLOOD "synthblood" +#define REAGENT_SYNTHBLOOD_DILUTE "synthetic plasma" +#define REAGENT_ID_SYNTHBLOOD_DILUTE "synthblood_dilute" +#define REAGENT_ANTIBODIES "Antibodies" +#define REAGENT_ID_ANTIBODIES "antibodies" +#define REAGENT_WATER "Water" +#define REAGENT_ID_WATER "water" +#define REAGENT_FUEL "Welding fuel" +#define REAGENT_ID_FUEL "fuel" + + +// Solid Reagents +#define REAGENT_IRON "Iron" +#define REAGENT_ID_IRON "iron" +#define REAGENT_LITHIUM "Lithium" +#define REAGENT_ID_LITHIUM "lithium" +#define REAGENT_ALUMINIUM "Aluminum" +#define REAGENT_ID_ALUMINIUM "aluminum" +#define REAGENT_CALCIUM "Calcium" +#define REAGENT_ID_CALCIUM "calcium" +#define REAGENT_CARBON "Carbon" +#define REAGENT_ID_CARBON "carbon" +#define REAGENT_COPPER "Copper" +#define REAGENT_ID_COPPER "copper" +#define REAGENT_MERCURY "Mercury" +#define REAGENT_ID_MERCURY "mercury" +#define REAGENT_PHOSPHORUS "Phosphorus" +#define REAGENT_ID_PHOSPHORUS "phosphorus" +#define REAGENT_POTASSIUM "Potassium" +#define REAGENT_ID_POTASSIUM "potassium" +#define REAGENT_RADIUM "Radium" +#define REAGENT_ID_RADIUM "radium" +#define REAGENT_SILICON "Silicon" +#define REAGENT_ID_SILICON "silicon" +#define REAGENT_SODIUM "Sodium" +#define REAGENT_ID_SODIUM "sodium" +#define REAGENT_SUGAR "Sugar" +#define REAGENT_ID_SUGAR "sugar" +#define REAGENT_SULFUR "Sulfur" +#define REAGENT_ID_SULFUR "sulfur" +#define REAGENT_TUNGSTEN "Tungsten" +#define REAGENT_ID_TUNGSTEN "tungsten" +#define REAGENT_NUTRIMENT "Nutriment" +#define REAGENT_ID_NUTRIMENT "nutriment" +#define REAGENT_STEEL "Liquid Steel" +#define REAGENT_ID_STEEL "steel" +#define REAGENT_PLASTEEL "Liquid Plasteel" +#define REAGENT_ID_PLASTEEL "plasteel" + + +// Xeno chem react +#define XENO_CHEM_NUTRI "nutr" +#define XENO_CHEM_MUT "mut" +#define XENO_CHEM_TOXIC "toxic" +#define XENO_CHEM_HEAL "heal" + + +// VR reagents +#define REAGENT_SIZEOXADONE "Sizeoxadone" +#define REAGENT_ID_SIZEOXADONE "sizeoxadone" +#define REAGENT_MACROCILLIN "Macrocillin" +#define REAGENT_ID_MACROCILLIN "macrocillin" +#define REAGENT_MICROCILLIN "Microcillin" +#define REAGENT_ID_MICROCILLIN "microcillin" +#define REAGENT_NORMALCILLIN "Normalcillin" +#define REAGENT_ID_NORMALCILLIN "normalcillin" +#define REAGENT_ICKYPAK "Ickypak" +#define REAGENT_ID_ICKYPAK "ickypak" +#define REAGENT_UNSORBITOL "Unsorbitol" +#define REAGENT_ID_UNSORBITOL "unsorbitol" +#define REAGENT_AMORPHOROVIR "Amorphorovir" +#define REAGENT_ID_AMORPHOROVIR "amorphorovir" +#define REAGENT_ANDROROVIR "Androrovir" +#define REAGENT_ID_ANDROROVIR "androrovir" +#define REAGENT_GYNOROVIR "Gynorovir" +#define REAGENT_ID_GYNOROVIR "gynorovir" +#define REAGENT_ANDROGYNOROVIR "Androgynorovir" +#define REAGENT_ID_ANDROGYNOROVIR "androgynorovir" +#define REAGENT_RAINBOWTOXIN "Rainbow Toxin" +#define REAGENT_ID_RAINBOWTOXIN "rainbowtoxin" +#define REAGENT_PARALYSISTOXIN "Tetrodotoxin" +#define REAGENT_ID_PARALYSISTOXIN "paralysistoxin" +#define REAGENT_PAINENZYME "Pain Enzyme" +#define REAGENT_ID_PAINENZYME "painenzyme" + + +// Drugs +#define REAGENT_DRUGS "generic drugs" +#define REAGENT_ID_DRUGS "drugs" +#define REAGENT_BLISS "Bliss" +#define REAGENT_ID_BLISS "bliss" +#define REAGENT_AMBROSIAEXTRACT "Ambrosia extract" +#define REAGENT_ID_AMBROSIAEXTRACT "ambrosia_extract" +#define REAGENT_PSILOCYBIN "Psilocybin" +#define REAGENT_ID_PSILOCYBIN "psilocybin" +#define REAGENT_TALUMQUEM "Talum-quem" +#define REAGENT_ID_TALUMQUEM "talum_quem" +#define REAGENT_NICOTINE "Nicotine" +#define REAGENT_ID_NICOTINE "nicotine" +#define REAGENT_METHYLPHENIDATE "Methylphenidate" +#define REAGENT_ID_METHYLPHENIDATE "methylphenidate" +#define REAGENT_CITALOPRAM "Citalopram" +#define REAGENT_ID_CITALOPRAM "citalopram" +#define REAGENT_PAROXETINE "Paroxetine" +#define REAGENT_ID_PAROXETINE "paroxetine" +#define REAGENT_QERRQUEM "Qerr-quem" +#define REAGENT_ID_QERRQUEM "qerr_quem" + + +// Modifiers +#define REAGENT_BERSERKMED "brute juice" +#define REAGENT_ID_BERSERKMED "berserkmed" +#define REAGENT_CRYOSLURRY "cryogenic slurry" +#define REAGENT_ID_CRYOSLURRY "cryoslurry" +#define REAGENT_VATSTABILIZER "clone growth inhibitor" +#define REAGENT_ID_VATSTABILIZER "vatstabilizer" + + +// Medicines +#define REAGENT_ADRANOL "Adranol" +#define REAGENT_ID_ADRANOL "adranol" +#define REAGENT_NUMBENZYME "Numbing Enzyme" +#define REAGENT_ID_NUMBENZYME "numbenzyme" +#define REAGENT_VERMICETOL "Vermicetol" +#define REAGENT_ID_VERMICETOL "vermicetol" +#define REAGENT_SLEEVINGCURE "Kitsuhanan Cure" +#define REAGENT_ID_SLEEVINGCURE "sleevingcure" +#define REAGENT_PRUSSIANBLUE "Prussian Blue" +#define REAGENT_ID_PRUSSIANBLUE "prussian_blue" +#define REAGENT_LIPOZILASE "Lipozilase" +#define REAGENT_ID_LIPOZILASE "lipozilase" +#define REAGENT_LIPOSTIPO "Lipostipo" +#define REAGENT_ID_LIPOSTIPO "lipostipo" +#define REAGENT_POLYMORPH "Transforitine" +#define REAGENT_ID_POLYMORPH "polymorph" +#define REAGENT_GLAMOUR "Glamour" +#define REAGENT_ID_GLAMOUR "glamour" +#define REAGENT_INAPROVALINE "Inaprovaline" +#define REAGENT_ID_INAPROVALINE "inaprovaline" +#define REAGENT_INAPROVALAZE "Inaprovalaze" +#define REAGENT_ID_INAPROVALAZE "inaprovalaze" +#define REAGENT_BICARIDINE "Bicaridine" +#define REAGENT_ID_BICARIDINE "bicaridine" +#define REAGENT_BICARIDAZE "Bicaridaze" +#define REAGENT_ID_BICARIDAZE "bicaridaze" +#define REAGENT_CALCIUMCARBONATE "calcium carbonate" +#define REAGENT_ID_CALCIUMCARBONATE "calciumcarbonate" +#define REAGENT_KELOTANE "Kelotane" +#define REAGENT_ID_KELOTANE "kelotane" +#define REAGENT_DERMALINE "Dermaline" +#define REAGENT_ID_DERMALINE "dermaline" +#define REAGENT_DERMALAZE "Dermalaze" +#define REAGENT_ID_DERMALAZE "dermalaze" +#define REAGENT_ANTITOXIN "Dylovene" +#define REAGENT_ID_ANTITOXIN "anti_toxin" +#define REAGENT_CARTHATOLINE "Carthatoline" +#define REAGENT_ID_CARTHATOLINE "carthatoline" +#define REAGENT_DEXALIN "Dexalin" +#define REAGENT_ID_DEXALIN "dexalin" +#define REAGENT_DEXALINP "Dexalin Plus" +#define REAGENT_ID_DEXALINP "dexalinp" +#define REAGENT_TRICORDRAZINE "Tricordrazine" +#define REAGENT_ID_TRICORDRAZINE "tricordrazine" +#define REAGENT_TRICORLIDAZE "Tricorlidaze" +#define REAGENT_ID_TRICORLIDAZE "tricorlidaze" +#define REAGENT_CRYOXADONE "Cryoxadone" +#define REAGENT_ID_CRYOXADONE "cryoxadone" +#define REAGENT_CLONEXADONE "Clonexadone" +#define REAGENT_ID_CLONEXADONE "clonexadone" +#define REAGENT_MORTIFERIN "Mortiferin" +#define REAGENT_ID_MORTIFERIN "mortiferin" +#define REAGENT_NECROXADONE "Necroxadone" +#define REAGENT_ID_NECROXADONE "necroxadone" +#define REAGENT_PARACETAMOL "Paracetamol" +#define REAGENT_ID_PARACETAMOL "paracetamol" +#define REAGENT_TRAMADOL "Tramadol" +#define REAGENT_ID_TRAMADOL "tramadol" +#define REAGENT_OXYCODONE "Oxycodone" +#define REAGENT_ID_OXYCODONE "oxycodone" +#define REAGENT_SYNAPTIZINE "Synaptizine" +#define REAGENT_ID_SYNAPTIZINE "synaptizine" +#define REAGENT_HYPERZINE "Hyperzine" +#define REAGENT_ID_HYPERZINE "hyperzine" +#define REAGENT_ALKYSINE "Alkysine" +#define REAGENT_ID_ALKYSINE "alkysine" +#define REAGENT_IMIDAZOLINE "Imidazoline" +#define REAGENT_ID_IMIDAZOLINE "imidazoline" +#define REAGENT_PERIDAXON "Peridaxon" +#define REAGENT_ID_PERIDAXON "peridaxon" +#define REAGENT_OSTEODAXON "Osteodaxon" +#define REAGENT_ID_OSTEODAXON "osteodaxon" +#define REAGENT_MYELAMINE "Myelamine" +#define REAGENT_ID_MYELAMINE "myelamine" +#define REAGENT_RESPIRODAXON "Respirodaxon" +#define REAGENT_ID_RESPIRODAXON "respirodaxon" +#define REAGENT_GASTIRODAXON "Gastirodaxon" +#define REAGENT_ID_GASTIRODAXON "gastirodaxon" +#define REAGENT_HEPANEPHRODAXON "Hepanephrodaxon" +#define REAGENT_ID_HEPANEPHRODAXON "hepanephrodaxon" +#define REAGENT_CORDRADAXON "Cordradaxon" +#define REAGENT_ID_CORDRADAXON "cordradaxon" +#define REAGENT_IMMUNOSUPRIZINE "Immunosuprizine" +#define REAGENT_ID_IMMUNOSUPRIZINE "immunosuprizine" +#define REAGENT_MALISHQUALEM "Malish-Qualem" +#define REAGENT_ID_MALISHQUALEM "malish-qualem" +#define REAGENT_RYETALYN "Ryetalyn" +#define REAGENT_ID_RYETALYN "ryetalyn" +#define REAGENT_ETHYLREDOXRAZINE "Ethylredoxrazine" +#define REAGENT_ID_ETHYLREDOXRAZINE "ethylredoxrazine" +#define REAGENT_HYRONALIN "Hyronalin" +#define REAGENT_ID_HYRONALIN "hyronalin" +#define REAGENT_ARITHRAZINE "Arithrazine" +#define REAGENT_ID_ARITHRAZINE "arithrazine" +#define REAGENT_SPACEACILLIN "Spaceacillin" +#define REAGENT_ID_SPACEACILLIN "spaceacillin" +#define REAGENT_COROPHIZINE "Corophizine" +#define REAGENT_ID_COROPHIZINE "corophizine" +#define REAGENT_SPACOMYCAZE "Spacomycaze" +#define REAGENT_ID_SPACOMYCAZE "spacomycaze" +#define REAGENT_STERILIZINE "Sterilizine" +#define REAGENT_ID_STERILIZINE "sterilizine" +#define REAGENT_LEPORAZINE "Leporazine" +#define REAGENT_ID_LEPORAZINE "leporazine" +#define REAGENT_REZADONE "Rezadone" +#define REAGENT_ID_REZADONE "rezadone" +#define REAGENT_HEALINGNANITES "Restorative Nanites" +#define REAGENT_ID_HEALINGNANITES "healing_nanites" +#define REAGENT_MENTHOL "Menthol" +#define REAGENT_ID_MENTHOL "menthol" +#define REAGENT_EARTHSBLOOD "Earthsblood" +#define REAGENT_ID_EARTHSBLOOD "earthsblood" + + +// Virology +#define REAGENT_VACCINE "Vaccine" +#define REAGENT_ID_VACCINE "vaccine" +#define REAGENT_MUTAGENVIRUSFOOD "Mutagenic agar" +#define REAGENT_ID_MUTAGENVIRUSFOOD "mutagenvirusfood" +#define REAGENT_SUGARVIRUSFOOD "Sucrose agar" +#define REAGENT_ID_SUGARVIRUSFOOD "sugarvirusfood" +#define REAGENT_ADRANOLVIRUSFOOD "Virus rations" +#define REAGENT_ID_ADRANOLVIRUSFOOD "adranolvirusfood" +#define REAGENT_PHORONVIRUSFOOD "Phoronic virus food" +#define REAGENT_ID_PHORONVIRUSFOOD "phoronvirusfood" +#define REAGENT_WEAKPHORONVIRUSFOOD "Weakened phoronic virus food" +#define REAGENT_ID_WEAKPHORONVIRUSFOOD "weakphoronvirusfood" +#define REAGENT_SIZEVIRUSFOOD "Sizeoxadone virus food" +#define REAGENT_ID_SIZEVIRUSFOOD "sizevirusfood" + + +// Misc reagents +#define REAGENT_ADVMUTATIONTOXIN "Advanced Mutation Toxin" +#define REAGENT_ID_ADVMUTATIONTOXIN "advmutationtoxin" +#define REAGENT_NIFREPAIRNANITES "Programmed Nanomachines" +#define REAGENT_ID_NIFREPAIRNANITES "nifrepairnanites" +#define REAGENT_FIREFOAM "Firefighting Foam" +#define REAGENT_ID_FIREFOAM "firefoam" +#define REAGENT_LIQUIDPROTEAN "Liquid protean" +#define REAGENT_ID_LIQUIDPROTEAN "liquid_protean" +#define REAGENT_SHOCKCHEM "200 V" +#define REAGENT_ID_SHOCKCHEM "shockchem" +#define REAGENT_CRAYONDUST "Crayon dust" +#define REAGENT_ID_CRAYONDUST "crayon_dust" +#define REAGENT_CRAYONDUSTRED "Red crayon dust" +#define REAGENT_ID_CRAYONDUSTRED "crayon_dust_red" +#define REAGENT_CRAYONDUSTORANGE "Orange crayon dust" +#define REAGENT_ID_CRAYONDUSTORANGE "crayon_dust_orange" +#define REAGENT_CRAYONDUSTYELLOW "Yellow crayon dust" +#define REAGENT_ID_CRAYONDUSTYELLOW "crayon_dust_yellow" +#define REAGENT_CRAYONDUSTGREEN "Green crayon dust" +#define REAGENT_ID_CRAYONDUSTGREEN "crayon_dust_green" +#define REAGENT_CRAYONDUSTBLUE "Blue crayon dust" +#define REAGENT_ID_CRAYONDUSTBLUE "crayon_dust_blue" +#define REAGENT_CRAYONDUSTPURPLE "Purple crayon dust" +#define REAGENT_ID_CRAYONDUSTPURPLE "crayon_dust_purple" +#define REAGENT_CRAYONDUSTGREY "Grey crayon dust" +#define REAGENT_ID_CRAYONDUSTGREY "crayon_dust_grey" +#define REAGENT_CRAYONDUSTBROWN "Brown crayon dust" +#define REAGENT_ID_CRAYONDUSTBROWN "crayon_dust_brown" +#define REAGENT_MARKERINK "Marker ink" +#define REAGENT_ID_MARKERINK "marker_ink" +#define REAGENT_MARKERINKBLACK "Black marker ink" +#define REAGENT_ID_MARKERINKBLACK "marker_ink_black" +#define REAGENT_MARKERINKRED "Red marker ink" +#define REAGENT_ID_MARKERINKRED "marker_ink_red" +#define REAGENT_MARKERINKORANGE "Orange marker ink" +#define REAGENT_ID_MARKERINKORANGE "marker_ink_orange" +#define REAGENT_MARKERINKYELLOW "Yellow marker ink" +#define REAGENT_ID_MARKERINKYELLOW "marker_ink_yellow" +#define REAGENT_MARKERINKGREEN "Green marker ink" +#define REAGENT_ID_MARKERINKGREEN "marker_ink_green" +#define REAGENT_MARKERINKBLUE "Blue marker ink" +#define REAGENT_ID_MARKERINKBLUE "marker_ink_blue" +#define REAGENT_MARKERINKPURPLE "Purple marker ink" +#define REAGENT_ID_MARKERINKPURPLE "marker_ink_purple" +#define REAGENT_MARKERINKGREY "Grey marker ink" +#define REAGENT_ID_MARKERINKGREY "marker_ink_grey" +#define REAGENT_MARKERINKBROWN "Brown marker ink" +#define REAGENT_ID_MARKERINKBROWN "marker_ink_brown" +#define REAGENT_PAINT "Paint" +#define REAGENT_ID_PAINT "paint" +#define REAGENT_GOLD "Gold" +#define REAGENT_ID_GOLD "gold" +#define REAGENT_SILVER "Silver" +#define REAGENT_ID_SILVER "silver" +#define REAGENT_PLATINUM "Platinum" +#define REAGENT_ID_PLATINUM "platinum" +#define REAGENT_URANIUM "Uranium" +#define REAGENT_ID_URANIUM "uranium" +#define REAGENT_DEUTERIUM "Deuterium" +#define REAGENT_ID_DEUTERIUM "deuterium" +#define REAGENT_TRITIUM "Tritium" +#define REAGENT_ID_TRITIUM "tritium" +#define REAGENT_LITHIUM6 "Lithium-6" +#define REAGENT_ID_LITHIUM6 "lithium6" +#define REAGENT_HELIUM3 "Helium-3" +#define REAGENT_ID_HELIUM3 "helium3" +#define REAGENT_BORON11 "Boron-11" +#define REAGENT_ID_BORON11 "boron11" +#define REAGENT_SUPERMATTER "Supermatter" +#define REAGENT_ID_SUPERMATTER "supermatter" +#define REAGENT_ADRENALINE "Adrenaline" +#define REAGENT_ID_ADRENALINE "adrenaline" +#define REAGENT_HOLYWATER "Holy Water" +#define REAGENT_ID_HOLYWATER "holywater" +#define REAGENT_AMMONIA "Ammonia" +#define REAGENT_ID_AMMONIA "ammonia" +#define REAGENT_DIETHYLAMINE "Diethylamine" +#define REAGENT_ID_DIETHYLAMINE "diethylamine" +#define REAGENT_FLUOROSURFACTANT "Fluorosurfactant" +#define REAGENT_ID_FLUOROSURFACTANT "fluorosurfactant" +#define REAGENT_FOAMINGAGENT "Foaming agent" +#define REAGENT_ID_FOAMINGAGENT "foaming_agent" +#define REAGENT_THERMITE "Thermite" +#define REAGENT_ID_THERMITE "thermite" +#define REAGENT_CLEANER "Space cleaner" +#define REAGENT_ID_CLEANER "cleaner" +#define REAGENT_LUBE "Space Lube" +#define REAGENT_ID_LUBE "lube" +#define REAGENT_SILICATE "Silicate" +#define REAGENT_ID_SILICATE "silicate" +#define REAGENT_GLYCEROL "Glycerol" +#define REAGENT_ID_GLYCEROL "glycerol" +#define REAGENT_NITROGLYCERIN "Nitroglycerin" +#define REAGENT_ID_NITROGLYCERIN "nitroglycerin" +#define REAGENT_COOLANT "Coolant" +#define REAGENT_ID_COOLANT "coolant" +#define REAGENT_GLUE "Ultra Glue" +#define REAGENT_ID_GLUE "glue" +#define REAGENT_WOODPULP "Wood Pulp" +#define REAGENT_ID_WOODPULP "woodpulp" +#define REAGENT_LUMINOL "Luminol" +#define REAGENT_ID_LUMINOL "luminol" +#define REAGENT_BIOMASS "Biomass" +#define REAGENT_ID_BIOMASS "biomass" +#define REAGENT_MINERALIZEDFLUID "Mineral-Rich Fluid" +#define REAGENT_ID_MINERALIZEDFLUID "mineralizedfluid" +#define REAGENT_DEFECTIVENANITES "Defective Nanites" +#define REAGENT_ID_DEFECTIVENANITES "defective_nanites" +#define REAGENT_FISHBAIT "Fish Bait" +#define REAGENT_ID_FISHBAIT "fishbait" +#define REAGENT_LIQUIDCARPET "Liquid Carpet" +#define REAGENT_ID_LIQUIDCARPET "liquidcarpet" +#define REAGENT_LIQUIDCARPETB "Liquid Black Carpet" +#define REAGENT_ID_LIQUIDCARPETB "liquidcarpetb" +#define REAGENT_LIQUIDCARPETBLU "Liquid Blue Carpet" +#define REAGENT_ID_LIQUIDCARPETBLU "liquidcarpetblu" +#define REAGENT_LIQUIDCARPETTUR "Liquid Turquoise Carpet" +#define REAGENT_ID_LIQUIDCARPETTUR "liquidcarpettur" +#define REAGENT_LIQUIDCARPETSBLU "Liquid Silver Blue Carpet" +#define REAGENT_ID_LIQUIDCARPETSBLU "liquidcarpetsblu" +#define REAGENT_LIQUIDCARPETC "Liquid Clown Carpet" +#define REAGENT_ID_LIQUIDCARPETC "liquidcarpetc" +#define REAGENT_LIQUIDCARPETP "Liquid Purple Carpet" +#define REAGENT_ID_LIQUIDCARPETP "liquidcarpetp" +#define REAGENT_LIQUIDCARPETO "Liquid Orange Carpet" +#define REAGENT_ID_LIQUIDCARPETO "liquidcarpeto" +#define REAGENT_ESSENTIALOIL "Essential Oils" +#define REAGENT_ID_ESSENTIALOIL "essential_oil" + + +// Admin chems +#define REAGENT_ADMINORDRAZINE "Adminordrazine" +#define REAGENT_ID_ADMINORDRAZINE "adminordrazine" + + +// Foods & Drinks +#define REAGENT_MEATCOLONY "A colony of meat cells" +#define REAGENT_ID_MEATCOLONY "meatcolony" +#define REAGENT_PLANTCOLONY "A colony of plant cells" +#define REAGENT_ID_PLANTCOLONY "plantcolony" +#define REAGENT_GRUBSHAKE "Grub shake" +#define REAGENT_ID_GRUBSHAKE "grubshake" +#define REAGENT_BURNOUT "Burnout" +#define REAGENT_ID_BURNOUT "burnout" +#define REAGENT_MONSTERTAMER "Monster Tamer" +#define REAGENT_ID_MONSTERTAMER "monstertamer" +#define REAGENT_PINKRUSSIAN "Pink Russian" +#define REAGENT_ID_PINKRUSSIAN "pinkrussian" +#define REAGENT_ORIGINALSIN "Original Sin" +#define REAGENT_ID_ORIGINALSIN "originalsin" +#define REAGENT_NEWYORKSOUR "New York Sour" +#define REAGENT_ID_NEWYORKSOUR "newyorksour" +#define REAGENT_WINDGARITA "WND-Garita" +#define REAGENT_ID_WINDGARITA "windgarita" +#define REAGENT_MUDSLIDE "Mudslide" +#define REAGENT_ID_MUDSLIDE "mudslide" +#define REAGENT_GALACTICPANIC "Galactic Panic Attack" +#define REAGENT_ID_GALACTICPANIC "galacticpanic" +#define REAGENT_BULLDOG "Space Bulldog" +#define REAGENT_ID_BULLDOG "bulldog" +#define REAGENT_SBAGLIATO "Negroni Sbagliato" +#define REAGENT_ID_SBAGLIATO "sbagliato" +#define REAGENT_ITALIANCRISIS "Italian Crisis" +#define REAGENT_ID_ITALIANCRISIS "italiancrisis" +#define REAGENT_SUGARRUSH "Sweet Rush" +#define REAGENT_ID_SUGARRUSH "sugarrush" +#define REAGENT_LOTUS "Lotus" +#define REAGENT_ID_LOTUS "lotus" +#define REAGENT_SHROOMJUICE "Dumb Shroom Juice" +#define REAGENT_ID_SHROOMJUICE "shroomjuice" +#define REAGENT_RUSSIANROULETTE "Russian Roulette" +#define REAGENT_ID_RUSSIANROULETTE "russianroulette" +#define REAGENT_LOVEMAKER "The Love Maker" +#define REAGENT_ID_LOVEMAKER "lovemaker" +#define REAGENT_HONEYSHOT "Honey Shot" +#define REAGENT_ID_HONEYSHOT "honeyshot" +#define REAGENT_APPLETINI "Appletini" +#define REAGENT_ID_APPLETINIT "appletini" +#define REAGENT_GLOWINGAPPLETINI "Glowing Appletini" +#define REAGENT_ID_GLOWINGAPPLETINI "glowingappletini" +#define REAGENT_SCSATW "Slow Comfortable Screw Against the Wall" +#define REAGENT_ID_SCSATW "scsatw" +#define REAGENT_CHOCCYMILK "Choccy Milk" +#define REAGENT_ID_CHOCCYMILK "choccymilk" +#define REAGENT_REDSPACEFLUSH "Redspace Flush" +#define REAGENT_ID_REDSPACEFLUSH "redspaceflush" +#define REAGENT_GRAVEYARD "Graveyard" +#define REAGENT_ID_GRAVEYARD "graveyard" +#define REAGENT_BIGBEER "Giant Beer" +#define REAGENT_ID_BIGBEER "bigbeer" +#define REAGENT_MANAGERSUMMONER "Manager Summoner" +#define REAGENT_ID_MANAGERSUMMONER "manager_summoner" +#define REAGENT_SWEETTEA "Sweet Tea" +#define REAGENT_ID_SWEETTEA "sweettea" +#define REAGENT_UNSWEETTEA "Unsweetened Tea" +#define REAGENT_ID_UNSWEETTEA "unsweettea" +#define REAGENT_HAIROFTHERAT "Hair of the Rat" +#define REAGENT_ID_HAIROFTHERAT "hairoftherat" +#define REAGENT_BEPIS "Bepis Cola" +#define REAGENT_ID_BEPIS "bepis" +#define REAGENT_BUZZFUZZ "Buzz Fuzz" +#define REAGENT_ID_BUZZFUZZ "buzz_fuzz" +#define REAGENT_SPRITEDCRANBERRY "Sprited Cranberry" +#define REAGENT_ID_SPRITEDCRANBERRY "sprited_cranberry" +#define REAGENT_SHAMBLERS "Shambler's Juice" +#define REAGENT_ID_SHAMBLERS "shamblers" +#define REAGENT_BRAINPROTEIN "grey matter" +#define REAGENT_ID_BRAINPROTEIN "brain_protein" +#define REAGENT_ID_REDBRAINPROTEIN "red_brain_protein" +#define REAGENT_PROTEINPOWDER "Protein Powder" +#define REAGENT_ID_PROTEINPOWDER "protein_powder" +#define REAGENT_PROTEINSHAKE "Protein Shake" +#define REAGENT_ID_PROTEINSHAKE "protein_shake" +#define REAGENT_VANILLAPROTEINPOWDER "Vanilla Protein Powder" +#define REAGENT_ID_VANILLAPROTEINPOWDER "vanilla_protein_powder" +#define REAGENT_VANILLAPROTEINSHAKE "Vanilla Protein Shake" +#define REAGENT_ID_VANILLAPROTEINSHAKER "vanilla_protein_shake" +#define REAGENT_BANANAPROTEINPOWDER "Banana Protein Powder" +#define REAGENT_ID_BANANAPROTEINPOWDER "banana_protein_powder" +#define REAGENT_BANANAPROTEINSHAKE "Banana Protein Shake" +#define REAGENT_ID_BANANAPROTEINSHAKE "banana_protein_shake" +#define REAGENT_CHOCOLATEPROTEINPOWDER "Chocolate Protein Powder" +#define REAGENT_ID_CHOCOLATEPROTEINPOWDER "chocolate_protein_powder" +#define REAGENT_CHOCOLATEPROTEINSHAKE "Chocolate Protein Shake" +#define REAGENT_ID_CHOCOLATEPROTEINSHAKE "chocolate_protein_shake" +#define REAGENT_STRAWBERRYPROTEINPOWDER "Strawberry Protein Powder" +#define REAGENT_ID_STRAWBERRYPROTEINPOWDER "strawberry_protein_powder" +#define REAGENT_STRAWBERRYPROTEINSHAKE "Strawberry Protein Shake" +#define REAGENT_ID_STRAWBERRYPROTEINSHAKE "strawberry_protein_shake" +#define REAGENT_SOUP "Soup" +#define REAGENT_ID_SOUP "generic_soup" +#define REAGENT_TOMATOSOUP "Tomato Soup" +#define REAGENT_ID_TOMATOSOUP "tomato_soup" +#define REAGENT_MUSHROOMSOUP "Cream of Mushroom Soup" +#define REAGENT_ID_MUSHROOMSOUP "mushroom_soup" +#define REAGENT_CHICKENSOUP "Cream of Chicken Soup" +#define REAGENT_ID_CHICKENSOUP "chicken_soup" +#define REAGENT_CHICKENNOODLESOUP "Chicken Noodle Soup" +#define REAGENT_ID_CHICKENNOODLESOUP "chicken_noodle_soup" +#define REAGENT_ONIONSOUP "Onion Soup" +#define REAGENT_ID_ONIONSOUP "onion_soup" +#define REAGENT_VEGETABLESOUP "Vegetable Soup" +#define REAGENT_ID_VEGETABLESOUP "vegetable_soup" +#define REAGENT_BEETSOUP "Beet Soup" +#define REAGENT_ID_BEETSOUP "beet_soup" +#define REAGENT_HOTNSOURSOUP "Hot & Sour Soup" +#define REAGENT_ID_HOTNSOURSOUP "hot_n_sour_soup" +#define REAGENT_NUKIE "Nukie" +#define REAGENT_ID_NUKIE "nukie" +#define REAGENT_NUKIEPEACH "Nukie Peach" +#define REAGENT_ID_NUKIEPEACH "nukie_peach" +#define REAGENT_NUKIEPEAR "Nukie Pear" +#define REAGENT_ID_NUKIEPEAR "nukie_pear" +#define REAGENT_NUKIECHERRY "Nukie Cherry" +#define REAGENT_ID_NUKIECHERRY "nukie_cherry" +#define REAGENT_NUKIEMELON "Nukie Melon" +#define REAGENT_ID_NUKIEMELON "nukie_melon" +#define REAGENT_NUKIEBANANA "Nukie Banana" +#define REAGENT_ID_NUKIEBANANA "nukie_banana" +#define REAGENT_NUKIEROSE "Nukie Rose" +#define REAGENT_ID_NUKIEROSE "nukie_rose" +#define REAGENT_NUKIELEMON "Nukie Lemon" +#define REAGENT_ID_NUKIELEMON "nukie_lemon" +#define REAGENT_NUKIEFRUIT "Nukie Fruit" +#define REAGENT_ID_NUKIEFRUIT "nukie_fruit" +#define REAGENT_NUKIESPECIAL "Nukie Limited Edition" +#define REAGENT_ID_NUKIESPECIAL "nukie_special" +#define REAGENT_NUKIEMEGA "Mega Nukie" +#define REAGENT_ID_NUKIEMEGA "nukie_mega" +#define REAGENT_NUKIEMEGASIGHT "Nukie Mega Plum" +#define REAGENT_ID_NUKIEMEGASIGHT "nukie_mega_sight" +#define REAGENT_NUKIEMEGAHEART "Nukie Mega Juice" +#define REAGENT_ID_NUKIEMEGAHEART "nukie_mega_heart" +#define REAGENT_NUKIEMEGASLEEP "Nukie Nega" +#define REAGENT_ID_NUKIEMEGASLEEP "nukie_mega_sleep" +#define REAGENT_NUKIEMEGASHOCK "Nukie Mega Shock" +#define REAGENT_ID_NUKIEMEGASHOCK "nukie_mega_shock" +#define REAGENT_NUKIEMEGAFAST "Nukie Mega Rapid" +#define REAGENT_ID_NUKIEMEGAFAST "nukie_mega_fast" +#define REAGENT_NUKIEMEGAHIGH "Nukie Mega Sky" +#define REAGENT_ID_NUKIEMEGAHIGH "nukie_mega_high" +#define REAGENT_NUKIEMEGASHRINK "Nukie Mega Shrink" +#define REAGENT_ID_NUKIEMEGASHRINK "nukie_mega_shrink" +#define REAGENT_NUKIEMEGAGROWTH "Nukie Mega Growth" +#define REAGENT_ID_NUKIEMEGAGROWTH "nukie_mega_growth" +#define REAGENT_COATING "coating" +#define REAGENT_ID_COATING "coating" +#define REAGENT_BATTER "batter mix" +#define REAGENT_ID_BATTER "batter" +#define REAGENT_BEERBATTER "beer batter mix" +#define REAGENT_ID_BEERBATTER "beerbatter" +#define REAGENT_TRIGLYCERIDE "triglyceride" +#define REAGENT_ID_TRIGLYCERIDE "triglyceride" +#define REAGENT_OIL "Oil" +#define REAGENT_ID_OIL "oil" +#define REAGENT_COOKINGOIL "Cooking Oil" +#define REAGENT_ID_COOKINGOIL "cookingoil" +#define REAGENT_CORNOIL "Corn Oil" +#define REAGENT_ID_CORNOIL "cornoil" +#define REAGENT_PEANUTOIL "Peanut Oil" +#define REAGENT_ID_PEANUTOIL "peanutoil" +#define REAGENT_GLUCOSE "Glucose" +#define REAGENT_ID_GLUCOSE "glucose" +#define REAGENT_PROTEIN "animal protein" +#define REAGENT_ID_PROTEIN "protein" +#define REAGENT_TOFU "tofu protein" +#define REAGENT_ID_TOFU "tofu" +#define REAGENT_SEAFOOD "seafood protein" +#define REAGENT_ID_SEAFOOD "seafood" +#define REAGENT_CHEESE "cheese" +#define REAGENT_ID_CHEESE "cheese" +#define REAGENT_EGG "egg yolk" +#define REAGENT_ID_EGG "egg" +#define REAGENT_MURK_PROTEIN "murkfin protein" +#define REAGENT_ID_MURK_PROTEIN "murk_protein" +#define REAGENT_BEANPROTEIN "beans" +#define REAGENT_ID_BEANPROTEIN "bean_protein" +#define REAGENT_HONEY "Honey" +#define REAGENT_ID_HONEY "honey" +#define REAGENT_MAYO "Mayonnaise" +#define REAGENT_ID_MAYO "mayo" +#define REAGENT_YEAST "Yeast" +#define REAGENT_ID_YEAST "yeast" +#define REAGENT_FLOUR "Flour" +#define REAGENT_ID_FLOUR "flour" +#define REAGENT_COFFEEPOWDER "Coffee Powder" +#define REAGENT_ID_COFFEEPOWDER "coffeepowder" +#define REAGENT_TEAPOWDER "Tea Powder" +#define REAGENT_ID_TEAPOWDER "teapowder" +#define REAGENT_DECAFTEAPOWDER "Decaf Tea Powder" +#define REAGENT_ID_DECAFTEAPOWDER "decafteapowder" +#define REAGENT_COCO "Coco Powder" +#define REAGENT_ID_COCO "coco" +#define REAGENT_CHOCOLATE "Chocolate" +#define REAGENT_ID_CHOCOLATE "chocolate" +#define REAGENT_INSTANTJUICE "Juice Powder" +#define REAGENT_ID_INSTANTJUICE "instantjuice" +#define REAGENT_INSTANTGRAPE "Grape Juice Powder" +#define REAGENT_ID_INSTANTGRAPE "instantgrape" +#define REAGENT_INSTANTORANGE "Orange Juice Powder" +#define REAGENT_ID_INSTANTORANGE "instantorange" +#define REAGENT_INSTANTWATERMELON "Watermelon Juice Powder" +#define REAGENT_ID_INSTANTWATERMELON "instantwatermelon" +#define REAGENT_INSTANTAPPLE "Apple Juice Powder" +#define REAGENT_ID_INSTANTAPPLE "instantapple" +#define REAGENT_SOYSAUCE "Soy Sauce" +#define REAGENT_ID_SOYSAUCE "soysauce" +#define REAGENT_VINEGAR "Vinegar" +#define REAGENT_ID_VINEGAR "vinegar" +#define REAGENT_KETCHUP "Ketchup" +#define REAGENT_ID_KETCHUP "ketchup" +#define REAGENT_MUSTARD "Mustard" +#define REAGENT_ID_MUSTARD "mustard" +#define REAGENT_BARBECUE "Barbeque Sauce" +#define REAGENT_ID_BARBECUE "barbecue" +#define REAGENT_RICE "Rice" +#define REAGENT_ID_RICE "rice" +#define REAGENT_CHERRYJELLY "Cherry Jelly" +#define REAGENT_ID_CHERRYJELLY "cherryjelly" +#define REAGENT_PEANUTBUTTER "Peanut Butter" +#define REAGENT_ID_PEANUTBUTTER "peanutbutter" +#define REAGENT_VANILLA "Vanilla Extract" +#define REAGENT_ID_VANILLA "vanilla" +#define REAGENT_DURIANPASTE "Durian Paste" +#define REAGENT_ID_DURIANPASTE "durianpaste" +#define REAGENT_VIRUSFOOD "Virus Food" +#define REAGENT_ID_VIRUSFOOD "virusfood" +#define REAGENT_SPRINKLES "Sprinkles" +#define REAGENT_ID_SPRINKLES "sprinkles" +#define REAGENT_MINT "Mint" +#define REAGENT_ID_MINT "mint" +#define REAGENT_LIPOZINE "Lipozine" +#define REAGENT_ID_LIPOZINE "lipozine" +#define REAGENT_SODIUMCHLORIDE "Table Salt" +#define REAGENT_ID_SODIUMCHLORIDE "sodiumchloride" +#define REAGENT_BLACKPEPPER "Black Pepper" +#define REAGENT_ID_BLACKPEPPER "blackpepper" +#define REAGENT_ENZYME "Universal Enzyme" +#define REAGENT_ID_ENZYME "enzyme" +#define REAGENT_SPACESPICE "Wurmwoad" +#define REAGENT_ID_SPACESPICE "spacespice" +#define REAGENT_BROWNIEMIX "Brownie Mix" +#define REAGENT_ID_BROWNIEMIX "browniemix" +#define REAGENT_CAKEBATTER "Cake Batter" +#define REAGENT_ID_CAKEBATTER "cakebatter" +#define REAGENT_FROSTOIL "Frost Oil" +#define REAGENT_ID_FROSTOIL "frostoil" +#define REAGENT_CRYOTOXIN "Cryotoxin" +#define REAGENT_ID_CRYOTOXIN "cryotoxin" +#define REAGENT_CAPSAICIN "Capsaicin Oil" +#define REAGENT_ID_CAPSAICIN "capsaicin" +#define REAGENT_CONDENSEDCAPSAICIN "Condensed Capsaicin" +#define REAGENT_ID_CONDENSEDCAPSAICIN "condensedcapsaicin" + +#define REAGENT_DRINK "Drink" +#define REAGENT_ID_DRINK "drink" + +// Juices +#define REAGENT_BANANA "Banana Juice" +#define REAGENT_ID_BANANA "banana" +#define REAGENT_BERRYJUICE "Berry Juice" +#define REAGENT_ID_BERRYJUICE "berryjuice" +#define REAGENT_PINEAPPLEJUICE "Pineapple Juice" +#define REAGENT_ID_PINEAPPLEJUICE "pineapplejuice" +#define REAGENT_CARROTJUICE "Carrot juice" +#define REAGENT_ID_CARROTJUICE "carrotjuice" +#define REAGENT_LETTUCEJUICE "Lettuce Juice" +#define REAGENT_ID_LETTUCEJUICE "lettucejuice" +#define REAGENT_GRAPEJUICE "Grape Juice" +#define REAGENT_ID_GRAPEJUICE "grapejuice" +#define REAGENT_LEMONJUICE "Lemon Juice" +#define REAGENT_ID_LEMONJUICE "lemonjuice" +#define REAGENT_APPLEJUICE "Apple Juice" +#define REAGENT_ID_APPLEJUICE "applejuice" +#define REAGENT_LIMEJUICE "Lime Juice" +#define REAGENT_ID_LIMEJUICE "limejuice" +#define REAGENT_ORANGEJUICE "Orange juice" +#define REAGENT_ID_ORANGEJUICE "orangejuice" +#define REAGENT_POISONBERRYJUICE "Poison Berry Juice" +#define REAGENT_ID_POISONBERRYJUICE "poisonberryjuice" +#define REAGENT_POTATOJUICE "Potato Juice" +#define REAGENT_ID_POTATOJUICE "potatojuice" +#define REAGENT_TURNIPJUICE "Turnip Juice" +#define REAGENT_ID_TURNIPJUICE "turnipjuice" +#define REAGENT_TOMATOJUICE "Tomato Juice" +#define REAGENT_ID_TOMATOJUICE "tomatojuice" +#define REAGENT_WATERMELONJUICE "Watermelon Juice" +#define REAGENT_ID_WATERMELONJUICE "watermelonjuice" + +// Drinks +#define REAGENT_MILK "Milk" +#define REAGENT_ID_MILK "milk" +#define REAGENT_CHOCOLATEMILK "Chocolate Milk" +#define REAGENT_ID_CHOCOLATEMILK "chocolate_milk" +#define REAGENT_CREAM "Cream" +#define REAGENT_ID_CREAM "cream" +#define REAGENT_SOYMILK "Soy Milk" +#define REAGENT_ID_SOYMILK "soymilk" +#define REAGENT_MILKFOAM "Milk Foam" +#define REAGENT_ID_MILKFOAM "milk_foam" +#define REAGENT_TEA "Tea" +#define REAGENT_ID_TEA "tea" +#define REAGENT_TEADECAF "Decaf Tea" +#define REAGENT_ID_TEADECAF "teadecaf" +#define REAGENT_ICETEA "Iced Tea" +#define REAGENT_ID_ICETEA "icetea" +#define REAGENT_ICETEADECAF "Decaf Iced Tea" +#define REAGENT_ID_ICETEADECAF "iceteadecaf" +#define REAGENT_MINTTEA "Mint Tea" +#define REAGENT_ID_MINTTEA "minttea" +#define REAGENT_MINTTEADECAF "Decaf Mint Tea" +#define REAGENT_ID_MINTTEADECAF "mintteadecaf" +#define REAGENT_LEMONTEA "Lemon Tea" +#define REAGENT_ID_LEMONTEA "lemontea" +#define REAGENT_LEMONTEADECAF "Decaf Lemon Tea" +#define REAGENT_ID_LEMONTEADECAF "lemonteadecaf" +#define REAGENT_LIMETEA "Lime Tea" +#define REAGENT_ID_LIMETEA "limetea" +#define REAGENT_LIMETEADECAF "Decaf Lime Tea" +#define REAGENT_ID_LIMETEADECAF "limeteadecaf" +#define REAGENT_ORANGETEA "Orange Tea" +#define REAGENT_ID_ORANGETEA "orangetea" +#define REAGENT_ORANGETEADECAF "Decaf orange Tea" +#define REAGENT_ID_ORANGETEADECAF "orangeteadecaf" +#define REAGENT_BERRYTEA "Berry Tea" +#define REAGENT_ID_BERRYTEA "berrytea" +#define REAGENT_BERRYTEADECAF "Decaf Berry Tea" +#define REAGENT_ID_BERRYTEADECAF "berryteadecaf" +#define REAGENT_GREENTEA "Green Tea" +#define REAGENT_ID_GREENTEA "greentea" +#define REAGENT_CHAITEA "Chai Tea" +#define REAGENT_ID_CHAITEA "chaitea" +#define REAGENT_CHAITEADECAF "Decaf Chai Tea" +#define REAGENT_ID_CHAITEADECAF "chaiteadecaf" +#define REAGENT_COFFEE "Coffee" +#define REAGENT_ID_COFFEE "coffee" +#define REAGENT_ICECOFFEE "Iced Coffee" +#define REAGENT_ID_ICECOFFEE "icecoffee" +#define REAGENT_SOYLATTE "Soy Latte" +#define REAGENT_ID_SOYLATTE "soy_latte" +#define REAGENT_CAFELATTE "Cafe Latte" +#define REAGENT_ID_CAFELATTE "cafe_latte" +#define REAGENT_DECAF "Decaf Coffee" +#define REAGENT_ID_DECAF "decaf" +#define REAGENT_HOTCOCO "Hot Chocolate" +#define REAGENT_ID_HOTCOCO "hot_coco" +#define REAGENT_BLACKEYE "Black Eye Coffee" +#define REAGENT_ID_BLACKEYE "black_eye" +#define REAGENT_DRIPCOFFEE "Drip Coffee" +#define REAGENT_ID_DRIPCOFFEE "drip_coffee" +#define REAGENT_AMERICANO "Americano" +#define REAGENT_ID_AMERICANO "americano" +#define REAGENT_LONGBLACK "Long Black Coffee" +#define REAGENT_ID_LONGBLACK "long_black" +#define REAGENT_MACCHIATO "Macchiato" +#define REAGENT_ID_MACCHIATO "macchiato" +#define REAGENT_CORTADO "Cortado" +#define REAGENT_ID_CORTADO "cortado" +#define REAGENT_BREVE "Breve" +#define REAGENT_ID_BREVE "breve" +#define REAGENT_CAPPUCCINO "Cappuccino" +#define REAGENT_ID_CAPPUCCINO "cappuccino" +#define REAGENT_FLATWHITE "Flat White Coffee" +#define REAGENT_ID_FLATWHITE "flat_white" +#define REAGENT_MOCHA "Mocha" +#define REAGENT_ID_MOCHA "mocha" +#define REAGENT_VIENNA "Vienna" +#define REAGENT_ID_VIENNA "vienna" +#define REAGENT_SODAWATER "Soda Water" +#define REAGENT_ID_SODAWATER "sodawater" +#define REAGENT_TONIC "Tonic Water" +#define REAGENT_ID_TONIC "tonic" +#define REAGENT_LEMONADE "Lemonade" +#define REAGENT_ID_LEMONADE "lemonade" +#define REAGENT_MELONADE "Melonade" +#define REAGENT_ID_MELONADE "melonade" +#define REAGENT_APPLEADE "Appleade" +#define REAGENT_ID_APPLEADE "appleade" +#define REAGENT_PINEAPPLEADE "Pineappleade" +#define REAGENT_ID_PINEAPPLEADE "pineappleade" +#define REAGENT_KIRASPECIAL "Kira Special" +#define REAGENT_ID_KIRASPECIAL "kiraspecial" +#define REAGENT_BROWNSTAR "Brown Star" +#define REAGENT_ID_BROWNSTAR "brownstar" +#define REAGENT_BROWNSTARDECAF "Decaf Brown Star" +#define REAGENT_ID_BROWNSTARDECAF "brownstar_decaf" +#define REAGENT_MILKSHAKE "Milkshake" +#define REAGENT_ID_MILKSHAKE "milkshake" +#define REAGENT_CHOCOSHAKE "Chocolate Milkshake" +#define REAGENT_ID_CHOCOSHAKE "chocoshake" +#define REAGENT_BERRYSHAKE "Berry Milkshake" +#define REAGENT_ID_BERRYSHAKE "berryshake" +#define REAGENT_COFFEESHAKE "Coffee Milkshake" +#define REAGENT_ID_COFFEESHAKE "coffeeshake" +#define REAGENT_PEANUTMILKSHAKE "Peanut Milkshake" +#define REAGENT_ID_PEANUTMILKSHAKE "peanutmilkshake" +#define REAGENT_REWRITER "Rewriter" +#define REAGENT_ID_REWRITER "rewriter" +#define REAGENT_NUKACOLA "Nuka Cola" +#define REAGENT_ID_NUKACOLA "nuka_cola" +#define REAGENT_GRENADINE "Grenadine Syrup" +#define REAGENT_ID_GRENADINE "grenadine" +#define REAGENT_COLA "Space Cola" +#define REAGENT_ID_COLA "cola" +#define REAGENT_DECAFCOLA "Space Cola Free" +#define REAGENT_ID_DECAFCOLA "decafcola" +#define REAGENT_LEMONSODA "Lemon Soda" +#define REAGENT_ID_LEMONSODA "lemonsoda" +#define REAGENT_APPLESODA "Apple Soda" +#define REAGENT_ID_APPLESODA "applesoda" +#define REAGENT_STRAWSODA "Strawberry Soda" +#define REAGENT_ID_STRAWSODA "strawsoda" +#define REAGENT_ORANGESODA "Orange Soda" +#define REAGENT_ID_ORANGESODA "orangesoda" +#define REAGENT_GRAPESODA "Grape Soda" +#define REAGENT_ID_GRAPESODA "grapesoda" +#define REAGENT_SARSAPARILLA "Sarsaparilla" +#define REAGENT_ID_SARSAPARILLA "sarsaparilla" +#define REAGENT_PORKSODA "Bacon Soda" +#define REAGENT_ID_PORKSODA "porksoda" +#define REAGENT_SPACEMOUNTAINWIND "Mountain Wind" +#define REAGENT_ID_SPACEMOUNTAINWIND "spacemountainwind" +#define REAGENT_DRGIBB "Dr. Gibb" +#define REAGENT_ID_DRGIBB "dr_gibb" +#define REAGENT_SPACEUP "Space-Up" +#define REAGENT_ID_SPACEUP "space_up" +#define REAGENT_LEMONLIME "Lemon-Lime" +#define REAGENT_ID_LEMONLIME "lemon_lime" +#define REAGENT_GINGERALE "Ginger Ale" +#define REAGENT_ID_GINGERALE "gingerale" +#define REAGENT_ROOTBEER "R&D Root Beer" +#define REAGENT_ID_ROOTBEER "rootbeer" +#define REAGENT_DIETDRGIBB "Diet Dr. Gibb" +#define REAGENT_ID_DIETDRGIBB "diet_dr_gibb" +#define REAGENT_SHIRLEYTEMPLE "Shirley Temple" +#define REAGENT_ID_SHIRLEYTEMPLE "shirley_temple" +#define REAGENT_ROYROGERS "Roy Rogers" +#define REAGENT_ID_ROYROGERS "roy_rogers" +#define REAGENT_COLLINSMIX "Collins Mix" +#define REAGENT_ID_COLLINSMIX "collins_mix" +#define REAGENT_ARNOLDPALMER "Arnold Palmer" +#define REAGENT_ID_ARNOLDPALMER "arnold_palmer" +#define REAGENT_DOCTORSDELIGHT "The Doctor's Delight" +#define REAGENT_ID_DOCTORSDELIGHT "doctorsdelight" +#define REAGENT_DRYRAMEN "Dry Ramen" +#define REAGENT_ID_DRYRAMEN "dry_ramen" +#define REAGENT_HOTRAMEN "Hot Ramen" +#define REAGENT_ID_HOTRAMEN "hot_ramen" +#define REAGENT_HELLRAMEN "Hell Ramen" +#define REAGENT_ID_HELLRAMEN "hell_ramen" +#define REAGENT_DESSERTRAMEN "Dessert Ramen" +#define REAGENT_ID_DESSERTRAMEN "dessertramen" +#define REAGENT_ICE "Ice" +#define REAGENT_ID_ICE "ice" +#define REAGENT_NOTHING "Nothing" +#define REAGENT_ID_NOTHING "nothing" +#define REAGENT_DREAMCREAM "Dream Cream" +#define REAGENT_ID_DREAMCREAM "dreamcream" +#define REAGENT_VILELEMON "Vile Lemon" +#define REAGENT_ID_VILELEMON "vilelemon" +#define REAGENT_ENTDRAUGHT "Ent's Draught" +#define REAGENT_ID_ENTDRAUGHT "entdraught" +#define REAGENT_LOVEPOTION "Love Potion" +#define REAGENT_ID_LOVEPOTION "lovepotion" +#define REAGENT_OILSLICK "Oil Slick" +#define REAGENT_ID_OILSLICK "oilslick" +#define REAGENT_SLIMESLAMMER "Slick Slimes Slammer" +#define REAGENT_ID_SLIMESLAMMER "slimeslammer" +#define REAGENT_EGGNOG "Eggnog" +#define REAGENT_ID_EGGNOG "eggnog" +#define REAGENT_NUCLEARWASTE "Nuclear Waste" +#define REAGENT_ID_NUCLEARWASTE "nuclearwaste" +#define REAGENT_SODAOIL "Soda Oil" +#define REAGENT_ID_SODAOIL "sodaoil" +#define REAGENT_VIRGINMOJITO "Mojito" +#define REAGENT_ID_VIRGINMOJITO "virginmojito" +#define REAGENT_VIRGINSEXONTHEBEACH "Virgin Sex On The Beach" +#define REAGENT_ID_VIRGINSEXONTHEBEACH "virginsexonthebeach" +#define REAGENT_DRIVERSPUNCH "Driver's Punch" +#define REAGENT_ID_DRIVERSPUNCH "driverspunch" +#define REAGENT_MINTAPPLESPARKLE "Mint Apple Sparkle" +#define REAGENT_ID_MINTAPPLESPARKLE "mintapplesparkle" +#define REAGENT_BERRYCORDIAL "Berry Cordial" +#define REAGENT_ID_BERRYCORDIAL "berrycordial" +#define REAGENT_TROPICALFIZZ "Tropical Fizz" +#define REAGENT_ID_TROPICALFIZZ "tropicalfizz" +#define REAGENT_FAUXFIZZ "Faux Fizz" +#define REAGENT_ID_FAUXFIZZ "fauxfizz" +#define REAGENT_SYRUP "syrup" +#define REAGENT_ID_SYRUP "syrup" +#define REAGENT_SYRUPPUMPKIN "pumpkin spice syrup" +#define REAGENT_ID_SYRUPPUMPKIN "syrup_pumpkin" +#define REAGENT_SYRUPCARAMEL "caramel syrup" +#define REAGENT_ID_SYRUPCARAMEL "syrup_caramel" +#define REAGENT_SYRUPSALTEDCARAMEL "salted caramel syrup" +#define REAGENT_ID_SYRUPSALTEDCARAMEL "syrup_salted_caramel" +#define REAGENT_SYRUPIRISH "irish cream syrup" +#define REAGENT_ID_SYRUPIRISH "syrup_irish" +#define REAGENT_SYRUPALMOND "almond syrup" +#define REAGENT_ID_SYRUPALMOND "syrup_almond" +#define REAGENT_SYRUPCINNAMON "cinnamon syrup" +#define REAGENT_ID_SYRUPCINNAMON "syrup_cinnamon" +#define REAGENT_SYRUPPISTACHIO "pistachio syrup" +#define REAGENT_ID_SYRUPPISTACHIO "syrup_pistachio" +#define REAGENT_SYRUPVANILLA "vanilla syrup" +#define REAGENT_ID_SYRUPVANILLA "syrup_vanilla" +#define REAGENT_SYRUPTOFFEE "toffee syrup" +#define REAGENT_ID_SYRUPTOFFEE "syrup_toffee" +#define REAGENT_SYRUPCHERRY "cherry syrup" +#define REAGENT_ID_SYRUPCHERRY "syrup_cherry" +#define REAGENT_SYRUPBUTTERSCOTCH "butterscotch syrup" +#define REAGENT_ID_SYRUPBUTTERSCOTCH "syrup_butterscotch" +#define REAGENT_SYRUPCHOCOLATE "chocolate syrup" +#define REAGENT_ID_SYRUPCHOCOLATE "syrup_chocolate" +#define REAGENT_SYRUPWHITECHOCOLATE "white chocolate syrup" +#define REAGENT_ID_SYRUPWHITECHOCOLATE "syrup_white_chocolate" +#define REAGENT_SYRUPSTRAWBERRY "strawberry syrup" +#define REAGENT_ID_SYRUPSTRAWBERRY "syrup_strawberry" +#define REAGENT_SYRUPCOCONUT "coconut syrup" +#define REAGENT_ID_SYRUPCOCONUT "syrup_coconut" +#define REAGENT_SYRUPGINGER "ginger syrup" +#define REAGENT_ID_SYRUPGINGER "syrup_ginger" +#define REAGENT_SYRUPGINGERBREAD "gingerbread syrup" +#define REAGENT_ID_SYRUPGINGERBREAD "syrup_gingerbread" +#define REAGENT_SYRUPPEPPERMINT "peppermint syrup" +#define REAGENT_ID_SYRUPPEPPERMINT "syrup_peppermint" +#define REAGENT_SYRUPBIRTHDAY "birthday cake syrup" +#define REAGENT_ID_SYRUPBIRTHDAY "syrup_birthday" + +// Alcohol +#define REAGENT_ABSINTHE "Absinthe" +#define REAGENT_ID_ABSINTHE "absinthe" +#define REAGENT_ALE "Ale" +#define REAGENT_ID_ALE "ale" +#define REAGENT_BEER "Beer" +#define REAGENT_ID_BEER "beer" +#define REAGENT_LITEBEER "Lite Beer" +#define REAGENT_ID_LITEBEER "litebeer" +#define REAGENT_BLUECURACAO "Blue Curacao" +#define REAGENT_ID_BLUECURACAO "bluecuracao" +#define REAGENT_COGNAC "Cognac" +#define REAGENT_ID_COGNAC "cognac" +#define REAGENT_DEADRUM "Deadrum" +#define REAGENT_ID_DEADRUM "deadrum" +#define REAGENT_FIREPUNCH "Fire Punch" +#define REAGENT_ID_FIREPUNCH "firepunch" +#define REAGENT_GIN "Gin" +#define REAGENT_ID_GIN "gin" +#define REAGENT_KAHLUA "Kahlua" +#define REAGENT_ID_KAHLUA "kahlua" +#define REAGENT_MELONLIQUOR "Melon Liquor" +#define REAGENT_ID_MELONLIQUOR "melonliquor" +#define REAGENT_MELONSPRITZER "Melon Spritzer" +#define REAGENT_ID_MELONSPRITZER "melonspritzer" +#define REAGENT_RUM "Rum" +#define REAGENT_ID_RUM "rum" +#define REAGENT_SAKE "Sake" +#define REAGENT_ID_SAKE "sake" +#define REAGENT_SEXONTHEBEACH "Sex On The Beach" +#define REAGENT_ID_SEXONTHEBEACH "sexonthebeach" +#define REAGENT_TEQUILLA "Tequila" +#define REAGENT_ID_TEQUILLA "tequilla" +#define REAGENT_THIRTEENLOKO "Thirteen Loko" +#define REAGENT_ID_THIRTEENLOKO "thirteenloko" +#define REAGENT_VERMOUTH "Vermouth" +#define REAGENT_ID_VERMOUTH "vermouth" +#define REAGENT_VODKA "Vodka" +#define REAGENT_ID_VODKA "vodka" +#define REAGENT_WHISKEY "Whiskey" +#define REAGENT_ID_WHISKEY "whiskey" +#define REAGENT_REDWINE "Red Wine" +#define REAGENT_ID_REDWINE "redwine" +#define REAGENT_WHITEWINE "White Wine" +#define REAGENT_ID_WHITEWINE "whitewine" +#define REAGENT_CARNOTH "Carnoth" +#define REAGENT_ID_CARNOTH "carnoth" +#define REAGENT_PWINE "Poison Wine" +#define REAGENT_ID_PWINE "pwine" +#define REAGENT_CHAMPAGNE "Champagne" +#define REAGENT_ID_CHAMPAGNE "champagne" +#define REAGENT_CIDER "Cider" +#define REAGENT_ID_CIDER "cider" + +// Cocktails +#define REAGENT_ACIDSPIT "Acid Spit" +#define REAGENT_ID_ACIDSPIT "acidspit" +#define REAGENT_ALLIESCOCKTAIL "Allies Cocktail" +#define REAGENT_ID_ALLIESCOCKTAIL "alliescocktail" +#define REAGENT_ALOE "Aloe" +#define REAGENT_ID_ALOE "aloe" +#define REAGENT_AMASEC "Amasec" +#define REAGENT_ID_AMASEC "amasec" +#define REAGENT_ANDALUSIA "Andalusia" +#define REAGENT_ID_ANDALUSIA "andalusia" +#define REAGENT_ANTIFREEZE "Anti-freeze" +#define REAGENT_ID_ANTIFREEZE "antifreeze" +#define REAGENT_ATOMICBOMB "Atomic Bomb" +#define REAGENT_ID_ATOMICBOMB "atomicbomb" +#define REAGENT_B52 "B-52" +#define REAGENT_ID_B52 "b52" +#define REAGENT_BAHAMAMAMA "Bahama mama" +#define REAGENT_ID_BAHAMAMAMA "bahama_mama" +#define REAGENT_BANANAHONK "Banana Mama" +#define REAGENT_ID_BANANAHONK "bananahonk" +#define REAGENT_BAREFOOT "Barefoot" +#define REAGENT_ID_BAREFOOT "barefoot" +#define REAGENT_BEEPSKYSMASH "Beepsky Smash" +#define REAGENT_ID_BEEPSKYSMASH "beepskysmash" +#define REAGENT_BILK "Bilk" +#define REAGENT_ID_BILK "bilk" +#define REAGENT_BLACKRUSSIAN "Black Russian" +#define REAGENT_ID_BLACKRUSSIAN "blackrussian" +#define REAGENT_BLOODYMARY "Bloody Mary" +#define REAGENT_ID_BLOODYMARY "bloodymary" +#define REAGENT_BOOGER "Booger" +#define REAGENT_ID_BOOGER "booger" +#define REAGENT_BRAVEBULL "Brave Bull" +#define REAGENT_ID_BRAVEBULL "bravebull" +#define REAGENT_CHANGELINGSTING "Changeling Sting" +#define REAGENT_ID_CHANGELINGSTING "changelingsting" +#define REAGENT_MARTINI "Classic Martini" +#define REAGENT_ID_MARTINI "martini" +#define REAGENT_CUBALIBRE "Cuba Libre" +#define REAGENT_ID_CUBALIBRE "cubalibre" +#define REAGENT_RUMANDCOLA "Rum and Cola" +#define REAGENT_ID_RUMANDCOLA "rumandcola" +#define REAGENT_DEMONSBLOOD "Demons Blood" +#define REAGENT_ID_DEMONSBLOOD "demonsblood" +#define REAGENT_DEVILSKISS "Devils Kiss" +#define REAGENT_ID_DEVILSKISS "devilskiss" +#define REAGENT_DRIESTMARTINI "Driest Martini" +#define REAGENT_ID_DRIESTMARTINI "driestmartini" +#define REAGENT_GINFIZZ "Gin Fizz" +#define REAGENT_ID_GINFIZZ "ginfizz" +#define REAGENT_GROG "Grog" +#define REAGENT_ID_GROG "grog" +#define REAGENT_ERIKASURPRISE "Erika Surprise" +#define REAGENT_ID_ERIKASURPRISE "erikasurprise" +#define REAGENT_GARGLEBLASTER "Pan-Galactic Gargle Blaster" +#define REAGENT_ID_GARGLEBLASTER "gargleblaster" +#define REAGENT_GINTONIC "Gin and Tonic" +#define REAGENT_ID_GINTONIC "gintonic" +#define REAGENT_GOLDSCHLAGER "Goldschlager" +#define REAGENT_ID_GOLDSCHLAGER "goldschlager" +#define REAGENT_HIPPIESDELIGHT "Hippies' Delight" +#define REAGENT_ID_HIPPIESDELIGHT "hippiesdelight" +#define REAGENT_HOOCH "Hooch" +#define REAGENT_ID_HOOCH "hooch" +#define REAGENT_ICEDBEER "Iced Beer" +#define REAGENT_ID_ICEDBEER "iced_beer" +#define REAGENT_IRISHCARBOMB "Irish Car Bomb" +#define REAGENT_ID_IRISHCARBOMB "irishcarbomb" +#define REAGENT_IRISHCOFFEE "Irish Coffee" +#define REAGENT_ID_IRISHCOFFEE "irishcoffee" +#define REAGENT_IRISHCREAM "Irish Cream" +#define REAGENT_ID_IRISHCREAM "irishcream" +#define REAGENT_LONGISLANDICEDTEA "Long Island Iced Tea" +#define REAGENT_ID_LONGISLANDICEDTEA "longislandicedtea" +#define REAGENT_MANHATTAN "Manhattan" +#define REAGENT_ID_MANHATTAN "manhattan" +#define REAGENT_MANHATTANPROJ "Manhattan Project" +#define REAGENT_ID_MANHATTANPROJ "manhattan_proj" +#define REAGENT_MANLYDORF "The Manly Dorf" +#define REAGENT_ID_MANLYDORF "manlydorf" +#define REAGENT_MARGARITA "Margarita" +#define REAGENT_ID_MARGARITA "margarita" +#define REAGENT_MEAD "Mead" +#define REAGENT_ID_MEAD "mead" +#define REAGENT_MOONSHINE "Moonshine" +#define REAGENT_ID_MOONSHINE "moonshine" +#define REAGENT_NEUROTOXIN "Neurotoxin" +#define REAGENT_ID_NEUROTOXIN "neurotoxin" +#define REAGENT_PATRON "Patron" +#define REAGENT_ID_PATRON "patron" +#define REAGENT_REDMEAD "Red Mead" +#define REAGENT_ID_REDMEAD "red_mead" +#define REAGENT_SBITEN "Sbiten" +#define REAGENT_ID_SBITEN "sbiten" +#define REAGENT_SCREWDRIVERCOCKTAIL "Screwdriver" +#define REAGENT_ID_SCREWDRIVERCOCKTAIL "screwdrivercocktail" +#define REAGENT_SILENCER "Silencer" +#define REAGENT_ID_SILENCER "silencer" +#define REAGENT_SINGULO "Singulo" +#define REAGENT_ID_SINGULO "singulo" +#define REAGENT_SNOWWHITE "Snow White" +#define REAGENT_ID_SNOWWHITE "snowwhite" +#define REAGENT_SUIDREAM "Sui Dream" +#define REAGENT_ID_SUIDREAM "suidream" +#define REAGENT_SYNDICATEBOMB "Syndicate Bomb" +#define REAGENT_ID_SYNDICATEBOMB "syndicatebomb" +#define REAGENT_TEQUILLASUNRISE "Tequila Sunrise" +#define REAGENT_ID_TEQUILLASUNRISE "tequillasunrise" +#define REAGENT_THREEMILEISLAND "Three Mile Island Iced Tea" +#define REAGENT_ID_THREEMILEISLAND "threemileisland" +#define REAGENT_PHORONSPECIAL "Toxins Special" +#define REAGENT_ID_PHORONSPECIAL "phoronspecial" +#define REAGENT_VODKAMARTINI "Vodka Martini" +#define REAGENT_ID_VODKAMARTINI "vodkamartini" +#define REAGENT_VODKATONIC "Vodka and Tonic" +#define REAGENT_ID_VODKATONIC "vodkatonic" +#define REAGENT_WHITERUSSIAN "White Russian" +#define REAGENT_ID_WHITERUSSIAN "whiterussian" +#define REAGENT_WHISKEYCOLA "Whiskey Cola" +#define REAGENT_ID_WHISKEYCOLA "whiskeycola" +#define REAGENT_WHISKEYSODA "Whiskey Soda" +#define REAGENT_ID_WHISKEYSODA "whiskeysoda" +#define REAGENT_SPECIALWHISKEY "Special Blend Whiskey" +#define REAGENT_ID_SPECIALWHISKEY "specialwhiskey" +#define REAGENT_UNATHILIQUOR "Redeemer's Brew" +#define REAGENT_ID_UNATHILIQUOR "unathiliquor" +#define REAGENT_SAKEBOMB "Sake Bomb" +#define REAGENT_ID_SAKEBOMB "sakebomb" +#define REAGENT_TAMAGOZAKE "Tamagozake" +#define REAGENT_ID_TAMAGOZAKE "tamagozake" +#define REAGENT_GINZAMARY "Ginza Mary" +#define REAGENT_ID_GINZAMARY "ginzamary" +#define REAGENT_TOKYOROSE "Tokyo Rose" +#define REAGENT_ID_TOKYOROSE "tokyorose" +#define REAGENT_SAKETINI "Saketini" +#define REAGENT_ID_SAKETINI "saketini" +#define REAGENT_ELYSIUMFACEPUNCH "Elysium Facepunch" +#define REAGENT_ID_ELYSIUMFACEPUNCH "elysiumfacepunch" +#define REAGENT_EREBUSMOONRISE "Erebus Moonrise" +#define REAGENT_ID_EREBUSMOONRISE "erebusmoonrise" +#define REAGENT_BALLOON "Balloon" +#define REAGENT_ID_BALLOON "balloon" +#define REAGENT_NATUNABRANDY "Natuna Brandy" +#define REAGENT_ID_NATUNABRANDY "natunabrandy" +#define REAGENT_EUPHORIA "Euphoria" +#define REAGENT_ID_EUPHORIA "euphoria" +#define REAGENT_XANADUCANNON "Xanadu Cannon" +#define REAGENT_ID_XANADUCANNON "xanaducannon" +#define REAGENT_DEBUGGER "Debugger" +#define REAGENT_ID_DEBUGGER "debugger" +#define REAGENT_SPACERSBREW "Spacer's Brew" +#define REAGENT_ID_SPACERSBREW "spacersbrew" +#define REAGENT_BINMANBLISS "Binman Bliss" +#define REAGENT_ID_BINMANBLISS "binmanbliss" +#define REAGENT_CHRYSANTHEMUM "Chrysanthemum" +#define REAGENT_ID_CHRYSANTHEMUM "chrysanthemum" +#define REAGENT_BITTERS "Bitters" +#define REAGENT_ID_BITTERS "bitters" +#define REAGENT_SOEMMERFIRE "Soemmer Fire" +#define REAGENT_ID_SOEMMERFIRE "soemmerfire" +#define REAGENT_WINEBRANDY "Wine Brandy" +#define REAGENT_ID_WINEBRANDY "winebrandy" +#define REAGENT_MORNINGAFTER "Morning After" +#define REAGENT_ID_MORNINGAFTER "morningafter" +#define REAGENT_VESPER "Vesper" +#define REAGENT_ID_VESPER "vesper" +#define REAGENT_ROTGUT "Rotgut Fever Dream" +#define REAGENT_ID_ROTGUT "rotgut" +#define REAGENT_VOXDELIGHT "Vox's Delight" +#define REAGENT_ID_VOXDELIGHT "voxdelight" +#define REAGENT_SCREAMINGVIKING "Screaming Viking" +#define REAGENT_ID_SCREAMINGVIKING "screamingviking" +#define REAGENT_ROBUSTIN "Robustin" +#define REAGENT_ID_ROBUSTIN "robustin" +#define REAGENT_VIRGINSIP "Virgin Sip" +#define REAGENT_ID_VIRGINSIP "virginsip" +#define REAGENT_JELLYSHOT "Jelly Shot" +#define REAGENT_ID_JELLYSHOT "jellyshot" +#define REAGENT_SLIMESHOT "Named Bullet" +#define REAGENT_ID_SLIMESHOT "slimeshot" +#define REAGENT_CLOVERCLUB "Clover Club" +#define REAGENT_ID_CLOVERCLUB "cloverclub" +#define REAGENT_NEGRONI "Negroni" +#define REAGENT_ID_NEGRONI "negroni" +#define REAGENT_WHISKEYSOUR "Whiskey Sour" +#define REAGENT_ID_WHISKEYSOUR "whiskeysour" +#define REAGENT_OLDFASHIONED "Old Fashioned" +#define REAGENT_ID_OLDFASHIONED "oldfashioned" +#define REAGENT_DAIQUIRI "Daiquiri" +#define REAGENT_ID_DAIQUIRI "daiquiri" +#define REAGENT_MOJITO "Mojito" +#define REAGENT_ID_MOJITO "mojito" +#define REAGENT_PALOMA "Paloma" +#define REAGENT_ID_PALOMA "paloma" +#define REAGENT_PISCOSOUR "Pisco Sour" +#define REAGENT_ID_PISCOSOUR "piscosour" +#define REAGENT_COLDFRONT "Cold Front" +#define REAGENT_ID_COLDFRONT "coldfront" +#define REAGENT_MINTJULEP "Mint Julep" +#define REAGENT_ID_MINTJULEP "mintjulep" +#define REAGENT_GODSAKE "Gods Sake" +#define REAGENT_ID_GODSAKE "godsake" +#define REAGENT_GODKA "Godka" +#define REAGENT_ID_GODKA "godka" +#define REAGENT_HOLYWINE "Angel Ichor" +#define REAGENT_ID_HOLYWINE "holywine" +#define REAGENT_HOLYMARY "Holy Mary" +#define REAGENT_ID_HOLYMARY "holymary" +#define REAGENT_ANGELSWRATH "Angels Wrath" +#define REAGENT_ID_ANGELSWRATH "angelswrath" +#define REAGENT_ANGELSKISS "Angels Kiss" +#define REAGENT_ID_ANGELSKISS "angelskiss" +#define REAGENT_ICHORMEAD "Ichor Mead" +#define REAGENT_ID_ICHORMEAD "ichor_mead" +#define REAGENT_SCHNAPPSPEP "Peppermint Schnapps" +#define REAGENT_ID_SCHNAPPSPEP "schnapps_pep" +#define REAGENT_SCHNAPPSPEA "Peach Schnapps" +#define REAGENT_ID_SCHNAPPSPEA "schnapps_pea" +#define REAGENT_SCHNAPPSLEM "Lemonade Schnapps" +#define REAGENT_ID_SCHNAPPSLEM "schnapps_lem" +#define REAGENT_JAGER "Schuss Konig" +#define REAGENT_ID_JAGER "jager" +#define REAGENT_FUSIONNAIRE "Fusionnaire" +#define REAGENT_ID_FUSIONNAIRE "fusionnaire" +#define REAGENT_DEATHBELL "Deathbell" +#define REAGENT_ID_DEATHBELL "deathbell" +#define REAGENT_MAGICDUST "Magic Dust" +#define REAGENT_ID_MAGICDUST "magicdust" +#define REAGENT_KOMPOT "Kompot" +#define REAGENT_ID_KOMPOT "kompot" +#define REAGENT_KVASS "Kvass" +#define REAGENT_ID_KVASS "kvass" + + +// Toxins +#define REAGENT_TOXIN "Toxin" +#define REAGENT_ID_TOXIN "toxin" +#define REAGENT_PACID "Polytrinic acid" +#define REAGENT_ID_PACID "pacid" +#define REAGENT_PHORON "Phoron" +#define REAGENT_ID_PHORON "phoron" +#define REAGENT_SPIDERTOXIN "Spidertoxin" +#define REAGENT_ID_SPIDERTOXIN "spidertoxin" +#define REAGENT_LEAD "Lead" +#define REAGENT_ID_LEAD "lead" +#define REAGENT_PLASTICIDE "Plasticide" +#define REAGENT_ID_PLASTICIDE "plasticide" +#define REAGENT_AMATOXIN "Amatoxin" +#define REAGENT_ID_AMATOXIN "amatoxin" +#define REAGENT_CARPOTOXIN "Carpotoxin" +#define REAGENT_ID_CARPOTOXIN "carpotoxin" +#define REAGENT_NEUROTOXIC_PROTEIN "toxic protein" +#define REAGENT_ID_NEUROTOXIC_PROTEIN "neurotoxic_protein" +#define REAGENT_HYDROPHORON "Hydrophoron" +#define REAGENT_ID_HYDROPHORON "hydrophoron" +#define REAGENT_CYANIDE "Cyanide" +#define REAGENT_ID_CYANIDE "cyanide" +#define REAGENT_MOLD "Mold" +#define REAGENT_ID_MOLD "mold" +#define REAGENT_EXPIREDMEDICINE "Expired Medicine" +#define REAGENT_ID_EXPIREDMEDICINE "expired_medicine" +#define REAGENT_STIMM "Stimm" +#define REAGENT_ID_STIMM "stimm" +#define REAGENT_POTASSIUMCHLORIDE "Potassium Chloride" +#define REAGENT_ID_POTASSIUMCHLORIDE "potassium_chloride" +#define REAGENT_POTASSIUMCHLOROPHORIDE "Potassium Chlorophoride" +#define REAGENT_ID_POTASSIUMCHLOROPHORIDE "potassium_chlorophoride" +#define REAGENT_ZOMBIEPOWDER "Zombie Powder" +#define REAGENT_ID_ZOMBIEPOWDER "zombiepowder" +#define REAGENT_LICHPOWDER "Lich Powder" +#define REAGENT_ID_LICHPOWDER "lichpowder" +#define REAGENT_FERTILIZER "Fertilizer" +#define REAGENT_ID_FERTILIZER "fertilizer" +#define REAGENT_EZNUTRIENT "EZ Nutrient" +#define REAGENT_ID_EZNUTRIENT "eznutrient" +#define REAGENT_LEFT4ZED "Left-4-Zed" +#define REAGENT_ID_LEFT4ZED "left4zed" +#define REAGENT_ROBUSTHARVEST "Robust Harvest" +#define REAGENT_ID_ROBUSTHARVEST "robustharvest" +#define REAGENT_TANNIN "Tannin" +#define REAGENT_ID_TANNIN "tannin" +#define REAGENT_PLANTBGONE "Plant-B-Gone" +#define REAGENT_ID_PLANTBGONE "plantbgone" +#define REAGENT_SIFSAP "Sivian Sap" +#define REAGENT_ID_SIFSAP "sifsap" +#define REAGENT_STOMACID "Digestive acid" +#define REAGENT_ID_STOMACID "stomacid" +#define REAGENT_THERMITEV "Pyrotoxin" +#define REAGENT_ID_THERMITEV "thermite_v" +#define REAGENT_CONDENSEDCAPSAICINV "Irritant toxin" +#define REAGENT_ID_CONDENSEDCAPSAICINV "condensedcapsaicin_v" +#define REAGENT_LEXORIN "Lexorin" +#define REAGENT_ID_LEXORIN "lexorin" +#define REAGENT_MUTAGEN "Unstable mutagen" +#define REAGENT_ID_MUTAGEN "mutagen" +#define REAGENT_SLIMEJELLY "Slime Jelly" +#define REAGENT_ID_SLIMEJELLY "slimejelly" +#define REAGENT_STOXIN "Soporific" +#define REAGENT_ID_STOXIN "stoxin" +#define REAGENT_CHLORALHYDRATE "Chloral Hydrate" +#define REAGENT_ID_CHLORALHYDRATE "chloralhydrate" +#define REAGENT_BEER2 REAGENT_BEER +#define REAGENT_ID_BEER2 "beer2" +#define REAGENT_SEROTROTIUM "Serotrotium" +#define REAGENT_ID_SEROTROTIUM "serotrotium" +#define REAGENT_SEROTROTIUMV "Serotropic venom" +#define REAGENT_ID_SEROTROTIUMV "serotrotium_v" +#define REAGENT_CRYPTOBIOLIN "Cryptobiolin" +#define REAGENT_ID_CRYPTOBIOLIN "cryptobiolin" +#define REAGENT_IMPEDREZENE "Impedrezene" +#define REAGENT_ID_IMPEDREZENE "impedrezene" +#define REAGENT_MINDBREAKER "Mindbreaker Toxin" +#define REAGENT_ID_MINDBREAKER "mindbreaker" +#define REAGENT_MUTATIONTOXIN "Mutation Toxin" +#define REAGENT_ID_MUTATIONTOXIN "mutationtoxin" +#define REAGENT_DOCILITYTOXIN "Docility Toxin" +#define REAGENT_ID_DOCILITYTOXIN "docilitytoxin" +#define REAGENT_SHREDDINGNANITES REAGENT_HEALINGNANITES +#define REAGENT_ID_SHREDDINGNANITES "shredding_nanites" +#define REAGENT_IRRADIATEDNANITES REAGENT_HEALINGNANITES +#define REAGENT_ID_IRRADIATEDNANITES "irradiated_nanites" +#define REAGENT_NEUROPHAGENANITES REAGENT_HEALINGNANITES +#define REAGENT_ID_NEUROPHAGENANITES "neurophage_nanites" +#define REAGENT_SALMONELLA "Salmonella" +#define REAGENT_ID_SALMONELLA "salmonella" +#define REAGENT_METAMORPHIC "Metamorphic Metal" +#define REAGENT_ID_METAMORPHIC "metamorphic" +#define REAGENT_BINDING "Binding Metal" +#define REAGENT_ID_BINDING "binding" + + +// Xenoslimes +#define REAGENT_SLIMEBLEEDFIXER "Agent A" +#define REAGENT_ID_SLIMEBLEEDFIXER "slime_bleed_fixer" +#define REAGENT_SLIMEBONEFIXER "Agent B" +#define REAGENT_ID_SLIMEBONEFIXER "slime_bone_fixer" +#define REAGENT_SLIMEORGANFIXER "Agent C" +#define REAGENT_ID_SLIMEORGANFIXER "slime_organ_fixer" diff --git a/code/__defines/admin.dm b/code/__defines/admin.dm index 4895a51ae6..e4934f522b 100644 --- a/code/__defines/admin.dm +++ b/code/__defines/admin.dm @@ -48,26 +48,26 @@ #define SMITE_LIGHTNINGBOLT "Lightning Bolt" #define SMITE_TERROR "Terrify" -#define ADMIN_QUE(user) "(?)" -#define ADMIN_FLW(user) "(FLW)" -#define ADMIN_PP(user) "(PP)" -#define ADMIN_VV(atom) "(VV)" -#define ADMIN_SM(user) "(SM)" -#define ADMIN_TP(user) "(TP)" -#define ADMIN_BSA(user) "(BSA)" -#define ADMIN_KICK(user) "(KICK)" -#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" -#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" -#define ADMIN_SC(user) "(SC)" -#define ADMIN_SMITE(user) "(SMITE)" +#define ADMIN_QUE(user) "(?)" +#define ADMIN_FLW(user) "(FLW)" +#define ADMIN_PP(user) "(PP)" +#define ADMIN_VV(atom) "(VV)" +#define ADMIN_SM(user) "(SM)" +#define ADMIN_TP(user) "(TP)" +#define ADMIN_BSA(user) "(BSA)" +#define ADMIN_KICK(user) "(KICK)" +#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" +#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" +#define ADMIN_SC(user) "(SC)" +#define ADMIN_SMITE(user) "(SMITE)" #define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]" #define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]" #define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]" #define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]" -#define ADMIN_JMP(src) "(JMP)" +#define ADMIN_JMP(src) "(JMP)" #define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]" #define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" -#define ADMIN_CA(user) "(?)" +#define ADMIN_CA(user) "(?)" #define AHELP_ACTIVE 1 #define AHELP_CLOSED 2 diff --git a/code/__defines/belly_modes_vr.dm b/code/__defines/belly_modes_vr.dm index b0e7976dbd..266d2f583a 100644 --- a/code/__defines/belly_modes_vr.dm +++ b/code/__defines/belly_modes_vr.dm @@ -43,3 +43,9 @@ #define DR_SLEEP "Sleep" #define DR_FAKE "False Sleep" #define DR_WEIGHT "Weight Drain" + +//Vore Sprite Flags +#define DM_FLAG_VORESPRITE_BELLY 0x1 +#define DM_FLAG_VORESPRITE_TAIL 0x2 +#define DM_FLAG_VORESPRITE_MARKING 0x4 +#define DM_FLAG_VORESPRITE_ARTICLE 0x8 diff --git a/code/__defines/borg_overlays.dm b/code/__defines/borg_overlays.dm new file mode 100644 index 0000000000..bc5365e25e --- /dev/null +++ b/code/__defines/borg_overlays.dm @@ -0,0 +1,61 @@ +/// This file contains everything that involves the borg overlay system that is applied to borgs in robot/sprites_sprite_datum.dm + +/// These are applied ON /datum/robot_sprite to tell it what overlays it can or can not have. + +/// If you make a borg that has a laser, taser, and shield, here's an Example: +/// sprite_flags = ROBOT_HAS_LASER_SPRITE | ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_SHIELD_SPRITE + +/// NOTES: You are NOT EXPECTED TO HAVE A GUN SPRITE IF YOU HAVE A DEDICATED LASER/TASER/DISABLER SPRITE. Doing so will cause BAD THINGS to happen!!! +/// IMPORTANT: Flags operate on a 1 2 4 8 10 20 40 80 100 200 400 800 1000 2000 4000 8000 etc system. Not 1 2 4 8 16 32 64 like I thought at first (oops) +#define ROBOT_HAS_SPEED_SPRITE 0x1 //Ex: /obj/item/borg/combat/mobility Replaces old has_speed_sprite +#define ROBOT_HAS_SHIELD_SPRITE 0x2 //Ex: /obj/item/borg/combat/shield Replaces old has_shield_sprite +#define ROBOT_HAS_SHIELD_SPEED_SPRITE 0x4 //Ex: Has a sprite for when both is activated AND has /obj/item/borg/combat/mobility +#define ROBOT_HAS_LASER_SPRITE 0x8 //Ex: /obj/item/gun/energy/robotic/laser Replaces old has_laser_sprite +#define ROBOT_HAS_TASER_SPRITE 0x10 //Ex: /obj/item/gun/energy/robotic/taser Replaces old has_taser_sprite +#define ROBOT_HAS_GUN_SPRITE 0x20 //Ex: Has a general gun sprite. Replaces old has_gun_sprite +#define ROBOT_HAS_DISABLER_SPRITE 0x40 //Ex: /obj/item/gun/energy/taser/mounted/cyborg/ertgun HOWEVER it is not used on this codebase (Virgo) but may be used downstream. + +#define ROBOT_HAS_MELEE_SPRITE 0x80 //Ex: Generic borg melee +#define ROBOT_HAS_DAGGER_SPRITE 0x100 //Ex: Specialized dagger. +#define ROBOT_HAS_BLADE_SPRITE 0x200 //Ex: Specialized blade +/// For sanity's sake for you spriters out there that don't want to dig through the code, attach the below as a suffix for your sprites: +/// Speed: -roll +/// Shield: -shield +/// Both: -speed_shield + +/// Laser: -laser +/// Taser: -taser +/// Gun: -gun +/// Disabler: -disabler + +/// Melee: -melee +/// Blade: -blade +/// Dagger: -dagger + +/// GUN DEFINES +/// These are applied on GUNS to classify them as a GUN, TASER, OR LASER. +/// So every borg weapon is a child of '/obj/item/gun/energy/robotic' and given the 'laser' 'taser' 'gun' etc flag. ALL guns have 'gun' by default. +#define COUNTS_AS_ROBOT_GUN 0x1 +#define COUNTS_AS_ROBOT_TASER 0x2 +#define COUNTS_AS_ROBOT_LASER 0x4 +#define COUNTS_AS_ROBOT_DISABLER 0x8 + +/// MELEE WEAPON DEFINES +/// These are applied on MELEE WEAPONS to classify them as MELEE WEAPONS that give sprites. +/// Use 'melee' if your borg ONLY has a generic melee sprite. If they have more unique sprites, use the other ones! +/// Currently, only the borg blade is used. But you could expand this define list! +#define COUNTS_AS_ROBOTIC_MELEE 0x1 +#define COUNTS_AS_ROBOT_DAGGER 0x2 +#define COUNTS_AS_ROBOT_BLADE 0x4 + +/// ADDITIONAL NOTES: +/// If you want to have a special type of item that will be used on borgs that is NOT a gun OR is not included above that causes an overlay, have no fear! +/// Currently, the SHIELD, SPEED, and both are included. If you want your borg to have a cool special overlay, use 'handle_extra_icon_updates'! +/// Here's an example: + +/* +/datum/robot_sprite/combat/fluff/foopwotch/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) //Make sure the path is correct! + ..() //THIS IS ESSENTIAL. IF YOU FORGET THIS LINE, YOU WILL NOT GET THE NORMAL SPRITES. + if(ourborg.has_active_type(/obj/item/weapon/combat_borgblade)) + ourborg.add_overlay("[sprite_icon_state]-dagger") +*/ diff --git a/code/__defines/chemistry.dm b/code/__defines/chemistry.dm index 8213aa200f..8073d6a8ca 100644 --- a/code/__defines/chemistry.dm +++ b/code/__defines/chemistry.dm @@ -49,10 +49,10 @@ #define ANTIBIO_SUPER 3 // Chemistry lists. -var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") // Increase heart rate. -var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "bliss", "stoxin", "ambrosia_extract") // Decrease heart rate. -var/list/heartstopper = list("potassium_chlorophoride", "zombiepowder") // This stops the heart. -var/list/cheartstopper = list("potassium_chloride") // This stops the heart when overdose is met. -- c = conditional +var/list/tachycardics = list(REAGENT_ID_COFFEE, REAGENT_ID_INAPROVALINE, REAGENT_ID_HYPERZINE, REAGENT_ID_NITROGLYCERIN,REAGENT_ID_THIRTEENLOKO, REAGENT_ID_NICOTINE) // Increase heart rate. +var/list/bradycardics = list(REAGENT_ID_NEUROTOXIN, REAGENT_ID_CRYOXADONE, REAGENT_ID_CLONEXADONE, REAGENT_ID_BLISS, REAGENT_ID_STOXIN, REAGENT_ID_AMBROSIAEXTRACT) // Decrease heart rate. +var/list/heartstopper = list(REAGENT_ID_POTASSIUMCHLOROPHORIDE, REAGENT_ID_ZOMBIEPOWDER) // This stops the heart. +var/list/cheartstopper = list(REAGENT_ID_POTASSIUMCHLORIDE) // This stops the heart when overdose is met. -- c = conditional #define MAX_PILL_SPRITE 24 //max icon state of the pill sprites #define MAX_BOTTLE_SPRITE 4 //max icon state of the pill sprites diff --git a/code/__defines/dna.dm b/code/__defines/dna.dm index 10fe4d729b..b958466201 100644 --- a/code/__defines/dna.dm +++ b/code/__defines/dna.dm @@ -154,3 +154,9 @@ var/SMALLSIZEBLOCK = 0 #define DNA2_BUF_UI 1 #define DNA2_BUF_UE 2 #define DNA2_BUF_SE 4 + +// Mutation flags +#define MUTCHK_FORCED 1 + +// Gene flags +#define GENE_ALWAYS_ACTIVATE 1 diff --git a/code/__defines/is_helpers.dm b/code/__defines/is_helpers.dm index 1039819289..fff94f906e 100644 --- a/code/__defines/is_helpers.dm +++ b/code/__defines/is_helpers.dm @@ -68,3 +68,6 @@ #define istaurtail(A) istype(A, /datum/sprite_accessory/tail/taur) #define islongtail(A) istype(A, /datum/sprite_accessory/tail/longtail) + +// Diveable water +#define isdiveablewater(A) istype(A, /turf/simulated/floor/water/deep/ocean/diving) diff --git a/code/__defines/materials.dm b/code/__defines/materials.dm index 0e24246954..f4f947d7df 100644 --- a/code/__defines/materials.dm +++ b/code/__defines/materials.dm @@ -5,7 +5,7 @@ #define MAT_GLASS "glass" #define MAT_RGLASS "rglass" #define MAT_PGLASS "borosilicate glass" -#define MAT_RPGLASS "reinforced borosilicate glass" +#define MAT_RPGLASS "reinforced borosilicate glass" #define MAT_SILVER "silver" #define MAT_GOLD "gold" #define MAT_URANIUM "uranium" @@ -18,7 +18,7 @@ #define MAT_LOG "log" #define MAT_SIFWOOD "alien wood" #define MAT_SIFLOG "alien log" -#define MAT_HARDWOOD "hardwood" +#define MAT_HARDWOOD "hardwood" #define MAT_HARDLOG "hardwood log" #define MAT_STEELHULL "steel hull" #define MAT_PLASTEEL "plasteel" @@ -35,12 +35,10 @@ #define MAT_METALHYDROGEN "mhydrogen" #define MAT_OSMIUM "osmium" #define MAT_GRAPHITE "graphite" -#define MAT_LEATHER "leather" #define MAT_CHITIN "chitin" -#define MAT_CLOTH "cloth" +#define MAT_ALIENCHITIN "alien chitin" +#define MAT_ALIENCLAW "alien claw" #define MAT_FUR "fur" -#define MAT_SYNCLOTH "syncloth" -#define MAT_FIBERS "fibers" #define MAT_COPPER "copper" #define MAT_QUARTZ "quartz" #define MAT_TIN "tin" @@ -48,15 +46,41 @@ #define MAT_ALUMINIUM "aluminium" #define MAT_BRONZE "bronze" #define MAT_PAINITE "painite" -#define MAT_BOROSILICATE "borosilicate glass" #define MAT_SANDSTONE "sandstone" -#define MAT_FLINT "flint" +#define MAT_FLINT "flint" #define MAT_PLATINUM "platinum" #define MAT_TRITIUM "tritium" #define MAT_DEUTERIUM "deuterium" #define MAT_CONCRETE "concrete" #define MAT_PLASTEELREBAR "plasteel rebar" #define MAT_GRASS "grass" +#define MAT_RESIN "resin" +#define MAT_CULT "cult" +#define MAT_CULT2 "cult2" +#define MAT_ALIENALLOY "alienalloy" +#define MAT_COMPOSITE "composite" +#define MAT_BIOMASS "biomass" +#define MAT_WEEDEXTRACT "weed extract" +#define MAT_CARDBOARD "cardboard" +#define MAT_COTTON "cotton" + +// cloth materials +#define MAT_WOOL "wool" +#define MAT_FIBERS "fibers" +#define MAT_LEATHER "leather" +#define MAT_CLOTH "cloth" +#define MAT_SYNCLOTH "syncloth" +#define MAT_CARPET "carpet" +// colours +#define MAT_CLOTH_TEAL "teal" +#define MAT_CLOTH_BLACK "black" +#define MAT_CLOTH_GREEN "green" +#define MAT_CLOTH_PURPLE "purple" +#define MAT_CLOTH_BLUE "blue" +#define MAT_CLOTH_BEIGE "beige" +#define MAT_CLOTH_LIME "lime" +#define MAT_CLOTH_YELLOW "yellow" +#define MAT_CLOTH_ORANGE "orange" #define DEFAULT_TABLE_MATERIAL MAT_PLASTIC @@ -84,4 +108,4 @@ ///if the user won't receive a warning when attacking the container with an unallowed item. #define MATCONTAINER_SILENT (1<<3) -#define GET_MATERIAL_REF(arguments...) _GetMaterialRef(list(##arguments)) \ No newline at end of file +#define GET_MATERIAL_REF(arguments...) _GetMaterialRef(list(##arguments)) diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 0a96c63bec..ab3d82c281 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -44,7 +44,11 @@ #define SPECIALROLE_HUD 8 // AntagHUD image. #define STATUS_HUD_OOC 9 // STATUS_HUD without virus DB check for someone being ill. #define LIFE_HUD 10 // STATUS_HUD that only reports dead or alive -#define TOTAL_HUDS 10 // Total number of HUDs. Like body layers, and other things, it comes up sometimes. +#define BACKUP_HUD 11 // HUD for showing whether or not they have a backup implant. +#define STATUS_R_HUD 12 // HUD for showing the same STATUS_HUD info on the right side, but not for 'boring' statuses (transparent icons) +#define HEALTH_VR_HUD 13 // HUD with blank 100% bar so it's hidden most of the time. +#define VANTAG_HUD 14 // HUD for showing being-an-antag-target prefs +#define TOTAL_HUDS 14 // Total number of HUDs. Like body layers, and other things, it comes up sometimes. #define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (isclient(I) ? I : null)) @@ -108,8 +112,9 @@ #define AREA_ALLOW_LARGE_SIZE 0x400 // If mob size is limited in the area. #define AREA_BLOCK_SUIT_SENSORS 0x800 // If suit sensors are blocked in the area. #define AREA_BLOCK_TRACKING 0x1000 // If camera tracking is blocked in the area. -#define TEMPERATURE_SHIELDED 0x2000 // YW Addition: Temperature change shielding -#define PHASE_SHIELDED 0x4000 // YW Addition: Prevents shadekin phasing in/out in this area +#define AREA_BLOCK_GHOST_SIGHT 0x2000 // If an area blocks sight for ghosts +#define TEMPERATURE_SHIELDED 0x4000 // YW Addition: Temperature change shielding +#define PHASE_SHIELDED 0x8000 // YW Addition: Prevents shadekin phasing in/out in this area // OnTopic return values #define TOPIC_NOACTION 0 @@ -485,3 +490,79 @@ GLOBAL_LIST_INIT(all_volume_channels, list( // Vote Types #define VOTE_RESULT_TYPE_MAJORITY "Majority" #define VOTE_RESULT_TYPE_SKEWED "Seventy" + +#define ECO_MODIFIER 10 + +#define VANTAG_NONE "hudblank" +#define VANTAG_VORE "vantag_vore" +#define VANTAG_KIDNAP "vantag_kidnap" +#define VANTAG_KILL "vantag_kill" + +// ColorMate states +#define COLORMATE_TINT 1 +#define COLORMATE_HSV 2 +#define COLORMATE_MATRIX 3 + +#define DEPARTMENT_OFFDUTY "Off-Duty" + +#define ANNOUNCER_NAME "Facility PA" + +//For custom species +#define STARTING_SPECIES_POINTS 2 +#define MAX_SPECIES_TRAITS 5 + +// Xenochimera thing mostly +#define REVIVING_NOW -1 +#define REVIVING_DONE 0 +#define REVIVING_READY 1 + +// Resleeving Mind Record Status +#define MR_NORMAL 0 +#define MR_UNSURE 1 +#define MR_DEAD 2 + +//Shuttle madness! +#define SHUTTLE_CRASHED 3 // Yup that can happen now + +//Herm Gender +#define HERM "herm" + +// Bluespace shelter deploy checks +#define SHELTER_DEPLOY_ALLOWED "allowed" +#define SHELTER_DEPLOY_BAD_TURFS "bad turfs" +#define SHELTER_DEPLOY_BAD_AREA "bad area" +#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects" +#define SHELTER_DEPLOY_SHIP_SPACE "ship not in space" + +#define PTO_SECURITY "Security" +#define PTO_MEDICAL "Medical" +#define PTO_ENGINEERING "Engineering" +#define PTO_SCIENCE "Science" +#define PTO_EXPLORATION "Exploration" +#define PTO_CARGO "Cargo" +#define PTO_CIVILIAN "Civilian" +#define PTO_CYBORG "Cyborg" +#define PTO_TALON "Talon Contractor" + +#define DEPARTMENT_TALON "ITV Talon" + +#define MAT_TITANIUMGLASS "ti-glass" +#define MAT_PLASTITANIUM "plastitanium" +#define MAT_PLASTITANIUMHULL "plastitanium hull" +#define MAT_PLASTITANIUMGLASS "plastitanium glass" +#define MAT_GOLDHULL "gold hull" + +#define RESIZE_MINIMUM 0.25 +#define RESIZE_MAXIMUM 2 +#define RESIZE_MINIMUM_DORMS 0.01 +#define RESIZE_MAXIMUM_DORMS 6 + +#define RESIZE_HUGE 2 +#define RESIZE_BIG 1.5 +#define RESIZE_NORMAL 1 +#define RESIZE_SMALL 0.5 +#define RESIZE_TINY 0.25 +#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2 +#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2 +#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2 +#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2 diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm deleted file mode 100644 index ab083010b1..0000000000 --- a/code/__defines/misc_vr.dm +++ /dev/null @@ -1,84 +0,0 @@ -#define ECO_MODIFIER 10 - -// Because of omnihud having overlapping issues, we have extra ones. -#define BACKUP_HUD 11 // HUD for showing whether or not they have a backup implant. -#define STATUS_R_HUD 12 // HUD for showing the same STATUS_HUD info on the right side, but not for 'boring' statuses (transparent icons) -#define HEALTH_VR_HUD 13 // HUD with blank 100% bar so it's hidden most of the time. -#define VANTAG_HUD 14 // HUD for showing being-an-antag-target prefs - -#undef TOTAL_HUDS //Undo theirs. -#define TOTAL_HUDS 14 // Total number of HUDs. - -#define VANTAG_NONE "hudblank" -#define VANTAG_VORE "vantag_vore" -#define VANTAG_KIDNAP "vantag_kidnap" -#define VANTAG_KILL "vantag_kill" - -// ColorMate states -#define COLORMATE_TINT 1 -#define COLORMATE_HSV 2 -#define COLORMATE_MATRIX 3 - -#define DEPARTMENT_OFFDUTY "Off-Duty" - -#define ANNOUNCER_NAME "Facility PA" - -//For custom species -#define STARTING_SPECIES_POINTS 2 -#define MAX_SPECIES_TRAITS 5 - -// Xenochimera thing mostly -#define REVIVING_NOW -1 -#define REVIVING_DONE 0 -#define REVIVING_READY 1 - -// Resleeving Mind Record Status -#define MR_NORMAL 0 -#define MR_UNSURE 1 -#define MR_DEAD 2 - -//Shuttle madness! -#define SHUTTLE_CRASHED 3 // Yup that can happen now - -//Herm Gender -#define HERM "herm" - -// Bluespace shelter deploy checks -#define SHELTER_DEPLOY_ALLOWED "allowed" -#define SHELTER_DEPLOY_BAD_TURFS "bad turfs" -#define SHELTER_DEPLOY_BAD_AREA "bad area" -#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects" -#define SHELTER_DEPLOY_SHIP_SPACE "ship not in space" - -#define PTO_SECURITY "Security" -#define PTO_MEDICAL "Medical" -#define PTO_ENGINEERING "Engineering" -#define PTO_SCIENCE "Science" -#define PTO_EXPLORATION "Exploration" -#define PTO_CARGO "Cargo" -#define PTO_CIVILIAN "Civilian" -#define PTO_CYBORG "Cyborg" -#define PTO_TALON "Talon Contractor" - -#define DEPARTMENT_TALON "ITV Talon" - -#define MAT_TITANIUMGLASS "ti-glass" -#define MAT_PLASTITANIUM "plastitanium" -#define MAT_PLASTITANIUMHULL "plastitanium hull" -#define MAT_PLASTITANIUMGLASS "plastitanium glass" -#define MAT_GOLDHULL "gold hull" - -#define RESIZE_MINIMUM 0.25 -#define RESIZE_MAXIMUM 2 -#define RESIZE_MINIMUM_DORMS 0.01 -#define RESIZE_MAXIMUM_DORMS 6 - -#define RESIZE_HUGE 2 -#define RESIZE_BIG 1.5 -#define RESIZE_NORMAL 1 -#define RESIZE_SMALL 0.5 -#define RESIZE_TINY 0.25 -#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2 -#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2 -#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2 -#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2 diff --git a/code/__defines/ores.dm b/code/__defines/ores.dm new file mode 100644 index 0000000000..acc85cc518 --- /dev/null +++ b/code/__defines/ores.dm @@ -0,0 +1,20 @@ +#define ORE_MARBLE "marble" +#define ORE_QUARTZ "quartz" +#define ORE_COPPER "copper" +#define ORE_TIN "tin" +#define ORE_BAUXITE "bauxite" +#define ORE_URANIUM "uranium" +#define ORE_PLATINUM "platinum" +#define ORE_HEMATITE "hematite" +#define ORE_RUTILE "rutile" +#define ORE_CARBON "carbon" +#define ORE_DIAMOND "diamond" +#define ORE_GOLD "gold" +#define ORE_SILVER "silver" +#define ORE_PHORON "phoron" +#define ORE_LEAD "lead" +#define ORE_VOPAL "void opal" +#define ORE_VERDANTIUM "verdantium" +#define ORE_PAINITE "painite" +#define ORE_MHYDROGEN "mhydrogen" +#define ORE_SAND "sand" diff --git a/code/__defines/phobias.dm b/code/__defines/phobias.dm new file mode 100644 index 0000000000..0bf2fc1613 --- /dev/null +++ b/code/__defines/phobias.dm @@ -0,0 +1,9 @@ +//Handling and defining of phobias and fears +#define NYCTOPHOBIA 1 +#define ARACHNOPHOBIA 2 +#define HEMOPHOBIA 4 +#define THALASSOPHOBIA 8 +#define CLAUSTROPHOBIA_MINOR 16 +#define CLAUSTROPHOBIA_MAJOR 32 +#define ANATIDAEPHOBIA 64 +#define AGRAVIAPHOBIA 128 diff --git a/code/__defines/plants.dm b/code/__defines/plants.dm index cd4dc9e701..910e6c4193 100644 --- a/code/__defines/plants.dm +++ b/code/__defines/plants.dm @@ -106,9 +106,9 @@ GLOBAL_LIST_INIT(plant_item_products, list( )) GLOBAL_LIST_INIT(forbidden_plant_growth_sprites, list( - "gnomes" + PLANT_GNOMES )) GLOBAL_LIST_INIT(forbidden_plant_product_sprites, list( - "gnomes" - )) \ No newline at end of file + PLANT_GNOMES + )) diff --git a/code/__defines/rust_g.dm b/code/__defines/rust_g.dm index bd0e0879b4..14dc8f0c28 100644 --- a/code/__defines/rust_g.dm +++ b/code/__defines/rust_g.dm @@ -19,21 +19,21 @@ /* This comment bypasses grep checks */ /var/__rust_g /proc/__detect_rust_g() - if (world.system_type == UNIX) - if (fexists("./librust_g.so")) - // No need for LD_LIBRARY_PATH badness. - return __rust_g = "./librust_g.so" - else if (fexists("./rust_g")) - // Old dumb filename. - return __rust_g = "./rust_g" - else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/rust_g")) - // Old dumb filename in `~/.byond/bin`. - return __rust_g = "rust_g" - else - // It's not in the current directory, so try others - return __rust_g = "librust_g.so" - else - return __rust_g = "rust_g" + if (world.system_type == UNIX) + if (fexists("./librust_g.so")) + // No need for LD_LIBRARY_PATH badness. + return __rust_g = "./librust_g.so" + else if (fexists("./rust_g")) + // Old dumb filename. + return __rust_g = "./rust_g" + else if (fexists("[world.GetConfig("env", "HOME")]/.byond/bin/rust_g")) + // Old dumb filename in `~/.byond/bin`. + return __rust_g = "rust_g" + else + // It's not in the current directory, so try others + return __rust_g = "librust_g.so" + else + return __rust_g = "rust_g" #define RUST_G (__rust_g || __detect_rust_g()) #endif @@ -48,6 +48,82 @@ /// Gets the version of rust_g /proc/rustg_get_version() return RUSTG_CALL(RUST_G, "get_version")() + +/** + * Sets up the Aho-Corasick automaton with its default options. + * + * The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call + * Arguments: + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements calls + * * patterns - A non-associative list of strings to search for + * * replacements - Default replacements for this automaton, used with rustg_acreplace + */ +#define rustg_setup_acreplace(key, patterns, replacements) RUSTG_CALL(RUST_G, "setup_acreplace")(key, json_encode(patterns), json_encode(replacements)) + +/** + * Sets up the Aho-Corasick automaton using supplied options. + * + * The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call + * Arguments: + * * key - The key for the automaton, to be used with subsequent rustg_acreplace/rustg_acreplace_with_replacements calls + * * options - An associative list like list("anchored" = 0, "ascii_case_insensitive" = 0, "match_kind" = "Standard"). The values shown on the example are the defaults, and default values may be omitted. See the identically named methods at https://docs.rs/aho-corasick/latest/aho_corasick/struct.AhoCorasickBuilder.html to see what the options do. + * * patterns - A non-associative list of strings to search for + * * replacements - Default replacements for this automaton, used with rustg_acreplace + */ +#define rustg_setup_acreplace_with_options(key, options, patterns, replacements) RUSTG_CALL(RUST_G, "setup_acreplace")(key, json_encode(options), json_encode(patterns), json_encode(replacements)) + +/** + * Run the specified replacement engine with the provided haystack text to replace, returning replaced text. + * + * Arguments: + * * key - The key for the automaton + * * text - Text to run replacements on + */ +#define rustg_acreplace(key, text) RUSTG_CALL(RUST_G, "acreplace")(key, text) + +/** + * Run the specified replacement engine with the provided haystack text to replace, returning replaced text. + * + * Arguments: + * * key - The key for the automaton + * * text - Text to run replacements on + * * replacements - Replacements for this call. Must be the same length as the set-up patterns + */ +#define rustg_acreplace_with_replacements(key, text, replacements) RUSTG_CALL(RUST_G, "acreplace_with_replacements")(key, text, json_encode(replacements)) + +/** + * This proc generates a cellular automata noise grid which can be used in procedural generation methods. + * + * Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell. + * + * Arguments: + * * percentage: The chance of a turf starting closed + * * smoothing_iterations: The amount of iterations the cellular automata simulates before returning the results + * * birth_limit: If the number of neighboring cells is higher than this amount, a cell is born + * * death_limit: If the number of neighboring cells is lower than this amount, a cell dies + * * width: The width of the grid. + * * height: The height of the grid. + */ +#define rustg_cnoise_generate(percentage, smoothing_iterations, birth_limit, death_limit, width, height) \ + RUSTG_CALL(RUST_G, "cnoise_generate")(percentage, smoothing_iterations, birth_limit, death_limit, width, height) + +/** + * This proc generates a grid of perlin-like noise + * + * Returns a single string that goes row by row, with values of 1 representing an turned on cell, and a value of 0 representing a turned off cell. + * + * Arguments: + * * seed: seed for the function + * * accuracy: how close this is to the original perlin noise, as accuracy approaches infinity, the noise becomes more and more perlin-like + * * stamp_size: Size of a singular stamp used by the algorithm, think of this as the same stuff as frequency in perlin noise + * * world_size: size of the returned grid. + * * lower_range: lower bound of values selected for. (inclusive) + * * upper_range: upper bound of values selected for. (exclusive) + */ +#define rustg_dbp_generate(seed, accuracy, stamp_size, world_size, lower_range, upper_range) \ + RUSTG_CALL(RUST_G, "dbp_generate")(seed, accuracy, stamp_size, world_size, lower_range, upper_range) + + #define rustg_dmi_strip_metadata(fname) RUSTG_CALL(RUST_G, "dmi_strip_metadata")(fname) #define rustg_dmi_create_png(path, width, height, data) RUSTG_CALL(RUST_G, "dmi_create_png")(path, width, height, data) #define rustg_dmi_resize_png(path, width, height, resizetype) RUSTG_CALL(RUST_G, "dmi_resize_png")(path, width, height, resizetype) @@ -66,29 +142,47 @@ #define rustg_file_seek_line(fname, line) RUSTG_CALL(RUST_G, "file_seek_line")(fname, "[line]") #ifdef RUSTG_OVERRIDE_BUILTINS -#define file2text(fname) rustg_file_read("[fname]") -#define text2file(text, fname) rustg_file_append(text, "[fname]") + #define file2text(fname) rustg_file_read("[fname]") + #define text2file(text, fname) rustg_file_append(text, "[fname]") #endif /// Returns the git hash of the given revision, ex. "HEAD". #define rustg_git_revparse(rev) RUSTG_CALL(RUST_G, "rg_git_revparse")(rev) /** - * Returns the date of the given revision in the format YYYY-MM-DD. - * Returns null if the revision is invalid. + * Returns the date of the given revision using the provided format. + * Defaults to returning %F which is YYYY-MM-DD. */ -#define rustg_git_commit_date(rev) RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev) +/proc/rustg_git_commit_date(rev, format = "%F") + return RUSTG_CALL(RUST_G, "rg_git_commit_date")(rev, format) -#define rustg_hash_string(algorithm, text) LIBCALL(RUST_G, "hash_string")(algorithm, text) -#define rustg_hash_file(algorithm, fname) LIBCALL(RUST_G, "hash_file")(algorithm, fname) +/** + * Returns the formatted datetime string of HEAD using the provided format. + * Defaults to returning %F which is YYYY-MM-DD. + * This is different to rustg_git_commit_date because it only needs the logs directory. + */ +/proc/rustg_git_commit_date_head(format = "%F") + return RUSTG_CALL(RUST_G, "rg_git_commit_date_head")(format) + +#define rustg_hash_string(algorithm, text) RUSTG_CALL(RUST_G, "hash_string")(algorithm, text) +#define rustg_hash_file(algorithm, fname) RUSTG_CALL(RUST_G, "hash_file")(algorithm, fname) +#define rustg_hash_generate_totp(seed) RUSTG_CALL(RUST_G, "generate_totp")(seed) +#define rustg_hash_generate_totp_tolerance(seed, tolerance) RUSTG_CALL(RUST_G, "generate_totp_tolerance")(seed, tolerance) #define RUSTG_HASH_MD5 "md5" #define RUSTG_HASH_SHA1 "sha1" #define RUSTG_HASH_SHA256 "sha256" #define RUSTG_HASH_SHA512 "sha512" +#define RUSTG_HASH_XXH64 "xxh64" +#define RUSTG_HASH_BASE64 "base64" + +/// Encode a given string into base64 +#define rustg_encode_base64(str) rustg_hash_string(RUSTG_HASH_BASE64, str) +/// Decode a given base64 string +#define rustg_decode_base64(str) RUSTG_CALL(RUST_G, "decode_base64")(str) #ifdef RUSTG_OVERRIDE_BUILTINS -#define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) + #define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) #endif #define RUSTG_HTTP_METHOD_GET "get" @@ -101,17 +195,171 @@ #define rustg_http_request_async(method, url, body, headers, options) RUSTG_CALL(RUST_G, "http_request_async")(method, url, body, headers, options) #define rustg_http_check_request(req_id) RUSTG_CALL(RUST_G, "http_check_request")(req_id) +/// Generates a spritesheet at: [file_path][spritesheet_name]_[size_id].png +/// The resulting spritesheet arranges icons in a random order, with the position being denoted in the "sprites" return value. +/// All icons have the same y coordinate, and their x coordinate is equal to `icon_width * position`. +/// +/// hash_icons is a boolean (0 or 1), and determines if the generator will spend time creating hashes for the output field dmi_hashes. +/// These hashes can be heplful for 'smart' caching (see rustg_iconforge_cache_valid), but require extra computation. +/// +/// Spritesheet will contain all sprites listed within "sprites". +/// "sprites" format: +/// list( +/// "sprite_name" = list( // <--- this list is a [SPRITE_OBJECT] +/// icon_file = 'icons/path_to/an_icon.dmi', +/// icon_state = "some_icon_state", +/// dir = SOUTH, +/// frame = 1, +/// transform = list([TRANSFORM_OBJECT], ...) +/// ), +/// ..., +/// ) +/// TRANSFORM_OBJECT format: +/// list("type" = RUSTG_ICONFORGE_BLEND_COLOR, "color" = "#ff0000", "blend_mode" = ICON_MULTIPLY) +/// list("type" = RUSTG_ICONFORGE_BLEND_ICON, "icon" = [SPRITE_OBJECT], "blend_mode" = ICON_OVERLAY) +/// list("type" = RUSTG_ICONFORGE_SCALE, "width" = 32, "height" = 32) +/// list("type" = RUSTG_ICONFORGE_CROP, "x1" = 1, "y1" = 1, "x2" = 32, "y2" = 32) // (BYOND icons index from 1,1 to the upper bound, inclusive) +/// +/// Returns a SpritesheetResult as JSON, containing fields: +/// list( +/// "sizes" = list("32x32", "64x64", ...), +/// "sprites" = list("sprite_name" = list("size_id" = "32x32", "position" = 0), ...), +/// "dmi_hashes" = list("icons/path_to/an_icon.dmi" = "d6325c5b4304fb03", ...), +/// "sprites_hash" = "a2015e5ff403fb5c", // This is the xxh64 hash of the INPUT field "sprites". +/// "error" = "[A string, empty if there were no errors.]" +/// ) +/// In the case of an unrecoverable panic from within Rust, this function ONLY returns a string containing the error. +#define rustg_iconforge_generate(file_path, spritesheet_name, sprites, hash_icons) RUSTG_CALL(RUST_G, "iconforge_generate")(file_path, spritesheet_name, sprites, "[hash_icons]") +/// Returns a job_id for use with rustg_iconforge_check() +#define rustg_iconforge_generate_async(file_path, spritesheet_name, sprites, hash_icons) RUSTG_CALL(RUST_G, "iconforge_generate_async")(file_path, spritesheet_name, sprites, "[hash_icons]") +/// Returns the status of an async job_id, or its result if it is completed. See RUSTG_JOB DEFINEs. +#define rustg_iconforge_check(job_id) RUSTG_CALL(RUST_G, "iconforge_check")("[job_id]") +/// Clears all cached DMIs and images, freeing up memory. +/// This should be used after spritesheets are done being generated. +#define rustg_iconforge_cleanup RUSTG_CALL(RUST_G, "iconforge_cleanup") +/// Takes in a set of hashes, generate inputs, and DMI filepaths, and compares them to determine cache validity. +/// input_hash: xxh64 hash of "sprites" from the cache. +/// dmi_hashes: xxh64 hashes of the DMIs in a spritesheet, given by `rustg_iconforge_generate` with `hash_icons` enabled. From the cache. +/// sprites: The new input that will be passed to rustg_iconforge_generate(). +/// Returns a CacheResult with the following structure: list( +/// "result": "1" (if cache is valid) or "0" (if cache is invalid) +/// "fail_reason": "" (emtpy string if valid, otherwise a string containing the invalidation reason or an error with ERROR: prefixed.) +/// ) +/// In the case of an unrecoverable panic from within Rust, this function ONLY returns a string containing the error. +#define rustg_iconforge_cache_valid(input_hash, dmi_hashes, sprites) RUSTG_CALL(RUST_G, "iconforge_cache_valid")(input_hash, dmi_hashes, sprites) +/// Returns a job_id for use with rustg_iconforge_check() +#define rustg_iconforge_cache_valid_async(input_hash, dmi_hashes, sprites) RUSTG_CALL(RUST_G, "iconforge_cache_valid_async")(input_hash, dmi_hashes, sprites) + +#define RUSTG_ICONFORGE_BLEND_COLOR "BlendColor" +#define RUSTG_ICONFORGE_BLEND_ICON "BlendIcon" +#define RUSTG_ICONFORGE_CROP "Crop" +#define RUSTG_ICONFORGE_SCALE "Scale" + #define RUSTG_JOB_NO_RESULTS_YET "NO RESULTS YET" #define RUSTG_JOB_NO_SUCH_JOB "NO SUCH JOB" #define RUSTG_JOB_ERROR "JOB PANICKED" #define rustg_json_is_valid(text) (RUSTG_CALL(RUST_G, "json_is_valid")(text) == "true") -#define rustg_log_write(fname, text, format) LIBCALL(RUST_G, "log_write")(fname, text, format) -/proc/rustg_log_close_all() return LIBCALL(RUST_G, "log_close_all")() +#define rustg_log_write(fname, text, format) RUSTG_CALL(RUST_G, "log_write")(fname, text, format) +/proc/rustg_log_close_all() return RUSTG_CALL(RUST_G, "log_close_all")() #define rustg_noise_get_at_coordinates(seed, x, y) RUSTG_CALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) +/** + * Generates a 2D poisson disk distribution ('blue noise'), which is relatively uniform. + * + * params: + * `seed`: str + * `width`: int, width of the noisemap (see world.maxx) + * `length`: int, height of the noisemap (see world.maxy) + * `radius`: int, distance between points on the noisemap + * + * returns: + * a width*length length string of 1s and 0s representing a 2D poisson sample collapsed into a 1D string + */ +#define rustg_noise_poisson_map(seed, width, length, radius) RUSTG_CALL(RUST_G, "noise_poisson_map")(seed, width, length, radius) + +/** + * Register a list of nodes into a rust library. This list of nodes must have been serialized in a json. + * Node {// Index of this node in the list of nodes + * unique_id: usize, + * // Position of the node in byond + * x: usize, + * y: usize, + * z: usize, + * // Indexes of nodes connected to this one + * connected_nodes_id: Vec} + * It is important that the node with the unique_id 0 is the first in the json, unique_id 1 right after that, etc. + * It is also important that all unique ids follow. {0, 1, 2, 4} is not a correct list and the registering will fail + * Nodes should not link across z levels. + * A node cannot link twice to the same node and shouldn't link itself either + */ +#define rustg_register_nodes_astar(json) RUSTG_CALL(RUST_G, "register_nodes_astar")(json) + +/** + * Add a new node to the static list of nodes. Same rule as registering_nodes applies. + * This node unique_id must be equal to the current length of the static list of nodes + */ +#define rustg_add_node_astar(json) RUSTG_CALL(RUST_G, "add_node_astar")(json) + +/** + * Remove every link to the node with unique_id. Replace that node by null + */ +#define rustg_remove_node_astar(unique_id) RUSTG_CALL(RUST_G, "remove_node_astar")("[unique_id]") + +/** + * Compute the shortest path between start_node and goal_node using A*. Heuristic used is simple geometric distance + */ +#define rustg_generate_path_astar(start_node_id, goal_node_id) RUSTG_CALL(RUST_G, "generate_path_astar")("[start_node_id]", "[goal_node_id]") + +#define RUSTG_REDIS_ERROR_CHANNEL "RUSTG_REDIS_ERROR_CHANNEL" + +#define rustg_redis_connect(addr) RUSTG_CALL(RUST_G, "redis_connect")(addr) +/proc/rustg_redis_disconnect() return RUSTG_CALL(RUST_G, "redis_disconnect")() +#define rustg_redis_subscribe(channel) RUSTG_CALL(RUST_G, "redis_subscribe")(channel) +/proc/rustg_redis_get_messages() return RUSTG_CALL(RUST_G, "redis_get_messages")() +#define rustg_redis_publish(channel, message) RUSTG_CALL(RUST_G, "redis_publish")(channel, message) + +/** + * Connects to a given redis server. + * + * Arguments: + * * addr - The address of the server, for example "redis://127.0.0.1/" + */ +#define rustg_redis_connect_rq(addr) RUSTG_CALL(RUST_G, "redis_connect_rq")(addr) +/** + * Disconnects from a previously connected redis server + */ +/proc/rustg_redis_disconnect_rq() return RUSTG_CALL(RUST_G, "redis_disconnect_rq")() +/** + * https://redis.io/commands/lpush/ + * + * Arguments + * * key (string) - The key to use + * * elements (list) - The elements to push, use a list even if there's only one element. + */ +#define rustg_redis_lpush(key, elements) RUSTG_CALL(RUST_G, "redis_lpush")(key, json_encode(elements)) +/** + * https://redis.io/commands/lrange/ + * + * Arguments + * * key (string) - The key to use + * * start (string) - The zero-based index to start retrieving at + * * stop (string) - The zero-based index to stop retrieving at (inclusive) + */ +#define rustg_redis_lrange(key, start, stop) RUSTG_CALL(RUST_G, "redis_lrange")(key, start, stop) +/** + * https://redis.io/commands/lpop/ + * + * Arguments + * * key (string) - The key to use + * * count (string|null) - The amount to pop off the list, pass null to omit (thus just 1) + * + * Note: `count` was added in Redis version 6.2.0 + */ +#define rustg_redis_lpop(key, count) RUSTG_CALL(RUST_G, "redis_lpop")(key, count) + /* * Takes in a string and json_encode()"d lists to produce a sanitized string. * This function operates on whitelists, there is currently no way to blacklist. @@ -122,12 +370,55 @@ */ #define rustg_sanitize_html(text, attribute_whitelist_json, tag_whitelist_json) RUSTG_CALL(RUST_G, "sanitize_html")(text, attribute_whitelist_json, tag_whitelist_json) -#define rustg_sql_connect_pool(options) LIBCALL(RUST_G, "sql_connect_pool")(options) -#define rustg_sql_query_async(handle, query, params) LIBCALL(RUST_G, "sql_query_async")(handle, query, params) -#define rustg_sql_query_blocking(handle, query, params) LIBCALL(RUST_G, "sql_query_blocking")(handle, query, params) -#define rustg_sql_connected(handle) LIBCALL(RUST_G, "sql_connected")(handle) -#define rustg_sql_disconnect_pool(handle) LIBCALL(RUST_G, "sql_disconnect_pool")(handle) -#define rustg_sql_check_query(job_id) LIBCALL(RUST_G, "sql_check_query")("[job_id]") +/// Provided a static RSC file path or a raw text file path, returns the duration of the file in deciseconds as a float. +/proc/rustg_sound_length(file_path) + var/static/list/sound_cache + if(isnull(sound_cache)) + sound_cache = list() + + . = 0 + + if(!istext(file_path)) + if(!isfile(file_path)) + CRASH("rustg_sound_length error: Passed non-text object") + + if(length("[file_path]")) // Runtime generated RSC references stringify into 0-length strings. + file_path = "[file_path]" + else + CRASH("rustg_sound_length does not support non-static file refs.") + + var/cached_length = sound_cache[file_path] + if(!isnull(cached_length)) + return cached_length + + var/ret = RUSTG_CALL(RUST_G, "sound_len")(file_path) + var/as_num = text2num(ret) + if(isnull(ret)) + . = 0 + CRASH("rustg_sound_length error: [ret]") + + sound_cache[file_path] = as_num + return as_num + + +#define RUSTG_SOUNDLEN_SUCCESSES "successes" +#define RUSTG_SOUNDLEN_ERRORS "errors" +/** + * Returns a nested key-value list containing "successes" and "errors" + * The format is as follows: + * list( + * RUSTG_SOUNDLEN_SUCCESES = list("sounds/test.ogg" = 25.34), + * RUSTG_SOUNDLEN_ERRORS = list("sound/bad.png" = "SoundLen: Unable to decode file."), + *) +*/ +#define rustg_sound_length_list(file_paths) json_decode(RUSTG_CALL(RUST_G, "sound_len_list")(json_encode(file_paths))) + +#define rustg_sql_connect_pool(options) RUSTG_CALL(RUST_G, "sql_connect_pool")(options) +#define rustg_sql_query_async(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_async")(handle, query, params) +#define rustg_sql_query_blocking(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_blocking")(handle, query, params) +#define rustg_sql_connected(handle) RUSTG_CALL(RUST_G, "sql_connected")(handle) +#define rustg_sql_disconnect_pool(handle) RUSTG_CALL(RUST_G, "sql_disconnect_pool")(handle) +#define rustg_sql_check_query(job_id) RUSTG_CALL(RUST_G, "sql_check_query")("[job_id]") #define rustg_time_microseconds(id) text2num(RUSTG_CALL(RUST_G, "time_microseconds")(id)) #define rustg_time_milliseconds(id) text2num(RUSTG_CALL(RUST_G, "time_milliseconds")(id)) @@ -135,30 +426,49 @@ /// Returns the timestamp as a string /proc/rustg_unix_timestamp() - return RUSTG_CALL(RUST_G, "unix_timestamp")() + return RUSTG_CALL(RUST_G, "unix_timestamp")() #define rustg_raw_read_toml_file(path) json_decode(RUSTG_CALL(RUST_G, "toml_file_to_json")(path) || "null") /proc/rustg_read_toml_file(path) - var/list/output = rustg_raw_read_toml_file(path) - if (output["success"]) - return json_decode(output["content"]) - else - CRASH(output["content"]) + var/list/output = rustg_raw_read_toml_file(path) + if (output["success"]) + return json_decode(output["content"]) + else + CRASH(output["content"]) #define rustg_raw_toml_encode(value) json_decode(RUSTG_CALL(RUST_G, "toml_encode")(json_encode(value))) /proc/rustg_toml_encode(value) - var/list/output = rustg_raw_toml_encode(value) - if (output["success"]) - return output["content"] - else - CRASH(output["content"]) + var/list/output = rustg_raw_toml_encode(value) + if (output["success"]) + return output["content"] + else + CRASH(output["content"]) + +#define rustg_unzip_download_async(url, unzip_directory) RUSTG_CALL(RUST_G, "unzip_download_async")(url, unzip_directory) +#define rustg_unzip_check(job_id) RUSTG_CALL(RUST_G, "unzip_check")("[job_id]") #define rustg_url_encode(text) RUSTG_CALL(RUST_G, "url_encode")("[text]") #define rustg_url_decode(text) RUSTG_CALL(RUST_G, "url_decode")(text) #ifdef RUSTG_OVERRIDE_BUILTINS - #define url_encode(text) rustg_url_encode(text) - #define url_decode(text) rustg_url_decode(text) + #define url_encode(text) rustg_url_encode(text) + #define url_decode(text) rustg_url_decode(text) #endif + +/** + * This proc generates a noise grid using worley noise algorithm + * + * Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell. + * + * Arguments: + * * region_size: The size of regions + * * threshold: the value that determines wether a cell is dead or alive + * * node_per_region_chance: chance of a node existiing in a region + * * size: size of the returned grid + * * node_min: minimum amount of nodes in a region (after the node_per_region_chance is applied) + * * node_max: maximum amount of nodes in a region + */ +#define rustg_worley_generate(region_size, threshold, node_per_region_chance, size, node_min, node_max) \ + RUSTG_CALL(RUST_G, "worley_generate")(region_size, threshold, node_per_region_chance, size, node_min, node_max) diff --git a/code/__defines/update_icons.dm b/code/__defines/update_icons.dm index 7120edd168..711eda080d 100644 --- a/code/__defines/update_icons.dm +++ b/code/__defines/update_icons.dm @@ -2,14 +2,14 @@ // Technically the layers used are all -100+layer to make them FLOAT_LAYER overlays. //Human Overlays Indexes///////// #define MUTATIONS_LAYER 1 //Mutations like fat, and lasereyes -#define SKIN_LAYER 2 //Skin things added by a call on species -#define BLOOD_LAYER 3 //Bloodied hands/feet/anything else +#define TAIL_LOWER_LAYER 2 //Tail as viewed from the south +#define WING_LOWER_LAYER 3 //Wings as viewed from the south #define BODYPARTS_LAYER 4 //Bodyparts layer -#define MOB_DAM_LAYER 5 //Injury overlay sprites like open wounds -#define SURGERY_LAYER 6 //Overlays for open surgical sites -#define UNDERWEAR_LAYER 7 //Underwear/bras/etc -#define TAIL_LOWER_LAYER 8 //Tail as viewed from the south -#define WING_LOWER_LAYER 9 //Wings as viewed from the south +#define SKIN_LAYER 5 //Skin things added by a call on species +#define BLOOD_LAYER 6 //Bloodied hands/feet/anything else +#define MOB_DAM_LAYER 7 //Injury overlay sprites like open wounds +#define SURGERY_LAYER 8 //Overlays for open surgical sites +#define UNDERWEAR_LAYER 9 //Underwear/bras/etc #define SHOES_LAYER_ALT 10 //Shoe-slot item (when set to be under uniform via verb) #define UNIFORM_LAYER 11 //Uniform-slot item #define ID_LAYER 12 //ID-slot item @@ -34,16 +34,16 @@ #define L_HAND_LAYER 31 //Left-hand item #define R_HAND_LAYER 32 //Right-hand item #define WING_LAYER 33 //Wings or protrusions over the suit. -#define TAIL_UPPER_LAYER_ALT 34 //Modified tail-sprite layer. Tend to be larger. -#define MODIFIER_EFFECTS_LAYER 35 //Effects drawn by modifiers -#define FIRE_LAYER 36 //'Mob on fire' overlay layer -#define MOB_WATER_LAYER 37 -#define TARGETED_LAYER 38 //'Aimed at' overlay layer -#define VORE_BELLY_LAYER 39 -#define VORE_TAIL_LAYER 40 - +#define VORE_BELLY_LAYER 34 //Move this and everything after up if things are added. +#define VORE_TAIL_LAYER 35 //Move this and everything after up if things are added. +#define TAIL_UPPER_LAYER_ALT 36 //Modified tail-sprite layer. Tend to be larger. +#define MODIFIER_EFFECTS_LAYER 37 //Effects drawn by modifiers +#define FIRE_LAYER 38 //'Mob on fire' overlay layer +#define MOB_WATER_LAYER 39 //'Mob submerged' overlay layer +#define TARGETED_LAYER 40 //'Aimed at' overlay layer #define TOTAL_LAYERS 40 // <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list. + //These two are only used for gargoyles currently #define HUMAN_BODY_LAYERS list(MUTATIONS_LAYER, TAIL_LOWER_LAYER, WING_LOWER_LAYER, BODYPARTS_LAYER, SKIN_LAYER, BLOOD_LAYER, MOB_DAM_LAYER, TAIL_UPPER_LAYER, HAIR_LAYER, HAIR_ACCESSORY_LAYER, EYES_LAYER, WING_LAYER, VORE_BELLY_LAYER, VORE_TAIL_LAYER, TAIL_UPPER_LAYER_ALT) #define HUMAN_OTHER_LAYERS list(MODIFIER_EFFECTS_LAYER, FIRE_LAYER, MOB_WATER_LAYER, TARGETED_LAYER) diff --git a/code/__defines/visualnet.dm b/code/__defines/visualnet.dm new file mode 100644 index 0000000000..4b503bee2d --- /dev/null +++ b/code/__defines/visualnet.dm @@ -0,0 +1 @@ +#define CHUNK_SIZE 16 diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 80abfae652..a687776f88 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -62,6 +62,7 @@ var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg) var/list/datum/visualnet/visual_nets = list() var/datum/visualnet/camera/cameranet = new() var/datum/visualnet/cult/cultnet = new() +var/datum/visualnet/ghost/ghostnet = new() // Runes var/global/list/rune_list = new() diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm index d016b7111d..05b6ff6158 100644 --- a/code/_helpers/logging.dm +++ b/code/_helpers/logging.dm @@ -228,7 +228,7 @@ if(key) if(include_link && C) - . += "" + . += "" if(C && C.holder && C.holder.fakekey) . += "Administrator" diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index e78123fe64..0efc265b49 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -1,3 +1,40 @@ +/atom/movable/proc/get_mob() + if(buckled_mobs) return buckled_mobs.Copy() + +/obj/mecha/get_mob() + return occupant + +/obj/vehicle_old/train/get_mob() + return buckled_mobs + +/mob/get_mob() + return src + +/mob/living/bot/mulebot/get_mob() + if(load && istype(load, /mob/living)) + return list(src, load) + return src + +/proc/mobs_in_view(range, source) + var/list/mobs = list() + for(var/atom/movable/AM in view(range, source)) + var/M = AM.get_mob() + if(M) + mobs += M + + return mobs + +/// This gets a list of mobs ALL around us as if we had xray vision and can see through walls. +/// Currently only used in portable_turret.dm if you wish to see an example of how to use it. +/proc/mobs_in_xray_view(range, source) + var/list/mobs = list() + for(var/atom/movable/AM in orange(range, source)) + var/M = AM.get_mob() + if(M) + mobs += M + + return mobs + /proc/random_hair_style(gender, species = SPECIES_HUMAN) var/h_style = "Bald" diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 8b5c5d0325..05bfc9a444 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -1199,7 +1199,7 @@ var/list/WALLITEMS = list( /proc/topic_link(var/datum/D, var/arglist, var/content) if(istype(arglist,/list)) arglist = list2params(arglist) - return "[content]" + return "[content]" /proc/get_random_colour(var/simple, var/lower=0, var/upper=255) var/colour @@ -1534,7 +1534,7 @@ GLOBAL_REAL_VAR(list/stack_trace_storage) // Note that object refs will be converted to text, as if \ref[thing] was done. To get the ref back on Topic() side, you will need to use locate(). // Third one is the text that will be clickable. /proc/href(href_src, list/href_params, href_text) - return "[href_text]" + return "[href_text]" // This is a helper for anything that wants to render the map in TGUI /proc/get_tgui_plane_masters() @@ -1565,6 +1565,7 @@ GLOBAL_REAL_VAR(list/stack_trace_storage) . += new /obj/screen/plane_master{plane = PLANE_MESONS} //Meson-specific things like open ceilings. . += new /obj/screen/plane_master{plane = PLANE_BUILDMODE} //Things that only show up while in build mode + . += new /obj/screen/plane_master{plane = PLANE_JANHUD} // Real tangible stuff planes . += new /obj/screen/plane_master/main{plane = TURF_PLANE} diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index cc567b9e2e..4d221c9c4f 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -347,7 +347,7 @@ else var/list/nicename = null var/list/tankcheck = null - var/breathes = "oxygen" //default, we'll check later + var/breathes = GAS_O2 //default, we'll check later var/list/contents = list() var/from = "on" @@ -376,30 +376,30 @@ continue //in it, so we're going to believe the tank is what it says it is switch(breathes) //These tanks we're sure of their contents - if("nitrogen") //So we're a bit more picky about them. + if(GAS_N2) //So we're a bit more picky about them. - if(t.air_contents.gas["nitrogen"] && !t.air_contents.gas["oxygen"]) - contents.Add(t.air_contents.gas["nitrogen"]) + if(t.air_contents.gas[GAS_N2] && !t.air_contents.gas[GAS_O2]) + contents.Add(t.air_contents.gas[GAS_N2]) else contents.Add(0) - if ("oxygen") - if(t.air_contents.gas["oxygen"] && !t.air_contents.gas["phoron"]) - contents.Add(t.air_contents.gas["oxygen"]) + if (GAS_O2) + if(t.air_contents.gas[GAS_O2] && !t.air_contents.gas[GAS_PHORON]) + contents.Add(t.air_contents.gas[GAS_O2]) else contents.Add(0) // No races breath this, but never know about downstream servers. if ("carbon dioxide") - if(t.air_contents.gas["carbon_dioxide"] && !t.air_contents.gas["phoron"]) - contents.Add(t.air_contents.gas["carbon_dioxide"]) + if(t.air_contents.gas[GAS_CO2] && !t.air_contents.gas[GAS_PHORON]) + contents.Add(t.air_contents.gas[GAS_CO2]) else contents.Add(0) // And here's for the Vox - if ("phoron") - if(t.air_contents.gas["phoron"] && !t.air_contents.gas["oxygen"]) - contents.Add(t.air_contents.gas["phoron"]) + if (GAS_PHORON) + if(t.air_contents.gas[GAS_PHORON] && !t.air_contents.gas[GAS_O2]) + contents.Add(t.air_contents.gas[GAS_PHORON]) else contents.Add(0) @@ -431,7 +431,7 @@ if(C.internals) C.internals.icon_state = "internal1" else - to_chat(C, span_notice("You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.")) + to_chat(C, span_notice("You don't have a[breathes==GAS_O2 ? "n " + GAS_O2 : addtext(" ",breathes)] tank.")) if("act_intent") usr.a_intent_change("right") if(I_HELP) diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 9b7430c016..cdd3d1ec33 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -264,10 +264,10 @@ return num_val MINUTES /datum/config_entry/string/respawn_message - default = "Make sure to play a different character, and please roleplay correctly!" + default = span_boldnotice("Make sure to play a different character, and please roleplay correctly!") /datum/config_entry/string/respawn_message/ValidateAndSet(str_val) - return "[str_val]" + return span_boldnotice("[str_val]") /datum/config_entry/flag/guest_jobban default = TRUE diff --git a/code/controllers/subsystems/chemistry.dm b/code/controllers/subsystems/chemistry.dm index 6f0c5959eb..e31b71dc00 100644 --- a/code/controllers/subsystems/chemistry.dm +++ b/code/controllers/subsystems/chemistry.dm @@ -27,7 +27,7 @@ SUBSYSTEM_DEF(chemistry) //Chemical Reactions - Initialises all /decl/chemical_reaction into a list // It is filtered into multiple lists within a list. // For example: -// chemical_reactions_by_reagent["phoron"] is a list of all reactions relating to phoron +// chemical_reactions_by_reagent[REAGENT_ID_PHORON] is a list of all reactions relating to phoron // Note that entries in the list are NOT duplicated. So if a reaction pertains to // more than one chemical it will still only appear in only one of the sublists. /datum/controller/subsystem/chemistry/proc/initialize_chemical_reactions() diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm index bc7a5a7dde..4708be526c 100644 --- a/code/controllers/subsystems/inactivity.dm +++ b/code/controllers/subsystems/inactivity.dm @@ -46,7 +46,7 @@ SUBSYSTEM_DEF(inactivity) information = " while an AI." var/adminlinks - adminlinks = " (JMP|CRYO)" + adminlinks = " (JMP|CRYO)" log_and_message_admins("being kicked for AFK[information][adminlinks]", C.mob) diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index 7f25024c4a..b46cc00172 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -108,10 +108,10 @@ SUBSYSTEM_DEF(plants) if(survive_on_station) if(seed.consume_gasses) - seed.consume_gasses["phoron"] = null - seed.consume_gasses["carbon_dioxide"] = null - if(seed.chems && !isnull(seed.chems["pacid"])) - seed.chems["pacid"] = null // Eating through the hull will make these plants completely inviable, albeit very dangerous. + seed.consume_gasses[GAS_PHORON] = null + seed.consume_gasses[GAS_CO2] = null + if(seed.chems && !isnull(seed.chems[REAGENT_ID_PACID])) + seed.chems[REAGENT_ID_PACID] = null // Eating through the hull will make these plants completely inviable, albeit very dangerous. seed.chems -= null // Setting to null does not actually remove the entry, which is weird. seed.set_trait(TRAIT_IDEAL_HEAT,293) seed.set_trait(TRAIT_HEAT_TOLERANCE,20) diff --git a/code/controllers/subsystems/statpanel.dm b/code/controllers/subsystems/statpanel.dm index 2400e1da80..af505585f1 100644 --- a/code/controllers/subsystems/statpanel.dm +++ b/code/controllers/subsystems/statpanel.dm @@ -427,8 +427,8 @@ SUBSYSTEM_DEF(statpanels) COMSIG_MOB_LOGOUT = PROC_REF(on_mob_logout), ) AddComponent(/datum/component/connect_mob_behalf, parent, connections) - RegisterSignal(parent.tracked_turf, COMSIG_ATOM_ENTERED, PROC_REF(turflist_changed)) - RegisterSignal(parent.tracked_turf, COMSIG_ATOM_EXITED, PROC_REF(turflist_changed)) + RegisterSignal(new_turf, COMSIG_ATOM_ENTERED, PROC_REF(turflist_changed)) + RegisterSignal(new_turf, COMSIG_ATOM_EXITED, PROC_REF(turflist_changed)) parent.stat_panel.send_message("create_listedturf", new_turf) parent.tracked_turf = new_turf diff --git a/code/controllers/subsystems/vote.dm b/code/controllers/subsystems/vote.dm index 834af1769e..3d2b5d63fa 100644 --- a/code/controllers/subsystems/vote.dm +++ b/code/controllers/subsystems/vote.dm @@ -253,7 +253,7 @@ SUBSYSTEM_DEF(vote) log_vote(text) - to_world(span_filter_system(span_purple(span_bold("[text]") + "\nType " + span_bold("vote") + " or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote."))) + to_world(span_filter_system(span_purple(span_bold("[text]") + "\nType " + span_bold("vote") + " or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote."))) if(vote_type == VOTE_CREW_TRANSFER || vote_type == VOTE_GAMEMODE || vote_type == VOTE_CUSTOM) world << sound('sound/misc/notice1.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) //YW Edit @@ -293,55 +293,55 @@ SUBSYSTEM_DEF(vote) . += "" var/thisVote = (current_votes[C.ckey] == i) if(mode == VOTE_GAMEMODE) - . += "[thisVote ? "" : ""][gamemode_names[choices[i]]][thisVote ? "" : ""][votes]" + . += "[thisVote ? "" : ""][gamemode_names[choices[i]]][thisVote ? "" : ""][votes]" else - . += "[thisVote ? "" : ""][choices[i]][thisVote ? "" : ""][votes]" + . += "[thisVote ? "" : ""][choices[i]][thisVote ? "" : ""][votes]" if (additional_text.len >= i) . += additional_text[i] . += "" - . += "Unvote" + . += "Unvote" . += "
" if(admin) - . += "(Cancel Vote) " + . += "(Cancel Vote) " else . += "

Start a vote:



" - . += "Close" + . += "Close" /datum/controller/subsystem/vote/Topic(href, href_list[]) if(!usr || !usr.client) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index 1c6cdaf470..3b297a3152 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -202,13 +202,13 @@ var/output = {"
[Message]

- [Button1]"} + [Button1]"} if (Button2) - output += {"[Button2]"} + output += {"[Button2]"} if (Button3) - output += {"[Button3]"} + output += {"[Button3]"} output += {"
"} diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index be1b1236ad..49f267e296 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -45,7 +45,7 @@ var/prompt = tgui_alert(usr, "Do you want to grant [C] access to view this VV window? (they will not be able to edit or change anysrc nor open nested vv windows unless they themselves are an admin)", "Confirm", list("Yes", "No")) if (prompt != "Yes" || !usr.client) return - message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") + message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a VV window") log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [src]") to_chat(C, "[usr.client.holder.fakekey ? "an Administrator" : "[usr.client.key]"] has granted you access to view a View Variables window") C.debug_variables(src) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 22cdabb1dd..492884b12a 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -73,12 +73,19 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) stage = min(stage + 1, max_stages) if(!discovered && stage >= CEILING(max_stages * discovery_threshold, 1)) discovered = TRUE - BITSET(affected_mob.hud_updateflag, STATUS_HUD) /datum/disease/proc/handle_cure_testing(has_cure = FALSE) if(has_cure && prob(cure_chance)) stage = max(stage -1, 1) + for(var/organ in required_organs) + if(locate(organ) in affected_mob.internal_organs) + continue + if(locate(organ) in affected_mob.organs) + continue + cure() + return FALSE + if(disease_flags & CURABLE) if(has_cure && prob(cure_chance)) cure() @@ -106,7 +113,7 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) if((spread_flags & SPECIAL || spread_flags & NON_CONTAGIOUS || spread_flags & BLOOD) && !force_spread) return - if(affected_mob.bloodstr.has_reagent("spaceacillin") || (affected_mob.nutrition > 300 && prob(affected_mob.nutrition/50))) + if(affected_mob.bloodstr.has_reagent(REAGENT_ID_SPACEACILLIN) || (affected_mob.nutrition > 300 && prob(affected_mob.nutrition/50))) return var/spread_range = 1 @@ -119,7 +126,7 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) var/turf/target = affected_mob.loc if(istype(target)) - for(var/mob/living/carbon/C in oview(spread_range, affected_mob)) + for(var/mob/living/carbon/human/C in oview(spread_range, affected_mob)) var/turf/current = get_turf(C) if(current) while(TRUE) @@ -128,6 +135,8 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) break var/direction = get_dir(current, target) var/turf/next = get_step(current, direction) + if(!current.CanZASPass() || !next.CanZASPass(get_turf(turn(direction, 100)))) + break current = next /datum/disease/proc/cure() @@ -153,12 +162,16 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) /datum/disease/proc/IsSpreadByTouch() if(spread_flags & CONTACT_FEET || spread_flags & CONTACT_HANDS || spread_flags & CONTACT_GENERAL) - return 1 - return 0 + return TRUE + return FALSE + +/datum/disease/proc/IsSpreadByAir() + if(spread_flags & AIRBORNE) + return TRUE + return FALSE /datum/disease/proc/remove_virus() affected_mob.viruses -= src - BITSET(affected_mob.hud_updateflag, STATUS_HUD) /datum/disease/proc/Start() return diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index e5790c3bca..ecf4ff22fc 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -1,10 +1,10 @@ GLOBAL_LIST_EMPTY(archive_diseases) GLOBAL_LIST_INIT(advance_cures, list( - "sodiumchloride", "sugar", "orangejuice", - "spaceacillin", "glucose", "ethanol", - "leporazine", "impedrezene", "hepanephrodaxon", - "silver", "gold" + REAGENT_ID_SODIUMCHLORIDE, REAGENT_ID_SUGAR, REAGENT_ID_ORANGEJUICE, + REAGENT_ID_SPACEACILLIN, REAGENT_ID_GLUCOSE, REAGENT_ID_ETHANOL, + REAGENT_ID_LEPORAZINE, REAGENT_ID_IMPEDREZENE, REAGENT_ID_HEPANEPHRODAXON, + REAGENT_ID_SILVER, REAGENT_ID_GOLD )) /datum/disease/advance diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index 039d9ad8db..dc28c109a2 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -16,7 +16,6 @@ Bonus */ /datum/symptom/confusion - name = "Confusion" stealth = 1 resistance = -1 @@ -25,7 +24,6 @@ Bonus level = 4 severity = 2 - /datum/symptom/confusion/Activate(datum/disease/advance/A) ..() if(prob(SYMPTOM_ACTIVATION_PROB)) diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm index 00a33e9ce6..cc932ab4cc 100644 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -10,8 +10,7 @@ Coughing Low Level. BONUS - Will force the affected mob to drop small items. - Small spread if not wearing a mask + Will force the affected mob to drop small items. Small spread if not wearing a mask. ////////////////////////////////////// */ diff --git a/code/datums/diseases/advance/symptoms/damage_converter.dm b/code/datums/diseases/advance/symptoms/damage_converter.dm index f2a299469b..b47aa89a6c 100644 --- a/code/datums/diseases/advance/symptoms/damage_converter.dm +++ b/code/datums/diseases/advance/symptoms/damage_converter.dm @@ -22,6 +22,7 @@ Bonus stage_speed = -4 transmittable = -2 level = 4 + severity = 0 /datum/symptom/damage_converter/Activate(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index fdedcba79c..90bc8836b0 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -15,7 +15,6 @@ Bonus ////////////////////////////////////// */ -/// Not the egg /datum/symptom/dizzy name = "Dizziness" stealth = 2 diff --git a/code/datums/diseases/advance/symptoms/flip.dm b/code/datums/diseases/advance/symptoms/flip.dm index e210e4b3bf..2c9164a536 100644 --- a/code/datums/diseases/advance/symptoms/flip.dm +++ b/code/datums/diseases/advance/symptoms/flip.dm @@ -11,7 +11,6 @@ Flippinov BONUS Makes the host FLIP. - Should be used for buffing your disease. ////////////////////////////////////// */ @@ -23,7 +22,7 @@ BONUS stage_speed = 3 transmittable = 1 level = 1 - severity = 1 + severity = 0 /datum/symptom/spyndrome/Activate(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm index 1a6c2ff109..2b2342ae08 100644 --- a/code/datums/diseases/advance/symptoms/hair.dm +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -1,5 +1,6 @@ /* ////////////////////////////////////// + Alopecia Noticable. diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm index 431ed9b670..de84b21fc1 100644 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -10,8 +10,7 @@ Headache Low Level. BONUS - Displays an annoying message! - Should be used for buffing your disease. + Displays an annoying message. ////////////////////////////////////// */ diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 340b88d6b4..0d77fc6f07 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -22,6 +22,7 @@ Bonus stage_speed = -4 transmittable = -4 level = 6 + severity = 0 /datum/symptom/heal/Activate(datum/disease/advance/A) ..() @@ -61,6 +62,7 @@ Bonus stage_speed = -1 transmittable = -4 level = 3 + severity = 0 var/list/cured_diseases = list() /datum/symptom/heal/metabolism/Heal(mob/living/M, datum/disease/advance/A) @@ -108,6 +110,7 @@ Bonus stage_speed = 4 transmittable = 4 level = 3 + severity = 0 var/longevity = 30 /datum/symptom/heal/longevity/Heal(mob/living/M, datum/disease/advance/A) @@ -142,6 +145,7 @@ Bonus stage_speed = 0 transmittable = -3 level = 5 + severity = 0 /datum/symptom/heal/dna/Heal(var/mob/living/carbon/M, var/datum/disease/advance/A) var/amt_healed = max(0, (sqrtor0(20+A.totalStageSpeed()*(3+rand())))-(sqrtor0(16+A.totalStealth()*rand()))) diff --git a/code/datums/diseases/advance/symptoms/hematophagy.dm b/code/datums/diseases/advance/symptoms/hematophagy.dm index 53e5aa842d..086c0400a9 100644 --- a/code/datums/diseases/advance/symptoms/hematophagy.dm +++ b/code/datums/diseases/advance/symptoms/hematophagy.dm @@ -22,6 +22,7 @@ BONUS resistance = -4 transmittable = 1 level = 4 + severity = 1 /datum/symptom/hematophagy/Start(datum/disease/advance/A) if(ishuman(A.affected_mob)) diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index fdf2f5f5e4..f9e6781443 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -10,8 +10,7 @@ Itching Low Level. BONUS - Displays an annoying message! - Should be used for buffing your disease. + Displays an annoying message. ////////////////////////////////////// */ diff --git a/code/datums/diseases/advance/symptoms/language.dm b/code/datums/diseases/advance/symptoms/language.dm index 3ffa7c06bb..1f06e5c030 100644 --- a/code/datums/diseases/advance/symptoms/language.dm +++ b/code/datums/diseases/advance/symptoms/language.dm @@ -10,7 +10,7 @@ Lingual Disocation Moderate Level. Bonus - Forces the affected mob to vomit + Randomly changes the language of the mob. ////////////////////////////////////// */ @@ -22,6 +22,7 @@ Bonus stage_speed = -2 transmittable = -1 level = 3 + severity = 1 /datum/symptom/language/Activate(var/datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/mlem.dm b/code/datums/diseases/advance/symptoms/mlem.dm index fdb8672c27..e48329be9c 100644 --- a/code/datums/diseases/advance/symptoms/mlem.dm +++ b/code/datums/diseases/advance/symptoms/mlem.dm @@ -11,7 +11,6 @@ Mlemingtong BONUS Mlem. Mlem. Mlem. - Should be used for buffing your disease. ////////////////////////////////////// */ diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index 3f9fbd8eee..a0e0498700 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -22,6 +22,7 @@ Bonus stage_speed = -3 transmittable = -4 level = 6 + severity = 0 /datum/symptom/oxygen/Activate(var/datum/disease/advance/A) ..() @@ -29,8 +30,8 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(4, 5) - if(M.reagents.get_reagent_amount("dexalin") < 10) - M.reagents.add_reagent("dexalin", 10) + if(M.reagents.get_reagent_amount(REAGENT_ID_DEXALIN) < 10) + M.reagents.add_reagent(REAGENT_ID_DEXALIN, 10) else if(prob(SYMPTOM_ACTIVATION_PROB * 5)) to_chat(M, span_notice(pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe."))) diff --git a/code/datums/diseases/advance/symptoms/pica.dm b/code/datums/diseases/advance/symptoms/pica.dm index ddd7e282d8..6f8221a74b 100644 --- a/code/datums/diseases/advance/symptoms/pica.dm +++ b/code/datums/diseases/advance/symptoms/pica.dm @@ -22,7 +22,7 @@ BONUS stage_speed = 3 transmittable = 1 level = 1 - severity = 1 + severity = 0 /datum/symptom/pica/Start(datum/disease/advance/A) add_verb(A.affected_mob, /mob/living/proc/eat_trash) diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index 8e19382f94..8de8690841 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -32,15 +32,15 @@ Bonus if(A.stage >= 3) M.slurring = max(0, M.slurring-4) M.druggy = max(0, M.druggy-4) - M.reagents.remove_reagent("ethanol", 3) + M.reagents.remove_reagent(REAGENT_ID_ETHANOL, 3) if(A.stage >= 4) M.drowsyness = max(0, M.drowsyness-4) - if(M.reagents.has_reagent("bliss")) - M.reagents.del_reagent("bliss") + if(M.reagents.has_reagent(REAGENT_ID_BLISS)) + M.reagents.del_reagent(REAGENT_ID_BLISS) M.hallucination = max(0, M.hallucination-4) if(A.stage >= 5) - if(M.reagents.get_reagent_amount("alkysine") < 10) - M.reagents.add_reagent("alkysine", 5) + if(M.reagents.get_reagent_amount(REAGENT_ID_ALKYSINE) < 10) + M.reagents.add_reagent(REAGENT_ID_ALKYSINE, 5) /datum/symptom/sensory_restoration name = "Sensory Restoration" @@ -56,8 +56,8 @@ Bonus var/mob/living/M = A.affected_mob switch(A.stage) if(4, 5) - if(M.reagents.get_reagent_amount("imidazoline") < 10) - M.reagents.add_reagent("imidazoline", 5) + if(M.reagents.get_reagent_amount(REAGENT_ID_IMIDAZOLINE) < 10) + M.reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 5) else if(prob(SYMPTOM_ACTIVATION_PROB)) to_chat(M, span_notice(pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink."))) diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index 529596945b..d2f203bba1 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -68,7 +68,7 @@ Bonus stage_speed = 0 transmittable = 1 level = 4 - severity = 1 + severity = 3 /datum/symptom/sneeze/bluespace/Activate(datum/disease/advance/A) ..() @@ -79,8 +79,9 @@ Bonus M.emote("sniff") else SneezeTeleport(A, M) - A.spread(A.stage) - if(prob(30)) + if(!M.wear_mask) + A.spread(A.stage) + if(prob(30) && !M.wear_mask) var/obj/effect/decal/cleanable/mucus/icky = new(get_turf(M)) icky.viruses |= A.Copy() diff --git a/code/datums/diseases/advance/symptoms/spin.dm b/code/datums/diseases/advance/symptoms/spin.dm index 055505dba9..0dc0d7d6bf 100644 --- a/code/datums/diseases/advance/symptoms/spin.dm +++ b/code/datums/diseases/advance/symptoms/spin.dm @@ -11,7 +11,6 @@ Spyndrome BONUS Makes the host spin. - Should be used for buffing your disease. ////////////////////////////////////// */ @@ -23,7 +22,7 @@ BONUS stage_speed = 3 transmittable = 1 level = 1 - severity = 1 + severity = 0 /datum/symptom/spyndrome/Activate(var/datum/disease/advance/A) ..() diff --git a/code/datums/diseases/advance/symptoms/stimulant.dm b/code/datums/diseases/advance/symptoms/stimulant.dm index 4a427d4036..665fad2a6d 100644 --- a/code/datums/diseases/advance/symptoms/stimulant.dm +++ b/code/datums/diseases/advance/symptoms/stimulant.dm @@ -1,7 +1,7 @@ /* ////////////////////////////////////// -Healing +Overactve Adrenal Gland No change to stealth. Slightly decreases resistance. @@ -10,7 +10,7 @@ Healing Moderate Level. Bonus - Heals toxins in the affected mob's blood stream. + The host produces hyperzine and gets very jittery ////////////////////////////////////// */ @@ -36,8 +36,8 @@ Bonus if(3, 4) L.jitteriness += 10 else - if(L.reagents.get_reagent_amount("hyperzine" < 10)) - L.reagents.add_reagent("hyperzine", 5) + if(L.reagents.get_reagent_amount(REAGENT_ID_HYPERZINE < 10)) + L.reagents.add_reagent(REAGENT_ID_HYPERZINE, 5) if(prob(30)) L.jitteriness += 15 return diff --git a/code/datums/diseases/advance/symptoms/telepathy.dm b/code/datums/diseases/advance/symptoms/telepathy.dm index 3e02ec94d8..dd3424b7c6 100644 --- a/code/datums/diseases/advance/symptoms/telepathy.dm +++ b/code/datums/diseases/advance/symptoms/telepathy.dm @@ -22,6 +22,7 @@ Bonus stage_speed = -3 transmittable = -4 level = 5 + severity = 0 /datum/symptom/telepathy/Start(datum/disease/advance/A) var/mob/living/carbon/human/H = A.affected_mob diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm index 3da1de698c..3c901f371d 100644 --- a/code/datums/diseases/advance/symptoms/viral.dm +++ b/code/datums/diseases/advance/symptoms/viral.dm @@ -20,6 +20,7 @@ BONUS stage_speed = -3 transmittable = 0 level = 3 + severity = 0 /datum/symptom/viraladaptation/Activate(datum/disease/advance/A) ..() @@ -53,6 +54,7 @@ BONUS stage_speed = 5 transmittable = 3 level = 3 + severity = 0 /datum/symptom/viralevolution/Activate(datum/disease/advance/A) ..() diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index 78b630bc15..c3ed12fa5c 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -4,8 +4,8 @@ max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Ethanol" - cures = list("ethanol") + cure_text = REAGENT_ETHANOL + cures = list(REAGENT_ID_ETHANOL) agent = "Excess Lepdopticides" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "If left untreated subject will regurgitate butterflies." diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index ab7f5383b3..6b38902b6d 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -9,7 +9,7 @@ viable_mobtypes = list(/mob/living/carbon/human) desc = "If left untreated the subject will become very weak, and may vomit often." severity = MINOR - disease_flags = CAN_CARRY|CAN_CARRY + disease_flags = CAN_CARRY|CAN_RESIST visibility_flags = HIDDEN_PANDEMIC required_organs = list(/obj/item/organ/internal/appendix) bypasses_immunity = TRUE diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index a867c8d9d9..be6923c710 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -4,8 +4,8 @@ max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Sugar" - cures = list("sugar") + cure_text = REAGENT_SUGAR + cures = list(REAGENT_ID_SUGAR) agent = "Apidae Infection" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "If left untreated, subject will regurgitate bees." diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm index 57899ef201..b7fa0ea033 100644 --- a/code/datums/diseases/brainrot.dm +++ b/code/datums/diseases/brainrot.dm @@ -3,8 +3,8 @@ max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Alkysine" - cures = list("alkysine") + cure_text = REAGENT_ALKYSINE + cures = list(REAGENT_ID_ALKYSINE) agent = "Cryptococcus Cosmosis" viable_mobtypes = list(/mob/living/carbon/human) cure_chance = 15 diff --git a/code/datums/diseases/choreomania.dm b/code/datums/diseases/choreomania.dm index 9fd41c4cd6..01802a7801 100644 --- a/code/datums/diseases/choreomania.dm +++ b/code/datums/diseases/choreomania.dm @@ -2,8 +2,8 @@ name = "Choreomania" max_stages = 3 spread_text = "Airborne" - cure_text = "Adranol" - cures = list("adranol") + cure_text = REAGENT_ADRANOL + cures = list(REAGENT_ID_ADRANOL) cure_chance = 10 agent = "TAP-DAnC3" viable_mobtypes = list(/mob/living/carbon/human) diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 487f466761..f9576f857b 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -3,8 +3,8 @@ max_stages = 3 spread_text = "Airborne" spread_flags = AIRBORNE - cure_text = "Rest & Spaceacillin" - cures = list("spaceacillin", "chicken_soup") + cure_text = "Rest & " + REAGENT_SPACEACILLIN + cures = list(REAGENT_ID_SPACEACILLIN, REAGENT_ID_CHICKENSOUP) needs_all_cures = FALSE agent = "XY-rhinovirus" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm index a0fa691976..ff82a5cfb5 100644 --- a/code/datums/diseases/cold9.dm +++ b/code/datums/diseases/cold9.dm @@ -4,8 +4,8 @@ max_stages = 3 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Spaceacillin" - cures = list("spaceacillin") + cure_text = REAGENT_SPACEACILLIN + cures = list(REAGENT_ID_SPACEACILLIN) agent = "ICE9-rhinovirus" viable_mobtypes = list(/mob/living/carbon/human) desc = "If left untreated the subject will slow, as if partly frozen." diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm index ca36f57d87..a7831689d1 100644 --- a/code/datums/diseases/fake_gbs.dm +++ b/code/datums/diseases/fake_gbs.dm @@ -3,8 +3,8 @@ max_stages = 5 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Adranol & Sulfur" - cures = list("adranol", "sulfur") + cure_text = REAGENT_ADRANOL + " & " + REAGENT_SULFUR + cures = list(REAGENT_ID_ADRANOL, REAGENT_ID_SULFUR) agent = "Gravitokinetic Bipotential SADS-" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "if left untreated death will occur." diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm index 2962f48e9b..4152623124 100644 --- a/code/datums/diseases/flu.dm +++ b/code/datums/diseases/flu.dm @@ -2,8 +2,8 @@ name = "The Flu" max_stages = 3 spread_text = "Airborne" - cure_text = "Spaceacillin" - cures = list("spaceacillin", "chicken_soup") + cure_text = REAGENT_SPACEACILLIN + cures = list(REAGENT_ID_SPACEACILLIN, REAGENT_ID_CHICKENSOUP) needs_all_cures = FALSE cure_chance = 10 agent = "H13N1 flu virion" diff --git a/code/datums/diseases/food_poisoning.dm b/code/datums/diseases/food_poisoning.dm index cbb7a0c804..1cd43b25f2 100644 --- a/code/datums/diseases/food_poisoning.dm +++ b/code/datums/diseases/food_poisoning.dm @@ -5,8 +5,8 @@ spread_text = "Non-Contagious" spread_flags = NON_CONTAGIOUS cure_text = "Sleep" - agent = "Salmonella" - cures = list("chicken_soup") + agent = REAGENT_SALMONELLA + cures = list(REAGENT_ID_CHICKENSOUP) cure_chance = 10 viable_mobtypes = list(/mob/living/carbon/human) desc = "Nausea, sickness, and vomitting." diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm index ea2c755e27..0c61fd309b 100644 --- a/code/datums/diseases/gbs.dm +++ b/code/datums/diseases/gbs.dm @@ -3,8 +3,8 @@ max_stages = 5 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Adranol & Sulfur" - cures = list("adranol", "sulfur") + cure_text = REAGENT_ADRANOL + " & " + REAGENT_SULFUR + cures = list(REAGENT_ID_ADRANOL, REAGENT_ID_SULFUR) cure_chance = 15 agent = "Gravitokinetic Bipotential SADS+" viable_mobtypes = list(/mob/living/carbon/human) @@ -42,8 +42,8 @@ stage_prob = 5 spread_text = "Non-contagious" spread_flags = NON_CONTAGIOUS - cure_text = "Cryoxadone" - cures = list("cryoxadone") + cure_text = REAGENT_CRYOXADONE + cures = list(REAGENT_ID_CRYOXADONE) cure_chance = 10 agent = "gibbis" disease_flags = CURABLE diff --git a/code/datums/diseases/lycancoughy.dm b/code/datums/diseases/lycancoughy.dm index 6d8f106163..15a49b28c4 100644 --- a/code/datums/diseases/lycancoughy.dm +++ b/code/datums/diseases/lycancoughy.dm @@ -4,8 +4,8 @@ max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Ethanol" - cures = list("ethanol") + cure_text = REAGENT_ETHANOL + cures = list(REAGENT_ID_ETHANOL) agent = "Excess Snuggles" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "If left untreated subject will regurgitate... puppies." diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm index 24b2261cda..e791bb6c88 100644 --- a/code/datums/diseases/magnitis.dm +++ b/code/datums/diseases/magnitis.dm @@ -2,8 +2,8 @@ name = "Magnitis" max_stages = 4 spread_text = "Airbone" - cure_text = "Iron" - cures = list("iron") + cure_text = REAGENT_IRON + cures = list(REAGENT_ID_IRON) agent = "Fukkos Miracos" viable_mobtypes = list(/mob/living/carbon/human) permeability_mod = 0.75 diff --git a/code/datums/diseases/roanoake.dm b/code/datums/diseases/roanoake.dm index 412ff16ae7..dac36d609f 100644 --- a/code/datums/diseases/roanoake.dm +++ b/code/datums/diseases/roanoake.dm @@ -4,9 +4,9 @@ stage_prob = 2 spread_text = "Blood and close contact" spread_flags = BLOOD - cure_text = "Spaceacillin" + cure_text = REAGENT_SPACEACILLIN agent = "Chimera cells" - cures = list("spaceacillin") + cures = list(REAGENT_ID_SPACEACILLIN) cure_chance = 10 viable_mobtypes = list(/mob/living/carbon/human) desc = "If left untreated, subject will become a xenochimera upon perishing." @@ -18,7 +18,7 @@ var/list/obj/item/organ/organ_list = list() var/obj/item/organ/O -/datum/disease/roanoake/Start +/datum/disease/roanoake/Start() var/mob/living/carbon/human/M = affected_mob organ_list += M.organs @@ -35,6 +35,7 @@ if(prob(1)) to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning."))) if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT) + fever(M) if(3) if(prob(1)) to_chat(M, span_notice("You shiver a bit.")) @@ -77,8 +78,10 @@ O.take_damage(rand(1, 3)) if(prob(1) && prob(10)) + O = pick(organ_list) + var/obj/item/organ/external/E = O.parent_organ var/datum/wound/W = new /datum/wound/internal_bleeding(5) - O.wounds += W + E.wounds += W if(M.stat == DEAD) M.species = /datum/species/xenochimera diff --git a/code/datums/locations/qerrvallis.dm b/code/datums/locations/qerrvallis.dm index 79efa37c9a..a3cc2468ba 100644 --- a/code/datums/locations/qerrvallis.dm +++ b/code/datums/locations/qerrvallis.dm @@ -26,32 +26,32 @@ ..(creator) /datum/locations/qarrkloa - name = "Qarrkloa" - desc = "Mythically considered the first State-City ever built by Skrellkind, Qarrkloa attracts thousands of tourists and archeologists \ + name = "Qarr'kloa" + desc = "Mythically considered the first State-City ever built by Skrellkind, Qarr'kloa attracts thousands of tourists and archeologists \ every year thanks to the ancestral structures, built thousands of years ago by the Skrell, scattered in its vicinity." /datum/locations/moglar - name = "Moglar" - desc = "Built on the northern coast of Qorrgloa, Moglar was, at the time of XiKrrioals colonization, a major port of trade between \ + name = "Mo'glar" + desc = "Built on the northern coast of Qorr'gloa, Mo'glar was, at the time of Xi'Krri'oal's colonization, a major port of trade between \ the two continents of the planet. It has kept that role to this day, although it never truly adapted to inter-planetary trade, leaving the \ - task of exporting Qerrbalaks goods to other planets to other cities, mainly on XiKrrioal." + task of exporting Qerrbalak's goods to other planets to other cities, mainly on Xi'Krri'oal." /datum/locations/miqoxi - name = "Miqoxi" - desc = "This city, built on the small patch of islands north of XiKrrioal, owes most of its current status to the infamous Qerr-Skria \ - Glomorr Krrixi who, in the 23th century BCE, built a large empire spanning from the Qorria Sea to the current city of Qalkrrea, mostly \ - through military conquests. As the center of his empire, Miqoxi became a large center of population and industry and while the fall of \ - the empire at Krrixis death did put a halt to the citys growth, it is still today one of the biggest cities of the continent." + name = "Mi'qoxi" + desc = "This city, built on the small patch of islands north of Xi'Krri'oal, owes most of its current status to the infamous Qerr-Skria \ + Glo'morr Krrixi who, in the 23th century BCE, built a large empire spanning from the Qo'rria Sea to the current city of Qal'krrea, mostly \ + through military conquests. As the center of his empire, Mi'qoxi became a large center of population and industry and while the fall of \ + the empire at Krrixi's death did put a halt to the city's growth, it is still today one of the biggest cities of the continent." /datum/locations/kallo - name = "Kallo" - desc = "A relatively recent city compared to the other major cities of the planet, Kallo quickly rose in status by fathering some of the most \ - important figures of modern skrellian society. It is notably the birthplace of Xikrra Kolgoa, who wrote the Loglomogrri in 46 BCE, \ + name = "Kal'lo" + desc = "A relatively recent city compared to the other major cities of the planet, Kal'lo quickly rose in status by fathering some of the most \ + important figures of modern skrellian society. It is notably the birthplace of Xikrra Kol'goa, who wrote the Lo'glo'mog'rri in 46 BCE, \ the constitutional code that is still used by most of the skrellian states in the galaxy." /datum/locations/glimorr - name = "Glimorr" - desc = "While Glimorr is not as heavily-populated than its continental counterparts, its touristic potential made it rich enough to finance \ + name = "Gli'morr" + desc = "While Gli'morr is not as heavily-populated than its continental counterparts, its touristic potential made it rich enough to finance \ the biggest research center of the planet, covering dozens of scientific fields. Its Academy is just as much renowned, and even the lowest \ Qrri-Mog (although most of its students prefer to continue their studies until they become Qerr-Mog) coming out of its classrooms is \ - considered part of the elite." \ No newline at end of file + considered part of the elite." diff --git a/code/datums/locations/vir.dm b/code/datums/locations/vir.dm index 377ecc9b03..3a407f1dc8 100644 --- a/code/datums/locations/vir.dm +++ b/code/datums/locations/vir.dm @@ -17,12 +17,12 @@ /datum/locations/firnir name = "Firnir" - desc = "Tidally locked to Vir and having temperatures in excess of 570 degrees kelvin (299C) on the day side has caused this planet to go mostly ignored." + desc = "Tidally locked to Vir and having temperatures in excess of 570 degrees kelvin (299°C) on the day side has caused this planet to go mostly ignored." /datum/locations/tyr name = "Tyr" desc = "Second closest planet, with a high concentration of minerals in the crust, but otherwise a typical planet. The surface temperature can reach \ - 405 degrees kelvin (132C), which deter most mining operations, except for one, which has a mining base and a few orbitals established, utilizing \ + 405 degrees kelvin (132°C), which deter most mining operations, except for one, which has a mining base and a few orbitals established, utilizing \ specialized equipment, chiefly being autonomous synthetic mining drones, to retrieve precious ore in a rather expensive, but safer way, compared to the \ pirate haven that is asteroid mining." @@ -30,16 +30,16 @@ name = "Sif" desc = "Falling within Vir's 'habitable zone', the third planet was the first to be colonized, initially by a large group of colonists owing \ loyalty to their own employers. Unfortunate events discussed previously had forced the settlement to be abandoned, and then reclaimed. \ - The planet's mean temperature is 286 kelvin (13C), chilly but habitable." + The planet's mean temperature is 286 kelvin (13°C), chilly but habitable." /datum/locations/magni name = "Magni" - desc = "Outside of the habitable zone, Vir D is generally at 202 kelvin (-71C)." + desc = "Outside of the habitable zone, Vir D is generally at 202 kelvin (-71°C)." /datum/locations/kara name = "Kara" desc = "A gas giant, with a large number of moons. Captured asteroids, to be specific. Many of these asteroids are being used by different companies for \ - various purposes. The temperature of the gas giant is 150 kelvin (-108C)" + various purposes. The temperature of the gas giant is 150 kelvin (-108°C)" /datum/locations/kara/New(var/creator) contents.Add( @@ -65,4 +65,4 @@ /datum/locations/rota name = "Rota" - desc = "A Neptune-like ice giant, with a beautiful ring system circling it. It is 165 kelvin (-157C)." \ No newline at end of file + desc = "A Neptune-like ice giant, with a beautiful ring system circling it. It is 165 kelvin (-157°C)." diff --git a/code/datums/managed_browsers/changelingevolution.dm b/code/datums/managed_browsers/changelingevolution.dm index a58b255240..635b9dd9b5 100644 --- a/code/datums/managed_browsers/changelingevolution.dm +++ b/code/datums/managed_browsers/changelingevolution.dm @@ -27,14 +27,14 @@ dat += "
Genetic Points Available: [geneticpoints_current] / [geneticpoints_max]
" dat += "Obtain more by feeding on your own kind.

" - dat += "What am I?

" - dat += "Inherent" - dat += "Armor" - dat += "Weapons" - dat += "Stings" - dat += "Shrieks" - dat += "Health" - dat += "Enhancements
" + dat += "What am I?

" + dat += "Inherent" + dat += "Armor" + dat += "Weapons" + dat += "Stings" + dat += "Shrieks" + dat += "Health" + dat += "Enhancements" if(textbody) dat += "" dat += "[textbody]" @@ -162,6 +162,6 @@ textbody += "
This ability is already evolved!
" else if(cat != "Inherent") textbody += "
Cost: [powerdata.genomecost]
" - textbody += "
Evolve
" + textbody += "
Evolve
" textbody += "" display() diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 17b3925645..78a75a7114 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -133,7 +133,7 @@ var/out = span_bold("[name]") + "[(current&&(current.real_name!=name))?" (as [current.real_name])":""]
" out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
" - out += "Assigned role: [assigned_role]. Edit
" + out += "Assigned role: [assigned_role]. Edit
" out += "
" out += "Factions and special roles:
" for(var/antag_type in all_antag_types) @@ -150,15 +150,15 @@ out += "([span_green("complete")])" else out += "([span_red("incomplete")])" - out += " \[toggle\]" - out += " \[remove\]
" + out += " \[toggle\]" + out += " \[remove\]
" num++ - out += "
\[announce objectives\]" + out += "
\[announce objectives\]" else out += "None." - out += "
\[add\]

" - out += span_bold("Ambitions:") + " [ambitions ? ambitions : "None"] \[edit\]
" + out += "
\[add\]

" + out += span_bold("Ambitions:") + " [ambitions ? ambitions : "None"] \[edit\]
" usr << browse(out, "window=edit_memory[src]") /datum/mind/Topic(href, href_list) diff --git a/code/datums/outfits/misc.dm b/code/datums/outfits/misc.dm index 13620cbf9a..8f74e25541 100644 --- a/code/datums/outfits/misc.dm +++ b/code/datums/outfits/misc.dm @@ -76,3 +76,18 @@ headset = /obj/item/radio/headset headset_alt = /obj/item/radio/headset/alt headset_earbud = /obj/item/radio/headset/earbud + + flags = OUTFIT_HAS_BACKPACK + backpack = /obj/item/storage/backpack + satchel_one = /obj/item/storage/backpack/satchel/norm + satchel_two = /obj/item/storage/backpack/satchel + messenger_bag = /obj/item/storage/backpack/messenger + sports_bag = /obj/item/storage/backpack/sport + satchel_three = /obj/item/storage/backpack/satchel/strapless + + backpack_contents = list(/obj/item/spacecash/c200 = 1) + +/decl/hierarchy/outfit/maint_lurker/post_equip(var/mob/living/carbon/human/H) + ..() + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/spacecash/c200(H), slot_l_hand) diff --git a/code/datums/supplypacks/atmospherics.dm b/code/datums/supplypacks/atmospherics.dm index 883fec6fe4..931fe6062b 100644 --- a/code/datums/supplypacks/atmospherics.dm +++ b/code/datums/supplypacks/atmospherics.dm @@ -9,6 +9,7 @@ /datum/supply_pack/atmos/inflatable name = "Inflatable barriers" + desc = "Three cases of self-inflating barriers." contains = list(/obj/item/storage/briefcase/inflatable = 3) cost = 20 containertype = /obj/structure/closet/crate/aether @@ -16,42 +17,50 @@ /datum/supply_pack/atmos/canister_empty name = "Empty gas canister" + desc = "An empty gas canister." cost = 7 contains = list(/obj/machinery/portable_atmospherics/canister) /datum/supply_pack/atmos/canister_air name = "Air canister" + desc = "A large canister full of standard oxy/nitro air mix." cost = 10 contains = list(/obj/machinery/portable_atmospherics/canister/air) /datum/supply_pack/atmos/canister_oxygen name = "Oxygen canister" + desc = "A large canister full of pure oxygen gas. Warning: flammable!" cost = 15 contains = list(/obj/machinery/portable_atmospherics/canister/oxygen) /datum/supply_pack/atmos/canister_nitrogen name = "Nitrogen canister" + desc = "A large canister full of pure nitrogen gas." cost = 10 contains = list(/obj/machinery/portable_atmospherics/canister/nitrogen) /datum/supply_pack/atmos/canister_phoron name = "Phoron gas canister" + desc = "A large canister full of pure phoron gas. Warning: flammable!" cost = 60 contains = list(/obj/machinery/portable_atmospherics/canister/phoron) /datum/supply_pack/atmos/canister_nitrous_oxide name = "N2O gas canister" + desc = "A large canister full of pure nitrous oxide gas." cost = 15 contains = list(/obj/machinery/portable_atmospherics/canister/nitrous_oxide) /datum/supply_pack/atmos/canister_carbon_dioxide name = "Carbon dioxide gas canister" + desc = "A large canister full of pure carbon dioxide gas." cost = 15 contains = list(/obj/machinery/portable_atmospherics/canister/carbon_dioxide) /datum/supply_pack/atmos/air_dispenser contains = list(/obj/machinery/pipedispenser/orderable) name = "Pipe Dispenser" + desc = "A portable atmospherics pipe dispensing/laying machine. Atmospherics Access required." cost = 25 containertype = /obj/structure/closet/crate/secure/large/aether containername = "Pipe Dispenser Crate" @@ -60,6 +69,7 @@ /datum/supply_pack/atmos/disposals_dispenser contains = list(/obj/machinery/pipedispenser/disposal/orderable) name = "Disposals Pipe Dispenser" + desc = "A portable disposals pipe dispensing/laying machine. Atmospherics Access required." cost = 25 containertype = /obj/structure/closet/crate/secure/large/aether containername = "Disposal Dispenser Crate" @@ -68,6 +78,7 @@ /datum/supply_pack/atmos/rapid_pipe_dispenser contains = list(/obj/item/pipe_dispenser) name = "Rapid Pipe Dispenser" + desc = "A handheld rapid pipe deploying machine. Atmospherics Access required." cost = 100 containertype = /obj/structure/closet/crate/secure/aether containername = "Rapid Pipe Dispenser Crate" @@ -75,6 +86,7 @@ /datum/supply_pack/atmos/internals name = "Internals crate" + desc = "A set of 3 gas masks and air tanks." contains = list( /obj/item/clothing/mask/gas = 3, /obj/item/tank/air = 3 @@ -85,6 +97,7 @@ /datum/supply_pack/atmos/evacuation name = "Emergency equipment" + desc = "Emergency evacuation supplies." contains = list( /obj/item/storage/toolbox/emergency = 2, /obj/item/clothing/suit/storage/hazardvest = 2, diff --git a/code/datums/supplypacks/contraband.dm b/code/datums/supplypacks/contraband.dm index 215ec5288a..f8cb98992f 100644 --- a/code/datums/supplypacks/contraband.dm +++ b/code/datums/supplypacks/contraband.dm @@ -14,6 +14,7 @@ ) name = "Contraband crate" + desc = "REDACTED" cost = 25 containertype = /obj/structure/closet/crate containername = "Unlabeled crate" @@ -22,6 +23,7 @@ /datum/supply_pack/security/specialops name = "Special Ops supplies" + desc = "ERR: explosive contents detected" contains = list( /obj/item/storage/box/emps, /obj/item/grenade/smokebomb = 4, @@ -34,6 +36,7 @@ /datum/supply_pack/supply/moghes name = "Moghes imports" + desc = "Black market imports, straight from the Hegemony." contains = list( /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew = 2, /obj/item/reagent_containers/food/snacks/unajerky = 4 @@ -44,18 +47,20 @@ contraband = 1 /datum/supply_pack/munitions/bolt_rifles_militia - name = "Weapon - Surplus militia rifles" - contains = list( - /obj/item/gun/projectile/shotgun/pump/rifle = 3, - /obj/item/ammo_magazine/clip/c762 = 6 - ) - cost = 1000 - contraband = 1 - containertype = /obj/structure/closet/crate/hedberg - containername = "Ballistic weapons crate" + name = "Weapon - Surplus militia rifles" + desc = "Vintage ballistic rifles that fell off the back of a truck. A few centuries ago, that is." + contains = list( + /obj/item/gun/projectile/shotgun/pump/rifle = 3, + /obj/item/ammo_magazine/clip/c762 = 6 + ) + cost = 1000 // YW EDIT + contraband = 1 + containertype = /obj/structure/closet/crate/hedberg + containername = "Ballistic weapons crate" -/datum/supply_pack/randomised/misc/telecrate - name = "Confiscated equipment" +/datum/supply_pack/randomised/misc/telecrate //you get something awesome, a couple of decent things, and a few weak/filler things + name = "ERR_NULL_ENTRY" //null crate! also dream maker is hell, + desc = "NO DATA FOUND" num_contained = 1 contains = list( list( //the operator, @@ -122,6 +127,7 @@ /datum/supply_pack/supply/stolen name = "Stolen supply crate" + desc = "ERR: NO DATA!" contains = list(/obj/item/stolenpackage = 1) cost = 1000 // YW Edit containertype = /obj/structure/closet/crate @@ -130,6 +136,7 @@ /datum/supply_pack/supply/wolfgirl name = "Wolfgirl Crate" + desc = "Half wolf, half girl, no brains." cost = 200 //I mean, it's a whole wolfgirl containertype = /obj/structure/largecrate/animal/wolfgirl containername = "Wolfgirl crate" @@ -137,6 +144,7 @@ /datum/supply_pack/supply/catgirl name = "Catgirl Crate" + desc = "Half cat, half girl, no brains." cost = 200 //I mean, it's a whole catgirl containertype = /obj/structure/largecrate/animal/catgirl containername = "Catgirl crate" @@ -150,6 +158,7 @@ /obj/item/pizzavoucher ) name = "FANTASTIC PIZZA PIE VOUCHER CRATE!" + desc = "WE ALWAYS DELIVER!" cost = 60 containertype = /obj/structure/closet/crate containername = "WE ALWAYS DELIVER!" diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm index 7e6ae4a9ed..9f0556e505 100644 --- a/code/datums/supplypacks/costumes.dm +++ b/code/datums/supplypacks/costumes.dm @@ -12,6 +12,7 @@ /datum/supply_pack/costumes/wizard name = "Wizard costume" + desc = "A generic robe and wizard hat." contains = list( /obj/item/staff, /obj/item/clothing/suit/wizrobe/fake, @@ -47,6 +48,7 @@ /obj/item/clothing/head/collectable/petehat ) name = "Collectable hat crate!" + desc = "Collect them all for bragging rights." cost = 200 containertype = /obj/structure/closet/crate/nanothreads containername = "Collectable hats crate" @@ -83,6 +85,7 @@ /obj/item/clothing/under/kilt ) name = "Costumes crate" + desc = "Three choices from a random selection of assorted costumes." cost = 10 containertype = /obj/structure/closet/crate/nanothreads containername = "Actor Costumes" @@ -105,12 +108,14 @@ /obj/item/clothing/accessory/wcoat ) name = "Formalwear (Suits)" + desc = "Fancy formal clothing, for formal occasions." cost = 30 containertype = /obj/structure/closet/crate/gilthari containername = "Formal suit crate" /datum/supply_pack/costumes/witch name = "Witch costume" + desc = "Not to be mistaken for a wizard costume." containername = "Witch costume" containertype = /obj/structure/closet/crate/nanothreads cost = 20 @@ -123,6 +128,7 @@ /datum/supply_pack/randomised/costumes/costume_hats name = "Costume hats" + desc = "Three random hats from a modest selection." containername = "Actor hats crate" containertype = /obj/structure/closet/crate/nanothreads cost = 10 @@ -148,6 +154,7 @@ /datum/supply_pack/randomised/costumes/dresses name = "Formalwear (Dresses)" + desc = "Formal dresses for formal occasions." containername = "Formal dress crate" containertype = /obj/structure/closet/crate/gilthari cost = 15 @@ -168,6 +175,7 @@ /datum/supply_pack/costumes/xenowear_vr name = "Xenowear crate" + desc = "An assortment of non-human clothing." contains = list( /obj/item/clothing/shoes/footwraps, /obj/item/clothing/shoes/boots/jackboots/toeless, @@ -189,6 +197,7 @@ /datum/supply_pack/costumes/tesh_smocks_vr name = "Teshari smocks" + desc = "An assortment of teshari smocks." num_contained = 4 contains = list( /obj/item/clothing/under/teshari/smock, @@ -208,6 +217,7 @@ /datum/supply_pack/randomised/costumes/tesh_coats_vr name = "Teshari undercoats" + desc = "An assortment of teshari undercoats." num_contained = 4 contains = list( /obj/item/clothing/under/teshari/undercoat/standard/orange_grey, @@ -229,6 +239,7 @@ /datum/supply_pack/randomised/costumes/tesh_coats_b_vr name = "Teshari undercoats (black)" + desc = "Another assortment of teshari undercoats." num_contained = 4 contains = list( /obj/item/clothing/under/teshari/undercoat, @@ -250,6 +261,7 @@ /datum/supply_pack/randomised/costumes/tesh_cloaks_vr name = "Teshari cloaks" + desc = "An assortment of teshari cloaks." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/teshari/cloak/standard/white, @@ -271,6 +283,7 @@ /datum/supply_pack/randomised/costumes/tesh_cloaks_b_vr name = "Teshari cloaks (black)" + desc = "Another assortment of teshari cloaks." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/teshari/cloak, @@ -293,6 +306,7 @@ /datum/supply_pack/costumes/tesh_worksuits_vr name = "Teshari worksuits" + desc = "An assortment of teshari worksuits." num_contained = 4 contains = list( /obj/item/clothing/under/teshari/undercoat/standard/worksuit, @@ -312,6 +326,7 @@ /datum/supply_pack/randomised/costumes/tesh_beltcloaks_vr name = "Teshari cloaks (belted)" + desc = "An assortment of belted teshari cloaks." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/teshari/beltcloak/standard/orange_grey, @@ -333,6 +348,7 @@ /datum/supply_pack/randomised/costumes/tesh_beltcloaks_b_vr name = "Teshari cloaks (belted, black)" + desc = "Another assortment of belted teshari cloaks." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/teshari/beltcloak, @@ -356,6 +372,7 @@ /datum/supply_pack/randomised/costumes/tesh_hoodcloaks_vr name = "Teshari cloaks (hooded)" + desc = "An assortment of teshari cloaks, with hoods." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/hooded/teshari/standard/orange_grey, @@ -376,6 +393,7 @@ /datum/supply_pack/randomised/costumes/tesh_hoodcloaks_b_vr name = "Teshari cloaks (hooded, black)" + desc = "Another assortment of teshari cloaks, with hoods." num_contained = 4 contains = list( /obj/item/clothing/suit/storage/hooded/teshari, @@ -399,10 +417,13 @@ /datum/supply_pack/costumes/utility_vr name = "Utility uniforms" + desc = "A set of standard worksuits." contains = list( /obj/item/clothing/under/utility, /obj/item/clothing/under/utility/blue, - /obj/item/clothing/under/utility/grey + /obj/item/clothing/under/utility/grey, + /obj/item/clothing/under/utility/tan, + /obj/item/clothing/under/utility/green ) cost = 30 containertype = /obj/structure/closet/crate @@ -410,6 +431,7 @@ /datum/supply_pack/costumes/skirts_vr name = "Skirts crate" + desc = "A set of standard skirts." contains = list( /obj/item/clothing/under/skirt, /obj/item/clothing/under/skirt/blue, @@ -428,6 +450,7 @@ /datum/supply_pack/costumes/varsity_vr name = "Varsity jackets" + desc = "A set of varsity jackets." contains = list( /obj/item/clothing/suit/varsity, /obj/item/clothing/suit/varsity/blue, @@ -442,6 +465,7 @@ /datum/supply_pack/randomised/costumes/leathergear_vr name = "Leather gear" + desc = "An assortment of leather clothing. Not the naughty kind." num_contained = 5 contains = list( /obj/item/clothing/suit/leathercoat, @@ -475,6 +499,7 @@ /datum/supply_pack/costumes/eyewear_vr name = "Eyewear crate" + desc = "Assorted eyewear." contains = list( /obj/item/clothing/glasses/eyepatch, /obj/item/clothing/glasses/fakesunglasses, @@ -494,6 +519,7 @@ /datum/supply_pack/randomised/costumes/gloves_vr name = "Gloves crate" + desc = "A random assortment of gloves." num_contained = 4 contains = list( /obj/item/clothing/gloves/black, @@ -518,6 +544,7 @@ /datum/supply_pack/randomised/costumes/boots_vr name = "Boots crate" + desc = "A random assortment of boots." num_contained = 3 contains = list( /obj/item/clothing/shoes/boots/workboots, @@ -535,6 +562,7 @@ /datum/supply_pack/costumes/taurbags name = "Saddlebags crate" + desc = "A pack of saddlebags for tauric body types. Not for actual horses." contains = list( /obj/item/storage/backpack/saddlebag_common, /obj/item/storage/backpack/saddlebag_common/robust, @@ -546,6 +574,7 @@ /datum/supply_pack/costumes/knights_gear name = "Knights Gear" + desc = "Knightly costumes, for knightly individuals. No actual protective properties." contains = list( /obj/item/clothing/suit/storage/hooded/knight_costume, /obj/item/clothing/suit/storage/hooded/knight_costume/galahad, @@ -566,6 +595,7 @@ /datum/supply_pack/costumes/christmas name = "Christmas costume pack" + desc = "Ho ho ho!" contains = list( /obj/item/clothing/head/santa, /obj/item/clothing/head/santa/green, diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm index f0a8e4d4b7..660ed4c58b 100644 --- a/code/datums/supplypacks/engineering.dm +++ b/code/datums/supplypacks/engineering.dm @@ -9,6 +9,7 @@ /datum/supply_pack/eng/lightbulbs name = "Replacement lights" + desc = "Three boxes of replacement light tubes and bulbs." contains = list(/obj/item/storage/box/lights/mixed = 3) cost = 10 containertype = /obj/structure/closet/crate/galaksi @@ -16,6 +17,7 @@ /datum/supply_pack/eng/smescoil name = "Superconducting Magnetic Coil" + desc = "A single standard superconducting magnetic coil." contains = list(/obj/item/smes_coil) cost = 75 containertype = /obj/structure/closet/crate/focalpoint @@ -23,6 +25,7 @@ /datum/supply_pack/eng/smescoil/super_capacity name = "Superconducting Capacitance Coil" + desc = "A single high-capacity superconducting magnetic coil." contains = list(/obj/item/smes_coil/super_capacity) cost = 90 containertype = /obj/structure/closet/crate/focalpoint @@ -30,6 +33,7 @@ /datum/supply_pack/eng/smescoil/super_io name = "Superconducting Transmission Coil" + desc = "A single high-transmission superconducting magnetic coil." contains = list(/obj/item/smes_coil/super_io) cost = 90 containertype = /obj/structure/closet/crate/focalpoint @@ -37,6 +41,7 @@ /datum/supply_pack/eng/shield_capacitor name = "Shield Capacitor" + desc = "A standard shield capacitor block." contains = list(/obj/machinery/shield_capacitor) cost = 20 containertype = /obj/structure/closet/crate/focalpoint @@ -44,6 +49,7 @@ /datum/supply_pack/eng/shield_capacitor/advanced name = "Advanced Shield Capacitor" + desc = "An advanced shield capacitor block." contains = list(/obj/machinery/shield_capacitor/advanced) cost = 30 containertype = /obj/structure/closet/crate/focalpoint @@ -51,6 +57,7 @@ /datum/supply_pack/eng/bubble_shield name = "Bubble Shield Generator" + desc = "A standard bubble shield generator." contains = list(/obj/machinery/shield_gen) cost = 40 containertype =/obj/structure/closet/crate/focalpoint @@ -58,6 +65,7 @@ /datum/supply_pack/eng/bubble_shield/advanced name = "Advanced Bubble Shield Generator" + desc = "An advanced bubble shield generator." contains = list(/obj/machinery/shield_gen/advanced) cost = 60 containertype = /obj/structure/closet/crate/focalpoint @@ -65,6 +73,7 @@ /datum/supply_pack/eng/hull_shield name = "Hull Shield Generator" + desc = "A standard hull shield generator." contains = list(/obj/machinery/shield_gen/external) cost = 80 containertype = /obj/structure/closet/crate/focalpoint @@ -72,6 +81,7 @@ /datum/supply_pack/eng/hull_shield/advanced name = "Advanced Hull Shield Generator" + desc = "An advanced hull shield generator." contains = list(/obj/machinery/shield_gen/external/advanced) cost = 120 containertype = /obj/structure/closet/crate/focalpoint @@ -79,6 +89,7 @@ /datum/supply_pack/eng/point_defense_cannon_circuit name = "Point Defense Turret Circuit" + desc = "A pair of point defense turret control circuits." contains = list(/obj/item/circuitboard/pointdefense = 2) cost = 20 containertype = /obj/structure/closet/crate/heph @@ -86,6 +97,7 @@ /datum/supply_pack/eng/point_defense_control_circuit name = "Point Defense Controller Circuit" + desc = "A point defense mainframe master control circuit." contains = list(/obj/item/circuitboard/pointdefense_control = 1) cost = 30 containertype = /obj/structure/closet/crate/heph @@ -93,6 +105,7 @@ /datum/supply_pack/eng/electrical name = "Electrical maintenance crate" + desc = "A pack of equipment and supplies for carrying out electrical maintenance." contains = list( /obj/item/storage/toolbox/electrical = 2, /obj/item/clothing/gloves/yellow = 2, @@ -105,6 +118,7 @@ /datum/supply_pack/eng/e_welders name = "Electric welder crate" + desc = "A set of three electric-powered welders." contains = list( /obj/item/weldingtool/electric = 3 ) @@ -114,6 +128,7 @@ /datum/supply_pack/eng/mechanical name = "Mechanical maintenance crate" + desc = "A pack of equipment and supplies for carrying out mechanical maintenance." contains = list( /obj/item/storage/belt/utility/full = 3, /obj/item/clothing/suit/storage/hazardvest = 3, @@ -126,6 +141,7 @@ /datum/supply_pack/eng/fueltank name = "Fuel tank crate" + desc = "Contains a fuel tank dispenser." contains = list(/obj/structure/reagent_dispensers/fueltank) cost = 10 containertype = /obj/structure/closet/crate/large/nanotrasen @@ -133,6 +149,7 @@ /datum/supply_pack/eng/solar name = "Solar Pack crate" + desc = "Contains basic supplies for setting up a small solar power array (panels, tracker, and controller, no SMES)." contains = list( /obj/item/solar_assembly = 21, /obj/item/circuitboard/solar_control, @@ -145,6 +162,7 @@ /datum/supply_pack/eng/engine name = "Emitter crate" + desc = "Two emitters. Requires Chief Engineer access." contains = list(/obj/machinery/power/emitter = 2) cost = 10 containertype = /obj/structure/closet/crate/secure/einstein @@ -153,6 +171,7 @@ /datum/supply_pack/eng/engine/field_gen name = "Field Generator crate" + desc = "Two containment field generators. Requires Chief Engineer access." contains = list(/obj/machinery/field_generator = 2) containertype = /obj/structure/closet/crate/secure/xion containername = "Field Generator crate" @@ -160,6 +179,7 @@ /datum/supply_pack/eng/engine/sing_gen name = "Singularity Generator crate" + desc = "Singularity core generator. Requires Chief Engineer access." contains = list(/obj/machinery/the_singularitygen) containertype = /obj/structure/closet/crate/secure/einstein containername = "Singularity Generator crate" @@ -167,6 +187,7 @@ /datum/supply_pack/eng/engine/tesla_gen name = "Tesla Generator crate" + desc = "Tesla core generator. Requires Chief Engineer access." contains = list(/obj/machinery/the_singularitygen/tesla) containertype = /obj/structure/closet/crate/secure/einstein containername = "Tesla Generator crate" @@ -174,12 +195,14 @@ /datum/supply_pack/eng/engine/collector name = "Collector crate" + desc = "Three radiation collectors, for use with a singularity or supermatter core." contains = list(/obj/machinery/power/rad_collector = 3) containertype = /obj/structure/closet/crate/secure/einstein containername = "Collector crate" /datum/supply_pack/eng/engine/PA name = "Particle Accelerator crate" + desc = "All the parts needed to set up a particle accelerator. Requires Chief Engineer access." cost = 40 contains = list( /obj/structure/particle_accelerator/fuel_chamber, @@ -197,6 +220,7 @@ /datum/supply_pack/eng/shield_gen contains = list(/obj/item/circuitboard/shield_gen) name = "Bubble shield generator circuitry" + desc = "A bubble shield generator circuitboard. Requires Chief Engineer access." cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint containername = "bubble shield generator circuitry crate" @@ -205,6 +229,7 @@ /datum/supply_pack/eng/shield_gen_ex contains = list(/obj/item/circuitboard/shield_gen_ex) name = "Hull shield generator circuitry" + desc = "A hull shield generator circuitboard. Requires Chief Engineer access." cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint containername = "hull shield generator circuitry crate" @@ -213,6 +238,7 @@ /datum/supply_pack/eng/shield_cap contains = list(/obj/item/circuitboard/shield_cap) name = "Bubble shield capacitor circuitry" + desc = "A bubble shield capacitor circuitboard. Requires Chief Engineer access." cost = 30 containertype = /obj/structure/closet/crate/secure/focalpoint containername = "shield capacitor circuitry crate" @@ -220,6 +246,7 @@ /datum/supply_pack/eng/smbig name = "Supermatter Core" + desc = "A transport-safe supermatter crystal. EXTREMELY HAZARDOUS. Requires Chief Engineer access." contains = list(/obj/machinery/power/supermatter) cost = 150 containertype = /obj/structure/closet/crate/secure/phoron @@ -229,6 +256,7 @@ /datum/supply_pack/eng/teg contains = list(/obj/machinery/power/generator) name = "Mark I Thermoelectric Generator" + desc = "A basic thermoelectric generator." cost = 40 containertype = /obj/structure/closet/crate/secure/large/einstein containername = "Mk1 TEG crate" @@ -237,6 +265,7 @@ /datum/supply_pack/eng/circulator contains = list(/obj/machinery/atmospherics/binary/circulator) name = "Binary atmospheric circulator" + desc = "Heavy atmospherics machinery." cost = 20 containertype = /obj/structure/closet/crate/secure/large/einstein containername = "Atmospheric circulator crate" @@ -248,6 +277,7 @@ /obj/item/clothing/head/radiation = 3 ) name = "Radiation suits package (Humanoid)" + desc = "Three radiation suits (with hoods) fit for most humanoids." cost = 20 containertype = /obj/structure/closet/radiation containername = "Radiation suit locker" @@ -258,12 +288,14 @@ /obj/item/clothing/head/radiation/teshari = 3 ) name = "Radiation suits package (Teshari)" + desc = "Three radiation suits (with hoods) fit for teshari." cost = 40 containertype = /obj/structure/closet/crate/aether containername = "Teshari radiation suit locker" /datum/supply_pack/eng/pacman_parts name = "P.A.C.M.A.N. portable generator parts" + desc = "Supplies for assembling a basic phoron-fuelled PACMAN generator." cost = 25 containername = "P.A.C.M.A.N. Portable Generator Construction Kit" containertype = /obj/structure/closet/crate/secure/focalpoint @@ -277,6 +309,7 @@ /datum/supply_pack/eng/super_pacman_parts name = "Super P.A.C.M.A.N. portable generator parts" + desc = "Supplies for assembling a uranium-fuelled Super PACMAN generator." cost = 35 containername = "Super P.A.C.M.A.N. portable generator construction kit" containertype = /obj/structure/closet/crate/secure/focalpoint @@ -290,6 +323,7 @@ /datum/supply_pack/eng/fusion_core name = "R-UST Mk. 8 Tokamak fusion core crate" + desc = "Supplies for assembling a R-UST Tokamak fusion core. Requires Engine access." cost = 50 containername = "R-UST Mk. 8 Tokamak Fusion Core crate" containertype = /obj/structure/closet/crate/secure/einstein @@ -302,6 +336,7 @@ /datum/supply_pack/eng/fusion_fuel_injector name = "R-UST Mk. 8 fuel injector crate" + desc = "Supplies for assembling a R-UST Tokamak fusion core's fuel injector. Requires Engine access." cost = 30 containername = "R-UST Mk. 8 fuel injector crate" containertype = /obj/structure/closet/crate/secure/einstein @@ -314,6 +349,7 @@ /datum/supply_pack/eng/gyrotron name = "Gyrotron crate" + desc = "Supplies for assembling a gyrotron." cost = 15 containername = "Gyrotron Crate" containertype = /obj/structure/closet/crate/secure/einstein @@ -325,6 +361,7 @@ /datum/supply_pack/eng/fusion_fuel_compressor name = "Fusion Fuel Compressor circuitry crate" + desc = "A circuitboard for assembling a fusion fuel compressor." cost = 10 containername = "Fusion Fuel Compressor circuitry crate" containertype = /obj/structure/closet/crate/einstein @@ -332,6 +369,7 @@ /datum/supply_pack/eng/deuterium name = "Deuterium crate" + desc = "A stack of 50 deuterium ingots." cost = 50 containername = "Deuterium crate" containertype = /obj/structure/closet/crate/einstein @@ -339,6 +377,7 @@ /datum/supply_pack/eng/tritium name = "Tritium crate" + desc = "A stack of 50 tritium ingots." cost = 75 containername = "Tritium crate" containertype = /obj/structure/closet/crate/einstein @@ -346,6 +385,7 @@ /datum/supply_pack/eng/modern_shield name = "Modern Shield Construction Kit" + desc = "A set of supplies for constructing a shield generator." contains = list( /obj/item/circuitboard/shield_generator, /obj/item/stock_parts/capacitor, @@ -361,20 +401,16 @@ /datum/supply_pack/eng/thermoregulator contains = list(/obj/machinery/power/thermoregulator) name = "Thermal Regulator" + desc = "A thermal regulator, ready for deployment. Atmospherics access required." cost = 30 containertype = /obj/structure/closet/crate/large containername = "thermal regulator crate" access = access_atmospherics -/datum/supply_pack/eng/radsuit - contains = list( - /obj/item/clothing/suit/radiation = 3, - /obj/item/clothing/head/radiation = 3 - ) - /datum/supply_pack/eng/dosimeter contains = list(/obj/item/storage/box/dosimeter = 6) name = "Dosimeters" + desc = "A set of six dosimeters, for basic radiation detection/safety purposes." cost = 10 containertype = /obj/structure/closet/crate containername = "dosimeter crate" @@ -382,20 +418,15 @@ /datum/supply_pack/eng/algae contains = list(/obj/item/stack/material/algae/ten) name = "Algae Sheets (10)" + desc = "Ten sheets of algae, for carbon dioxide recycling." cost = 20 containertype = /obj/structure/closet/crate containername = "algae sheets crate" -/datum/supply_pack/eng/engine/tesla_gen - name = "Tesla Generator crate" - contains = list(/obj/machinery/the_singularitygen/tesla) - containertype = /obj/structure/closet/crate/secure/engineering - containername = "Tesla Generator crate" - access = access_ce - /datum/supply_pack/eng/inducer contains = list(/obj/item/inducer = 3) name = "inducer" + desc = "A trio of inducers, used for remotely recharging powered devices. Requires Engine access." cost = 90 //Relatively expensive containertype = /obj/structure/closet/crate/xion containername = "Inducers crate" diff --git a/code/datums/supplypacks/hardsuits.dm b/code/datums/supplypacks/hardsuits.dm index 4bbb5b5158..b50fd3b84e 100644 --- a/code/datums/supplypacks/hardsuits.dm +++ b/code/datums/supplypacks/hardsuits.dm @@ -8,7 +8,8 @@ group = "Hardsuits" /datum/supply_pack/hardsuits/eva_rig - name = "eva hardsuit (empty)" + name = "EVA hardsuit (empty)" + desc = "An EVA hardsuit with no components. Requires Mining, EVA, or Pilot's access." contains = list( /obj/item/rig/eva = 1 ) @@ -22,6 +23,7 @@ /datum/supply_pack/hardsuits/mining_rig name = "industrial hardsuit (empty)" + desc = "A standard mining hardsuit with no components. Requires Mining or EVA access." contains = list( /obj/item/rig/industrial = 1 ) @@ -34,6 +36,7 @@ /datum/supply_pack/hardsuits/medical_rig name = "medical hardsuit (empty)" + desc = "A medical hardsuit with no components. Requires Medical access." contains = list( /obj/item/rig/medical = 1 ) @@ -44,6 +47,7 @@ /datum/supply_pack/hardsuits/security_rig name = "hazard hardsuit (empty)" + desc = "A hazardous environment combat hardsuit with no components. Requires Armory access." contains = list( /obj/item/rig/hazard = 1 ) @@ -54,6 +58,7 @@ /datum/supply_pack/hardsuits/science_rig name = "ami hardsuit (empty)" + desc = "An advanced Materials hardsuit, with no components. Requires Research Director authorization." contains = list( /obj/item/rig/hazmat = 1 ) @@ -64,6 +69,7 @@ /datum/supply_pack/hardsuits/ce_rig name = "advanced hardsuit (empty)" + desc = "An advanced Engineering hardsuit, with no components. Requires Chief Engineer authorization." contains = list( /obj/item/rig/ce = 1 ) @@ -73,7 +79,8 @@ access = access_ce /datum/supply_pack/hardsuits/com_medical_rig - name = "solgov medical hardsuit (loaded)" //YW EDIT + name = "SolGov medical hardsuit (loaded)" // YW EDIT + desc = "A fully-equipped SolGov Medical hardsuit. Requires Medical access." // YW EDIT contains = list( /obj/item/rig/baymed/equipped = 1 ) @@ -83,7 +90,8 @@ access = access_medical /datum/supply_pack/hardsuits/com_engineering_rig - name = "solgov engineering hardsuit (loaded)" //YW EDIT + name = "SolGov engineering hardsuit (loaded)" // YW EDIT + desc = "A fully-equipped SolGov Engineering hardsuit. Requires Engineering access." // YW EDIT contains = list( /obj/item/rig/bayeng/equipped = 1 ) @@ -95,6 +103,7 @@ /* YW EDIT: comments out breacher rig /datum/supply_pack/hardsuits/breacher_rig name = "unathi breacher hardsuit (empty)" + desc = "A Hegemony \'Breacher\' combat hardsuit. Requires Armory access, and can only be worn by unathi." contains = list( /obj/item/rig/breacher = 1 ) @@ -106,6 +115,7 @@ /datum/supply_pack/hardsuits/zero_rig name = "null hardsuit (jets)" + desc = "A low-profile hardsuit with pre-installed maneuvering jets." contains = list( /obj/item/rig/zero = 1 ) diff --git a/code/datums/supplypacks/hospitality.dm b/code/datums/supplypacks/hospitality.dm index 8ee18ac817..15c260f505 100644 --- a/code/datums/supplypacks/hospitality.dm +++ b/code/datums/supplypacks/hospitality.dm @@ -9,6 +9,7 @@ /datum/supply_pack/hospitality/party name = "Party equipment" + desc = "Miscellaneous alcohol, glasses, and smokes, for partying!" contains = list( /obj/item/storage/box/mixedglasses = 2, /obj/item/storage/box/glasses/square, @@ -29,6 +30,7 @@ /datum/supply_pack/hospitality/barsupplies name = "Bar supplies" + desc = "Spare glasses and extras, for bartending. No booze." contains = list( /obj/item/storage/box/glasses/cocktail, /obj/item/storage/box/glasses/rocks, @@ -50,6 +52,7 @@ /datum/supply_pack/hospitality/cookingoil name = "Cooking oil tank crate" + desc = "A tank of cooking oil." contains = list(/obj/structure/reagent_dispensers/cookingoil) cost = 10 containertype = /obj/structure/largecrate @@ -57,6 +60,7 @@ /datum/supply_pack/hospitality/pizza name = "Surprise pack of five pizzas" + desc = "Five random pizzas, a plastic knife, and a pizza delivery outfit." contains = list( /obj/random/pizzabox/supplypack = 5, /obj/item/material/knife/plastic, @@ -69,6 +73,7 @@ /datum/supply_pack/hospitality/gifts name = "Gift crate" + desc = "A selection of gifts from AlliCo." contains = list( /obj/item/toy/bouquet = 3, /obj/item/storage/fancy/heartbox = 2, @@ -83,6 +88,7 @@ /datum/supply_pack/hospitality/painting name = "Painting equipment" + desc = "Miscellaneous items for painting and artistry." contains = list( /obj/item/paint_brush = 2, /obj/item/paint_palette = 2, @@ -100,6 +106,7 @@ /datum/supply_pack/hospitality/holywater name = "Holy water crate" + desc = "Three flasks of genuine Holy water, guaranteed to have been blessed by at least one ordained priest." contains = list( /obj/item/reagent_containers/food/drinks/bottle/holywater = 3 ) @@ -112,6 +119,7 @@ /datum/supply_pack/randomised/hospitality/burgers_vr num_contained = 5 + desc = "A random selection of burgers and/or fries." contains = list( /obj/item/reagent_containers/food/snacks/bigbiteburger, /obj/item/reagent_containers/food/snacks/cheeseburger, @@ -188,6 +196,7 @@ /obj/item/reagent_containers/food/snacks/hotandsoursoup ) name = "Chinese takeout crate" + desc = "Classic chinese-style takeout, a Terran staple throughout much of the 21st century." cost = 50 containertype = /obj/structure/closet/crate/freezer containername = "Chinese takeout crate" @@ -206,6 +215,7 @@ /obj/item/storage/box/jaffacake ) name = "Desatti jaffa cake crate" + desc = "More jaffa cakes than you know what to do with." cost = 25 containertype = /obj/structure/closet/crate/freezer containername = "Desatti jaffa cake crate" @@ -220,6 +230,7 @@ /obj/item/storage/box/rhubarbcustard ) name = "Sweets crate" + desc = "A random selection of sweet treats from Desatti." cost = 25 containertype = /obj/structure/closet/crate/freezer containername = "Sweets crate" diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm index fad0054a36..29ba9d1346 100644 --- a/code/datums/supplypacks/hydroponics.dm +++ b/code/datums/supplypacks/hydroponics.dm @@ -9,6 +9,7 @@ /datum/supply_pack/hydro/monkey name = "Monkey crate" + desc = "Monkey cubes! Instant monkey, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes) cost = 20 containertype = /obj/structure/closet/crate/freezer/nanotrasen @@ -16,6 +17,7 @@ /datum/supply_pack/hydro/farwa name = "Farwa crate" + desc = "Farwa cubes! Instant farwa, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/farwacubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -23,6 +25,7 @@ /datum/supply_pack/hydro/neara name = "Neaera crate" + desc = "Neaera cubes! Instant nearea, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/neaeracubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -30,6 +33,7 @@ /datum/supply_pack/hydro/stok name = "Stok crate" + desc = "Stok cubes! Instant stok, just add water! DO NOT INGEST. NOT SOUP STOCK." contains = list (/obj/item/storage/box/monkeycubes/stokcubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -37,6 +41,7 @@ /datum/supply_pack/hydro/lisa name = "Corgi Crate" + desc = "A corgi in a box." contains = list() cost = 50 containertype = /obj/structure/largecrate/animal/corgi @@ -44,6 +49,7 @@ /datum/supply_pack/hydro/cat name = "Cat Crate" + desc = "A cat in a box." contains = list() cost = 45 containertype = /obj/structure/largecrate/animal/cat @@ -51,6 +57,7 @@ /datum/supply_pack/hydro/catslug name = "Catslug Crate" + desc = "A catslug in a box. Legally distinct from a slugcat." contains = list() cost = 200 containertype = /obj/structure/largecrate/animal/catslug @@ -58,6 +65,7 @@ /datum/supply_pack/hydro/hydroponics name = "Hydroponics Supply Crate" + desc = "A set of standard hydroponics supplies. Requires Hydroponics access." contains = list( /obj/item/reagent_containers/spray/plantbgone = 4, /obj/item/reagent_containers/glass/bottle/ammonia = 2, @@ -76,6 +84,7 @@ /datum/supply_pack/hydro/cow name = "Cow crate" + desc = "A cow in a crate." cost = 25 containertype = /obj/structure/largecrate/animal/cow containername = "Cow crate" @@ -83,6 +92,7 @@ /datum/supply_pack/hydro/goat name = "Goat crate" + desc = "A goat in a crate. Useful for dealing with space vines." cost = 25 containertype = /obj/structure/largecrate/animal/goat containername = "Goat crate" @@ -90,6 +100,7 @@ /datum/supply_pack/hydro/chicken name = "Chicken crate" + desc = "A chicken in a crate." cost = 25 containertype = /obj/structure/largecrate/animal/chick containername = "Chicken crate" @@ -97,6 +108,7 @@ /datum/supply_pack/hydro/turkey name = "Turkey crate" + desc = "A turkey in a crate." cost = 25 containertype = /obj/structure/largecrate/animal/turkey containername = "Turkey crate" @@ -104,6 +116,7 @@ /datum/supply_pack/hydro/seeds name = "Seeds crate" + desc = "A wide selection of seed packets. Requires Hydroponics access." contains = list( /obj/item/seeds/chiliseed, /obj/item/seeds/berryseed, @@ -130,6 +143,7 @@ /datum/supply_pack/hydro/weedcontrol name = "Weed control crate" + desc = "Equipment for dealing with out-of-control weeds. Requires Hydroponics access." contains = list( /obj/item/material/knife/machete/hatchet = 2, /obj/item/reagent_containers/spray/plantbgone = 4, @@ -144,6 +158,7 @@ /datum/supply_pack/hydro/watertank name = "Water tank crate" + desc = "A water tank in a crate." contains = list(/obj/structure/reagent_dispensers/watertank) cost = 10 containertype = /obj/structure/closet/crate/large/aether @@ -151,6 +166,7 @@ /datum/supply_pack/hydro/bee_keeper name = "Beekeeping crate" + desc = "Supplies for keeping bees. Requires Hydroponics access." contains = list( /obj/item/beehive_assembly, /obj/item/bee_smoker, @@ -164,6 +180,7 @@ /datum/supply_pack/hydro/tray name = "Empty hydroponics trays" + desc = "Three empty hydroponics trays, ready for use." cost = 50 containertype = /obj/structure/closet/crate/aether containername = "Hydroponics tray crate" @@ -172,6 +189,7 @@ /datum/supply_pack/hydro/birds name = "Birds Crate" + desc = "A raging case of birds." cost = 200 //You're getting 22 birds. Of course it's going to be a lot! containertype = /obj/structure/largecrate/birds containername = "Bird crate" @@ -179,6 +197,7 @@ /datum/supply_pack/hydro/sobaka name = "Sobaka crate" + desc = "Sobaka cubes! Instant sobaka, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/sobakacubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -186,6 +205,7 @@ /datum/supply_pack/hydro/saru name = "Saru crate" + desc = "Saru cubes! Instant saru, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/sarucubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -193,6 +213,7 @@ /datum/supply_pack/hydro/sparra name = "Sparra crate" + desc = "Sparra cubes! Instant sparra, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/sparracubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -200,6 +221,7 @@ /datum/supply_pack/hydro/wolpin name = "Wolpin crate" + desc = "Wolpin cubes! Instant wolpin, just add water! DO NOT INGEST." contains = list (/obj/item/storage/box/monkeycubes/wolpincubes) cost = 20 containertype = /obj/structure/closet/crate/freezer @@ -207,12 +229,14 @@ /datum/supply_pack/hydro/fennec name = "Fennec crate" + desc = "Two fennecs in a crate." cost = 60 //considering a corgi crate is 50, and you get two fennecs containertype = /obj/structure/largecrate/animal/fennec containername = "Fennec crate" /datum/supply_pack/hydro/fish name = "Fish supply crate" + desc = "An assortment of seafood, kept on ice." contains = list( /obj/item/reagent_containers/food/snacks/lobster = 6, /obj/item/reagent_containers/food/snacks/cuttlefish = 8, @@ -224,6 +248,7 @@ /datum/supply_pack/hydro/fennec_food name = "Fennec treats crate" + desc = "Assorted treats fit for a fennec." contains = list( /obj/item/reagent_containers/food/snacks/locust = 6, /obj/item/storage/box/wings/bucket = 2, @@ -240,12 +265,14 @@ /datum/supply_pack/hydro/jerboa name = "Jerboa crate" + desc = "A jerboa in a box." cost = 10 containertype = /obj/structure/largecrate/animal/jerboa containername = "Jerboa crate" /datum/supply_pack/hydro/tits name = "A pair of great tits" + desc = "Exactly what it sounds like." cost = 10 containertype = /obj/structure/largecrate/tits containername = "A pair of great tits" diff --git a/code/datums/supplypacks/materials.dm b/code/datums/supplypacks/materials.dm index 532ec83680..f14e18bb26 100644 --- a/code/datums/supplypacks/materials.dm +++ b/code/datums/supplypacks/materials.dm @@ -6,6 +6,7 @@ /datum/supply_pack/materials group = "Materials" + desc = "A stack of fifty sheets (or ingots)." /datum/supply_pack/materials/metal50 name = "50 metal sheets" @@ -58,6 +59,7 @@ /datum/supply_pack/materials/carpet name = "Imported standard carpet" + desc = "Three standard carpet designs in easy-to-lay tiles." containertype = /obj/structure/closet/crate/grayson containername = "Imported carpet crate" cost = 15 @@ -69,6 +71,7 @@ /datum/supply_pack/materials/carpet_ornate name = "Imported ornate carpet" + desc = "Ornate, high-quality carpet in easy-to-lay tiles." containertype = /obj/structure/closet/crate/grayson containername = "Imported ornate carpet crate" cost = 20 @@ -81,6 +84,7 @@ /datum/supply_pack/materials/carpet_diamond name = "Imported diamond carpet" + desc = "Classy diamond-patterned carpets in easy-to-lay tiles." containertype = /obj/structure/closet/crate/grayson containername = "Imported diamond carpet crate" cost = 30 @@ -95,6 +99,7 @@ /datum/supply_pack/materials/retrocarpet name = "Imported retro carpet" + desc = "Terran retro-style carpets in easy-to-lay tiles." containertype = /obj/structure/closet/crate/grayson containername = "Imported retro carpet crate" cost = 20 @@ -106,14 +111,16 @@ ) /datum/supply_pack/materials/linoleum - name = "Linoleum" + name = "Linoleum flooring" + desc = "Easy-to-clean, easy-to-lay, guaranteed non-stick linoleum floor tiles." containertype = /obj/structure/closet/crate/grayson containername = "Linoleum crate" cost = 15 contains = list(/obj/fiftyspawner/linoleum) /datum/supply_pack/materials/concrete - name = "Concrete" + name = "Concrete blocks" + desc = "Cheap structural concrete blocks. Rebar sold seperately." cost = 10 containertype = /obj/structure/closet/crate/grayson contains = list(/obj/fiftyspawner/concrete) diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index 2e498c92f1..a29ca08060 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -8,7 +8,8 @@ group = "Medical" /datum/supply_pack/med/medical - name = "Medical crate" + name = "Basic Medical Supplies" + desc = "A selection of basic medical supplies, used for treating most simple maladies." contains = list( /obj/item/storage/firstaid/regular, /obj/item/storage/firstaid/fire, @@ -27,13 +28,15 @@ /datum/supply_pack/med/bloodpack name = "BloodPack crate" + desc = "Three boxes of bloodbags." contains = list(/obj/item/storage/box/bloodpacks = 3) cost = 10 - containertype = /obj/structure/closet/crate/nanomed + containertype = /obj/structure/closet/crate/medical/blood containername = "BloodPack crate" /datum/supply_pack/med/synthplas name = "BloodPack (Synthplas) crate" + desc = "Six containers of synthetic blood replacement." contains = list(/obj/item/reagent_containers/blood/synthplas = 6) cost = 80 containertype = /obj/structure/closet/crate/nanomed @@ -41,6 +44,7 @@ /datum/supply_pack/med/bodybag name = "Body bag crate" + desc = "Five boxes of body bags." contains = list(/obj/item/storage/box/bodybags = 3) cost = 10 containertype = /obj/structure/closet/crate/nanomed @@ -48,6 +52,7 @@ /datum/supply_pack/med/cryobag name = "Stasis bag crate" + desc = "Three stasis bags." contains = list(/obj/item/bodybag/cryobag = 3) cost = 40 containertype = /obj/structure/closet/crate/nanomed @@ -55,6 +60,7 @@ /datum/supply_pack/med/surgery name = "Surgery crate" + desc = "A set of replacement surgical equipment. Requires Medical access." contains = list( /obj/item/surgical/cautery, /obj/item/surgical/surgicaldrill, @@ -75,6 +81,7 @@ /datum/supply_pack/med/deathalarm name = "Death Alarm crate" + desc = "Death alarms, a now somewhat-antiquated means of tracking the status of vital personnel. Requires Medical access." contains = list( /obj/item/storage/box/cdeathalarm_kit, /obj/item/storage/box/cdeathalarm_kit @@ -86,6 +93,7 @@ /datum/supply_pack/med/clotting name = "Clotting Medicine crate" + desc = "Zeng Hu-branded \'clotting\' nanomedicine, used to treat internal bleeding without resorting to invasive surgeries. Requires Medical access." contains = list( /obj/item/storage/firstaid/clotting ) @@ -96,6 +104,7 @@ /datum/supply_pack/med/sterile name = "Sterile equipment crate" + desc = "A pack of standard sterile equipment and medical scrubs." contains = list( /obj/item/clothing/under/rank/medical/scrubs/green = 2, /obj/item/clothing/head/surgery/green = 2, @@ -109,6 +118,7 @@ /datum/supply_pack/med/extragear name = "Medical surplus equipment" + desc = "Assorted surplus medical equipment. Requires Medical access." contains = list( /obj/item/storage/belt/medical = 3, /obj/item/clothing/glasses/hud/health = 3, @@ -121,7 +131,8 @@ access = access_medical /datum/supply_pack/med/cmogear - name = "Chief medical officer equipment" + name = "Chief Medical Officer equipment" + desc = "Standard equipment for the Chief Medical Officer. Requires CMO access." contains = list( /obj/item/storage/belt/medical, /obj/item/radio/headset/heads/cmo, @@ -146,6 +157,7 @@ /datum/supply_pack/med/doctorgear name = JOB_MEDICAL_DOCTOR + " equipment" + desc = "Standard equipment for basic Medical personnel. Requires Medical access." contains = list( /obj/item/storage/belt/medical, /obj/item/radio/headset/headset_med, @@ -169,6 +181,7 @@ /datum/supply_pack/med/chemistgear name = JOB_CHEMIST + " equipment" + desc = "Standard equipment for Chemists. Requires Chemistry access." contains = list( /obj/item/storage/box/beakers, /obj/item/radio/headset/headset_med, @@ -192,6 +205,7 @@ /datum/supply_pack/med/paramedicgear name = JOB_PARAMEDIC + " equipment" + desc = "Standard equipment for Paramedics and EMTs. Requires Medical Equipment access." contains = list( /obj/item/storage/belt/medical/emt, /obj/item/radio/headset/headset_med, @@ -220,6 +234,7 @@ /datum/supply_pack/med/psychiatristgear name = JOB_PSYCHIATRIST + " equipment" + desc = "Standard equipment for Psychiatrists. Requires Psychiatry access." contains = list( /obj/item/clothing/under/rank/psych, /obj/item/radio/headset/headset_med, @@ -239,8 +254,9 @@ /datum/supply_pack/med/medicalscrubs name = "Medical scrubs" + desc = "Plenty of extra surgical scrubs. Requires Medical Equipment access." contains = list( - /obj/item/clothing/shoes/white = 3,, + /obj/item/clothing/shoes/white = 3, /obj/item/clothing/under/rank/medical/scrubs = 3, /obj/item/clothing/under/rank/medical/scrubs/green = 3, /obj/item/clothing/under/rank/medical/scrubs/purple = 3, @@ -260,6 +276,7 @@ /datum/supply_pack/med/autopsy name = "Autopsy equipment" + desc = "Supplies for conducting thorough autopsies. Requires Morgue access." contains = list( /obj/item/folder/white, /obj/item/camera, @@ -277,6 +294,7 @@ /datum/supply_pack/med/medicaluniforms name = "Medical uniforms" + desc = "A set of standard Medical uniforms. Requires Medical Equipment access." contains = list( /obj/item/clothing/shoes/white = 3, /obj/item/clothing/under/rank/chief_medical_officer, @@ -304,14 +322,15 @@ /datum/supply_pack/med/medicalbiosuits name = "Medical biohazard gear" + desc = "Several sets of Medical Biohazard suits. Requires Medical Equipment access." contains = list( - /obj/item/clothing/head/bio_hood/modern = 3, - /obj/item/clothing/suit/bio_suit/modern = 3, - /obj/item/clothing/head/bio_hood/virology = 2, + /obj/item/clothing/head/bio_hood/scientist = 3, + /obj/item/clothing/suit/bio_suit/scientist = 3, /obj/item/clothing/suit/bio_suit/cmo, /obj/item/clothing/head/bio_hood/cmo, - /obj/item/clothing/mask/gas = 5, - /obj/item/tank/oxygen = 5, + /obj/item/clothing/shoes/white = 4, + /obj/item/clothing/mask/gas = 4, + /obj/item/tank/oxygen = 4, /obj/item/storage/box/masks, /obj/item/storage/box/gloves ) @@ -322,6 +341,7 @@ /datum/supply_pack/med/portablefreezers name = "Portable freezers crate" + desc = "Several portable freezers, for safely transporting organs and other temperature-sensitive objects. Requires Medical Equipment access." contains = list(/obj/item/storage/box/freezer = 7) cost = 25 containertype = /obj/structure/closet/crate/secure/veymed @@ -330,6 +350,7 @@ /datum/supply_pack/med/virus name = "Virus culture crate" + desc = "Glass bottles with viral cultures. HANDLE WITH CARE. Requires Chief Medical Officer access." contains = list(/obj/item/reagent_containers/glass/bottle/culture/cold = 1, /obj/item/reagent_containers/glass/bottle/culture/flu = 1) cost = 25 containertype = /obj/structure/closet/crate/secure/zenghu @@ -338,6 +359,7 @@ /datum/supply_pack/med/defib name = "Defibrillator crate" + desc = "A pair of defibrillators." contains = list(/obj/item/defib_kit = 2) cost = 30 containertype = /obj/structure/closet/crate/veymed @@ -345,6 +367,7 @@ /datum/supply_pack/med/distillery name = "Chemical distiller crate" + desc = "A portable reagent distillery, for advanced chemistry. Standalone model." contains = list(/obj/machinery/portable_atmospherics/powered/reagent_distillery = 1) cost = 50 containertype = /obj/structure/closet/crate/large/nanotrasen @@ -352,6 +375,7 @@ /datum/supply_pack/med/advdistillery name = "Industrial Chemical distiller crate" + desc = "A portable industrial reagent distillery, for advanced chemistry. Requires atmospherics experience and equipment to set up." contains = list(/obj/machinery/portable_atmospherics/powered/reagent_distillery/industrial = 1) cost = 150 containertype = /obj/structure/closet/crate/large/xion @@ -359,6 +383,7 @@ /datum/supply_pack/med/oxypump name = "Oxygen pump crate" + desc = "A mobile oxygen pump." contains = list(/obj/machinery/oxygen_pump/mobile = 1) cost = 125 containertype = /obj/structure/closet/crate/large/xion @@ -366,6 +391,7 @@ /datum/supply_pack/med/anestheticpump name = "Anesthetic pump crate" + desc = "A mobile anaesthetic pump." contains = list(/obj/machinery/oxygen_pump/mobile/anesthetic = 1) cost = 130 containertype = /obj/structure/closet/crate/large/nanotrasen @@ -373,29 +399,15 @@ /datum/supply_pack/med/stablepump name = "Portable stabilizer crate" + desc = "A portable stabilizer, for conducting sensitive operations such as heart transplants." contains = list(/obj/machinery/oxygen_pump/mobile/stabilizer = 1) cost = 175 containertype = /obj/structure/closet/crate/large/nanotrasen containername = "Portable stabilizer crate" -/datum/supply_pack/med/medicalbiosuits - contains = list( - /obj/item/clothing/head/bio_hood/scientist = 3, - /obj/item/clothing/suit/bio_suit/scientist = 3, - /obj/item/clothing/suit/bio_suit/virology = 3, - /obj/item/clothing/head/bio_hood/virology = 3, - /obj/item/clothing/suit/bio_suit/cmo, - /obj/item/clothing/head/bio_hood/cmo, - /obj/item/clothing/shoes/white = 7, - /obj/item/clothing/mask/gas = 7, - /obj/item/tank/oxygen = 7, - /obj/item/storage/box/masks, - /obj/item/storage/box/gloves - ) - cost = 40 - /datum/supply_pack/med/virologybiosuits name = "Virology biohazard gear" + desc = "Three virology biohazard suits plus associated equipment. Requires Medical Equipment access." contains = list( /obj/item/clothing/suit/bio_suit/virology = 3, /obj/item/clothing/head/bio_hood/virology = 3, @@ -409,20 +421,9 @@ containername = "Virology biohazard equipment" access = access_medical_equip -/datum/supply_pack/med/virus - name = "Virus culture crate" - contains = list(/obj/item/reagent_containers/glass/bottle/culture/cold = 1, /obj/item/reagent_containers/glass/bottle/culture/flu = 1) - cost = 25 - containertype = /obj/structure/closet/crate/secure - containername = "Virus culture crate" - access = access_medical_equip - - -/datum/supply_pack/med/bloodpack - containertype = /obj/structure/closet/crate/medical/blood - /datum/supply_pack/med/compactdefib name = "Compact Defibrillator crate" + desc = "A compact defibrillator. Requires Medical Equipment access." contains = list(/obj/item/defib_kit/compact = 1) cost = 90 containertype = /obj/structure/closet/crate/secure diff --git a/code/datums/supplypacks/misc.dm b/code/datums/supplypacks/misc.dm index a7a1ba13b4..ee670b1d5a 100644 --- a/code/datums/supplypacks/misc.dm +++ b/code/datums/supplypacks/misc.dm @@ -19,6 +19,7 @@ /obj/item/deck/holder ) name = "Trading Card Crate" + desc = "A random set of trading cards. Gotta collect \'em all!" cost = 10 containertype = /obj/structure/closet/crate/oculum containername = "cards crate" @@ -35,8 +36,9 @@ /obj/item/toy/character/lich ) name = "Miniatures Crate" + desc = "Four random prepainted tabletop gaming miniatures." cost = 200 - containertype = /obj/structure/closet/crate/oculum + containertype = /obj/structure/closet/crate/allico containername = "Miniature Crate" /datum/supply_pack/randomised/misc/plushies @@ -96,6 +98,7 @@ /obj/item/toy/plushie/teshari/y_yw) //YawnWider Add End name = "Plushies Crate" + desc = "Five random plushies from AlliCo's wide selection!" cost = 15 containertype = /obj/structure/closet/crate/allico containername = "Plushies Crate" @@ -103,12 +106,14 @@ /datum/supply_pack/misc/eftpos contains = list(/obj/item/eftpos) name = "EFTPOS scanner" + desc = "A handheld Electronic Funds Transfer At Point Of Sale scanner." cost = 10 containertype = /obj/structure/closet/crate/nanotrasen containername = "EFTPOS crate" /datum/supply_pack/misc/chaplaingear name = JOB_CHAPLAIN + " equipment" + desc = "A standard set of liturgical equipment, suitable for various faiths." contains = list( /obj/item/clothing/under/rank/chaplain, /obj/item/clothing/shoes/black, @@ -127,6 +132,7 @@ /datum/supply_pack/misc/hoverpod name = "Hoverpod Shipment" + desc = "A hoverpod." contains = list() cost = 80 containertype = /obj/structure/largecrate/hoverpod @@ -134,6 +140,7 @@ /datum/supply_pack/randomised/misc/webbing name = "Webbing crate" + desc = "Four random webbing sets from a modest selection." num_contained = 4 contains = list( /obj/item/clothing/accessory/storage/black_vest, @@ -150,6 +157,7 @@ /datum/supply_pack/misc/holoplant name = "Holoplant Pot" + desc = "A holoplant, for livening up places with none of the maintenance of a regular plant." contains = list(/obj/machinery/holoplant/shipped) cost = 15 containertype = /obj/structure/closet/crate/thinktronic @@ -157,6 +165,7 @@ /datum/supply_pack/misc/glucose_hypos name = "Glucose Hypoinjectors" + desc = "A set of five glucose autoinjectors, for those with blood sugar issues." contains = list( /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose = 5 ) @@ -167,6 +176,7 @@ /datum/supply_pack/misc/mre_rations num_contained = 6 name = "Emergency - MREs" + desc = "Six random ready-to-eat meals. Guaranteed to still be edible." contains = list(/obj/item/storage/mre, /obj/item/storage/mre/menu2, /obj/item/storage/mre/menu3, @@ -183,6 +193,7 @@ /datum/supply_pack/misc/paste_rations name = "Emergency - Paste" + desc = "Two packages of emergency nutripaste rations." contains = list( /obj/item/storage/mre/menu11 = 2 ) @@ -192,6 +203,7 @@ /datum/supply_pack/misc/medical_rations name = "Emergency - VitaPaste" + desc = "Two packages of high-grade \'VitaPaste\' rations." contains = list( /obj/item/storage/mre/menu13 = 2 ) @@ -201,6 +213,7 @@ /datum/supply_pack/misc/reagentpump name = "Machine - Pump" + desc = "A pump." contains = list( /obj/machinery/pump = 1 ) @@ -210,6 +223,7 @@ /datum/supply_pack/misc/beltminer name = "Belt-miner gear crate" + desc = "A set of supplies for belt mining. Requires Mining or Xenoarchaeology access." contains = list( /obj/item/gun/energy/particle = 2, /obj/item/cell/device/weapon = 2, @@ -227,6 +241,7 @@ /datum/supply_pack/misc/jetpack name = "jetpack (empty)" + desc = "An empty jetpack. Requires Mining, Xenoarchaeology, EVA, or Pilot's access." contains = list( /obj/item/tank/jetpack = 1 ) @@ -241,6 +256,7 @@ /datum/supply_pack/randomised/misc/explorer_shield name = JOB_EXPLORER + " shield" + desc = "A pair of shields for use by away teams. Requires EVA or Pilot's access." num_contained = 2 contains = list( /obj/item/shield/riot/explorer, @@ -255,6 +271,7 @@ /datum/supply_pack/misc/music_players name = "music players (3)" + desc = "A trio of 'walkpod' portable music players." contains = list( /obj/item/walkpod = 3 ) @@ -264,6 +281,7 @@ /datum/supply_pack/misc/juke_remotes name = "jukebox remote speakers (2)" + desc = "A pair of remote speakers that can be linked to a jukebox." contains = list( /obj/item/juke_remote = 2 ) @@ -273,6 +291,7 @@ /datum/supply_pack/misc/explorer_headsets name = "shortwave-capable headsets (x4)" + desc = "Four headsets with shortwave fallback capacity. Requires Exploration, EVA, or Pilot's access." contains = list( /obj/item/radio/headset/explorer = 4 ) @@ -288,6 +307,7 @@ /datum/supply_pack/misc/emergency_beacons name = "emergency locator beacons (x4)" + desc = "Four personnel locator emergency beacons." contains = list( /obj/item/emergency_beacon = 4 ) @@ -297,6 +317,7 @@ /datum/supply_pack/misc/random_corpo name = "random corporate supply crate" + desc = "A random corporate supply crate. Could contain almost anything!" contains = list( /obj/random/multiple/corp_crate_supply ) @@ -305,6 +326,7 @@ /datum/supply_pack/misc/random_corpo_special name = "special corporate supply crate" + desc = "A cache of corporate supplies. Could contain more valuable items than the random supply crate." contains = list( /obj/random/multiple/corp_crate ) diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm index 44f74d1c54..d75212c604 100644 --- a/code/datums/supplypacks/munitions.dm +++ b/code/datums/supplypacks/munitions.dm @@ -26,6 +26,7 @@ /datum/supply_pack/munitions/egunpistol name = "Weapons - Energy sidearms" + desc = "A pair of standard two-setting energy guns, from Lawson Arms. Requires Armory access." contains = list(/obj/item/gun/energy/gun = 2) cost = 40 containertype = /obj/structure/closet/crate/secure/lawson @@ -34,6 +35,7 @@ /datum/supply_pack/munitions/flareguns name = "Weapons - Flare guns" + desc = "A set of flare-round ballistic arms and ammunition. Requires Armory access." contains = list( /obj/item/gun/projectile/sec/flash, /obj/item/ammo_magazine/m45/flash, @@ -47,6 +49,7 @@ /datum/supply_pack/munitions/eweapons name = "Weapons - Experimental weapons crate" + desc = "A pair of experimental x-ray laser rifles and portable energy shields. Requires Armory access." contains = list( /obj/item/gun/energy/xray = 2, /obj/item/shield/energy = 2) @@ -57,6 +60,7 @@ /datum/supply_pack/munitions/energyweapons name = "Weapons - Laser rifle crate" + desc = "A pair of standard laser rifles, from Hephaestus Arms. Requires Armory access." contains = list(/obj/item/gun/energy/laser = 2) //VOREStation Edit - Made to be consistent with the energy guns crate. cost = 50 containertype = /obj/structure/closet/crate/secure/heph @@ -65,6 +69,7 @@ /datum/supply_pack/munitions/shotgun name = "Weapons - Shotgun crate" + desc = "Two pump-action combat shotguns and two boxes of 12-gauge ammunition. Requires Armory access." contains = list( /obj/item/ammo_magazine/ammo_box/b12g, /obj/item/ammo_magazine/ammo_box/b12g/pellet, @@ -105,7 +110,8 @@ access = access_armory */ /datum/supply_pack/munitions/ionweapons - name = "Weapons - Electromagnetic Rifles" + name = "Weapons - Electromagnetic Pulse Rifles" + desc = "A pair of EMP rifles and low-power EMP grenades. Requires Armory access." contains = list( /obj/item/gun/energy/ionrifle = 2, /obj/item/storage/box/empslite @@ -116,7 +122,8 @@ access = access_armory /datum/supply_pack/munitions/ionpistols - name = "Weapons - Electromagnetic pistols" + name = "Weapons - Electromagnetic Pulse pistols" + desc = "A pair of EMP pistols and low-power EMP grenades. Requires Armory access." contains = list( /obj/item/gun/energy/ionrifle/pistol = 2, /obj/item/storage/box/empslite @@ -128,6 +135,7 @@ /datum/supply_pack/munitions/bsmg name = "Weapons - Ballistic SMGs" + desc = "A pair of WT-550 ballistic submachineguns. Requires Armory access." contains = list(/obj/item/gun/projectile/automatic/wt550 = 2) cost = 50 containertype = /obj/structure/closet/crate/secure/ward @@ -136,6 +144,7 @@ /datum/supply_pack/munitions/brifle name = "Weapons - Ballistic Rifles" + desc = "A pair of Z-8 ballistic rifles. Requires Armory access." contains = list(/obj/item/gun/projectile/automatic/z8 = 2) cost = 80 containertype = /obj/structure/closet/crate/secure/weapon @@ -143,44 +152,48 @@ access = access_armory /datum/supply_pack/munitions/bolt_rifles_lethal - name = "Weapons - Bolt-Action Rifles" - contains = list( - /obj/item/gun/projectile/shotgun/pump/rifle = 2, - /obj/item/ammo_magazine/ammo_box/b762 = 4, - ) - cost = 60 - containertype = /obj/structure/closet/crate/secure/weapon - containername = "Ballistic Weapons crate" - access = access_armory + name = "Weapons - Bolt-Action Rifles" + desc = "A pair of vintage 7.62mm bolt-action rifles, and four clips. Requires Armory access." + contains = list( + /obj/item/gun/projectile/shotgun/pump/rifle = 2, + /obj/item/ammo_magazine/ammo_box/b762 = 4, + ) + cost = 60 + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Ballistic Weapons crate" + access = access_armory /datum/supply_pack/munitions/bolt_rifles_competitive - name = "Weapons - Competitive shooting rifles" - contains = list( - /obj/item/assembly/timer, - /obj/item/gun/projectile/shotgun/pump/rifle/practice = 2, - /obj/item/ammo_magazine/clip/c762/practice = 4, - /obj/item/target = 2, - /obj/item/target/alien = 2, - /obj/item/target/syndicate = 2 - ) - cost = 40 - containertype = /obj/structure/closet/crate/secure/weapon - containername = "Ballistic Weapons crate" - access = access_armory //VOREStation Edit - Guns are for the armory. + name = "Weapons - Competitive shooting rifles" + desc = "A set of 7.62mm bolt-action practice/sport rifles, a timer, and targets. Requires Armory access." + contains = list( + /obj/item/assembly/timer, + /obj/item/gun/projectile/shotgun/pump/rifle/practice = 2, + /obj/item/ammo_magazine/clip/c762/practice = 4, + /obj/item/target = 2, + /obj/item/target/alien = 2, + /obj/item/target/syndicate = 2 + ) + cost = 40 + containertype = /obj/structure/closet/crate/secure/weapon + containername = "Ballistic Weapons crate" + access = access_armory //VOREStation Edit - Guns are for the armory. /datum/supply_pack/munitions/caseless name = "Weapons - Prototype Caseless Rifle" + desc = "A prototype 5mm caseless automatic rifle. Requires Armory access." contains = list( /obj/item/gun/projectile/caseless/prototype, /obj/item/ammo_magazine/m5mmcaseless = 3 ) cost = 60 - containertype = /obj/structure/closet/crate/secure/gilthari + containertype = /obj/structure/closet/crate/secure/heph containername = "Caseless rifle crate" - access = access_security + access = access_armory /datum/supply_pack/munitions/mrifle name = "Weapons - Magnetic Rifles" + desc = "A pair of Hephaestus man-portable railguns. Requires Armory access." contains = list(/obj/item/gun/magnetic/railgun/heater = 2) cost = 120 containertype = /obj/structure/closet/crate/secure/heph @@ -189,6 +202,7 @@ /datum/supply_pack/munitions/mpistol name = "Weapons - Magnetic Pistols" + desc = "A pair of Hephaestus man-portable rail-pistols. Requires Armory access." contains = list(/obj/item/gun/magnetic/railgun/heater/pistol = 2) cost = 200 containertype = /obj/structure/closet/crate/secure/heph @@ -197,22 +211,25 @@ /datum/supply_pack/munitions/mcarbine name = "Weapons - Magnetic Carbines" + desc = "A pair of Lawson magnetic flechette carbines. Requires Armory access." contains = list(/obj/item/gun/magnetic/railgun/flechette/sif = 2) cost = 130 containertype = /obj/structure/closet/crate/secure/lawson containername = "Magnetic weapon crate" - access = access_security + access = access_armory /datum/supply_pack/munitions/mshells name = "Weapons - Magnetic Shells" + desc = "A set of ammo for magnetic weapons. Requires Armory access." contains = list(/obj/item/magnetic_ammo = 3) cost = 100 containertype = /obj/structure/closet/crate/secure/weapon containername = "Magnetic ammunition crate" - access = access_security + access = access_armory /datum/supply_pack/munitions/claymore name = "Weapons - Melee - Claymores" + desc = "A pair of replica two-handed claymore swords. Requires Armory access." contains = list(/obj/item/material/sword = 2) cost = 150 containertype = /obj/structure/closet/crate/secure/weapon @@ -221,6 +238,7 @@ /datum/supply_pack/munitions/shotgunammo name = "Ammunition - Shotgun shells" + desc = "Four boxes of 12-gauge lethal ammunition; slug and shot. Requires Armory access." contains = list( /obj/item/ammo_magazine/ammo_box/b12g = 2, /obj/item/ammo_magazine/ammo_box/b12g/pellet = 2 @@ -232,6 +250,7 @@ /datum/supply_pack/munitions/beanbagammo name = "Ammunition - Beanbag shells" + desc = "Three boxes of 12-gauge less-lethal ammunition; beanbag. Requires Armory access." contains = list(/obj/item/ammo_magazine/ammo_box/b12g/beanbag = 3) cost = 25 containertype = /obj/structure/closet/crate @@ -240,6 +259,7 @@ /datum/supply_pack/munitions/bsmgammo name = "Ammunition - 9mm top mounted lethal" + desc = "Six magazines of lethal 9mm ammunition, top-mount. Requires Armory access." contains = list(/obj/item/ammo_magazine/m9mmt = 6) cost = 25 containertype = /obj/structure/closet/crate/secure/weapon @@ -248,14 +268,16 @@ /datum/supply_pack/munitions/bsmgammorubber name = "Ammunition - 9mm top mounted rubber" + desc = "Six magazines of less-lethal 9mm rubber ammunition, top-mount. Requires Armory access." contains = list(/obj/item/ammo_magazine/m9mmt/rubber = 6) cost = 25 containertype = /obj/structure/closet/crate/secure/weapon containername = "Ballistic ammunition crate" - access = access_security + access = access_armory /datum/supply_pack/munitions/brifleammo name = "Ammunition - 7.62mm lethal" + desc = "Six magazines of lethal 7.62mm ammunition. Requires Armory access." contains = list(/obj/item/ammo_magazine/m762 = 6) cost = 25 containertype = /obj/structure/closet/crate/secure/weapon @@ -264,6 +286,7 @@ /datum/supply_pack/munitions/pcellammo name = "Ammunition - Power cell" + desc = "Three standard weapon power cells. Requires Security access." contains = list(/obj/item/cell/device/weapon = 3) cost = 50 containertype = /obj/structure/closet/crate/secure/weapon @@ -295,6 +318,7 @@ /datum/supply_pack/munitions/ofd_charge_emp name = "OFD Charge - EMP" + desc = "An obstruction field disperser charge, electromagnetic pulse core. Inert until catalyzed by the launcher. Requires Security access." contains = list( /obj/structure/ship_munition/disperser_charge/emp ) @@ -305,6 +329,7 @@ /datum/supply_pack/munitions/ofd_charge_explosive name = "OFD Charge - Explosive" + desc = "An obstruction field disperser charge, explosive core. Inert until catalyzed by the launcher. Requires Security access." contains = list( /obj/structure/ship_munition/disperser_charge/explosive ) @@ -315,6 +340,7 @@ /datum/supply_pack/munitions/ofd_charge_incendiary name = "OFD Charge - Incendiary" + desc = "An obstruction field disperser charge, incendiary core. Inert until catalyzed by the launcher. Requires Security access." contains = list( /obj/structure/ship_munition/disperser_charge/fire ) @@ -325,6 +351,7 @@ /datum/supply_pack/munitions/ofd_charge_mining name = "OFD Charge - Mining" + desc = "An obstruction field disperser charge, mining core. Inert until catalyzed by the launcher. Requires Security access." contains = list( /obj/structure/ship_munition/disperser_charge/mining ) @@ -335,6 +362,7 @@ /datum/supply_pack/munitions/longsword name = "Weapons - Melee -Longsword (Steel)" + desc = "A pair of replica two-handed longswords. Requires Armory access." contains = list( /obj/item/material/twohanded/longsword=2 ) diff --git a/code/datums/supplypacks/musical.dm b/code/datums/supplypacks/musical.dm index 61401863bf..6cdb04fb97 100644 --- a/code/datums/supplypacks/musical.dm +++ b/code/datums/supplypacks/musical.dm @@ -6,6 +6,7 @@ /obj/item/instrument/eguitar, ) name = "string instruments" + desc = "A set of string instruments." cost = 50 containertype = /obj/structure/closet/crate containername = "string instrument crate" @@ -21,6 +22,7 @@ /obj/item/instrument/bikehorn, ) name = "wind instruments" + desc = "A set of wind instruments." cost = 50 containertype = /obj/structure/closet/crate containername = "wind instrument crate" @@ -32,6 +34,7 @@ /obj/item/instrument/musicalmoth ) name = "keyed instruments" + desc = "A set of keyboard-style instruments." cost = 50 containertype = /obj/structure/closet/crate containername = "keyed instruments crate" diff --git a/code/datums/supplypacks/recreation.dm b/code/datums/supplypacks/recreation.dm index ab7f37da80..95fa8e2f1f 100644 --- a/code/datums/supplypacks/recreation.dm +++ b/code/datums/supplypacks/recreation.dm @@ -13,6 +13,7 @@ /datum/supply_pack/recreation/foam_weapons name = "Foam Weapon Crate" + desc = "A set of foam weapons, from AlliCo." contains = list( /obj/item/material/sword/foam = 2, /obj/item/material/twohanded/baseballbat/foam = 2, @@ -25,6 +26,7 @@ /datum/supply_pack/recreation/donksoftweapons name = "Donk-Soft Weapon Crate" + desc = "Donk-Soft foam dart guns, and extra darts, from AlliCo." contains = list( /obj/item/ammo_magazine/ammo_box/foam = 2, /obj/item/gun/projectile/shotgun/pump/toy = 2, @@ -37,6 +39,7 @@ /datum/supply_pack/recreation/donksoftborg name = "Donk-Soft Cyborg Blaster Crate" + desc = "A pair of modular attachable Donk-Soft foam dart guns, for installation in various cyborg platforms." contains = list( /obj/item/borg/upgrade/no_prod/toygun = 2, ) @@ -46,6 +49,7 @@ /datum/supply_pack/recreation/donksoftvend name = "Donk-Soft Vendor Crate" + desc = "A Donk-Soft vending machine." contains = list() cost = 75 containertype = /obj/structure/largecrate/donksoftvendor @@ -53,6 +57,7 @@ /datum/supply_pack/recreation/lasertag name = "Lasertag equipment" + desc = "A standard set of Laser Tag equipment." contains = list( /obj/item/gun/energy/lasertag/red, /obj/item/clothing/suit/redtag, @@ -65,6 +70,7 @@ /datum/supply_pack/recreation/artscrafts name = "Arts and Crafts supplies" + desc = "A set of painting, drawing, and photography supplies." contains = list( /obj/item/storage/fancy/crayons, /obj/item/storage/fancy/markers, @@ -89,6 +95,7 @@ /datum/supply_pack/recreation/painters name = "Station Painting Supplies" + desc = "A set of supplies for turning the walls and floors into your canvas." cost = 10 containername = "station painting supplies crate" containertype = /obj/structure/closet/crate/grayson @@ -110,6 +117,7 @@ /datum/supply_pack/recreation/cheapbait name = "Cheap Fishing Bait" + desc = "Some cheap, low-quality bait for fishing with." cost = 10 containername = "cheap bait crate" containertype = /obj/structure/closet/crate/freezer @@ -119,6 +127,7 @@ /datum/supply_pack/randomised/recreation/cheapbait name = "Deluxe Fishing Bait" + desc = "High-quality bait for masterful fishing." cost = 40 containername = "deluxe bait crate" containertype = /obj/structure/closet/crate/carp @@ -130,6 +139,7 @@ /datum/supply_pack/recreation/ltagturrets name = "Laser Tag Turrets" + desc = "A pair of portable laser tag turrets." cost = 40 containername = "laser tag turret crate" containertype = /obj/structure/closet/crate/ward @@ -140,6 +150,7 @@ /datum/supply_pack/recreation/monster_bait name = "Monster Bait Toy" + desc = "A simple toy for playing with various critters." cost = 5 containername = "monster bait crate" containertype = /obj/structure/closet/crate/allico @@ -159,6 +170,7 @@ */ /datum/supply_pack/recreation/restraints name = "Recreational Restraints" + desc = "You know what these are for. If you have to ask, you're too innocent for this end of the galaxy." contains = list( /obj/item/clothing/mask/muzzle, /obj/item/clothing/glasses/sunglasses/blindfold, @@ -178,6 +190,7 @@ /datum/supply_pack/recreation/wolfgirl_cosplay_crate name = "Wolfgirl Cosplay Crate" + desc = "A set of cosplay supplies." contains = list( /obj/item/clothing/head/fluff/wolfgirl = 1, /obj/item/clothing/shoes/fluff/wolfgirl = 1, @@ -191,6 +204,7 @@ /datum/supply_pack/randomised/recreation/figures name = "Action figures crate" + desc = "Five random action figures." num_contained = 5 contains = list( /obj/random/action_figure/supplypack @@ -201,6 +215,7 @@ /datum/supply_pack/recreation/collars name = "Collar bundle" + desc = "Collars." contains = list( /obj/item/clothing/accessory/collar/shock = 1, /obj/item/clothing/accessory/collar/spike = 1, @@ -216,6 +231,7 @@ /datum/supply_pack/recreation/shiny name = "Shiny Clothing" + desc = "Questionably shiny clothing. If you have to ask, you're too innocent for this end of the galaxy." contains = list( /obj/item/clothing/mask/muzzle/ballgag = 1, /obj/item/clothing/mask/muzzle/ballgag/ringgag = 1, @@ -239,6 +255,7 @@ //3/19/21 /datum/supply_pack/recreation/smoleworld name = "Smole Bulding Bricks" + desc = "A set of interlocking plastic bricks for building things with." contains = list( /obj/item/storage/smolebrickcase, /obj/item/storage/smolebrickcase, ) @@ -248,6 +265,7 @@ /datum/supply_pack/recreation/smolesnackplanets name = "Snack planets pack" + desc = "Bags of planet-shaped snacks." num_contained = 4 contains = list( /obj/item/storage/bagoplanets, /obj/item/storage/bagoplanets @@ -258,6 +276,7 @@ /datum/supply_pack/recreation/pinkpillows name = "Pillow Crate - Pink" + desc = "Six pink pillows." contains = list( /obj/item/bedsheet/pillow = 6 ) @@ -266,6 +285,7 @@ /datum/supply_pack/recreation/tealpillows name = "Pillow Crate - Teal" + desc = "Six teal pillows." contains = list( /obj/item/bedsheet/pillow/teal = 6 ) @@ -274,6 +294,7 @@ /datum/supply_pack/recreation/whitepillows name = "Pillow Crate - White" + desc = "Six white pillows." contains = list( /obj/item/bedsheet/pillow/white = 6 ) @@ -282,6 +303,7 @@ /datum/supply_pack/recreation/blackpillows name = "Pillow Crate - Black" + desc = "Six black pillows." contains = list( /obj/item/bedsheet/pillow/black = 6 ) @@ -290,6 +312,7 @@ /datum/supply_pack/recreation/redpillows name = "Pillow Crate - Red" + desc = "Six red pillows." contains = list( /obj/item/bedsheet/pillow/red = 6 ) @@ -298,6 +321,7 @@ /datum/supply_pack/recreation/greenpillows name = "Pillow Crate - Green" + desc = "Six green pillows." contains = list( /obj/item/bedsheet/pillow/green = 6 ) @@ -306,6 +330,7 @@ /datum/supply_pack/recreation/orangepillows name = "Pillow Crate - Orange" + desc = "Six orange pillows." contains = list( /obj/item/bedsheet/pillow/orange = 6 ) @@ -314,6 +339,7 @@ /datum/supply_pack/recreation/yellowpillows name = "Pillow Crate - Yellow" + desc = "Six yellow pillows." contains = list( /obj/item/bedsheet/pillow/yellow = 6 ) diff --git a/code/datums/supplypacks/robotics.dm b/code/datums/supplypacks/robotics.dm index 900d56d5f6..693b635f35 100644 --- a/code/datums/supplypacks/robotics.dm +++ b/code/datums/supplypacks/robotics.dm @@ -13,6 +13,7 @@ /datum/supply_pack/robotics/robotics_assembly name = "Robotics assembly crate" + desc = "An assortment of basic robotics assembly supplies. Requires Robotics access." contains = list( /obj/item/assembly/prox_sensor = 3, /obj/item/storage/toolbox/electrical, @@ -54,6 +55,7 @@ /datum/supply_pack/robotics/robolimbs/morpheus name = "Morpheus robolimb blueprints" + desc = "A disk of robolimbs from the Morpheus catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/morpheus) cost = 20 containertype = /obj/structure/closet/crate/secure/morpheus @@ -62,6 +64,7 @@ /datum/supply_pack/robotics/robolimbs/cybersolutions name = "Cyber Solutions robolimb blueprints" + desc = "A disk of robolimbs from the Cyber Solutions catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/cybersolutions) cost = 20 containertype = /obj/structure/closet/crate/secure/cybersolutions @@ -70,6 +73,7 @@ /datum/supply_pack/robotics/robolimbs/xion name = "Xion robolimb blueprints" + desc = "A disk of robolimbs from the Xion Manufacturing catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/xion) cost = 20 containertype = /obj/structure/closet/crate/secure/xion @@ -78,6 +82,7 @@ /datum/supply_pack/robotics/robolimbs/grayson name = "Grayson robolimb blueprints" + desc = "A disk of robolimbs from the Grayson Industries catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/grayson) cost = 30 containertype = /obj/structure/closet/crate/secure/grayson @@ -86,6 +91,7 @@ /datum/supply_pack/robotics/robolimbs/hephaestus name = "Hephaestus robolimb blueprints" + desc = "A disk of robolimbs from the Hephaestus Arms catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/hephaestus) cost = 35 containertype = /obj/structure/closet/crate/secure/heph @@ -94,6 +100,7 @@ /datum/supply_pack/robotics/robolimbs/wardtakahashi name = "Ward-Takahashi robolimb blueprints" + desc = "A disk of robolimbs from the Ward-Takahashi catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/wardtakahashi) cost = 35 containertype = /obj/structure/closet/crate/secure/ward @@ -102,6 +109,7 @@ /datum/supply_pack/robotics/robolimbs/zenghu name = "Zeng Hu robolimb blueprints" + desc = "A disk of robolimbs from the Zeng Hu Medical catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/zenghu) cost = 35 containertype = /obj/structure/closet/crate/secure/zenghu @@ -110,6 +118,7 @@ /datum/supply_pack/robotics/robolimbs/bishop name = "Bishop robolimb blueprints" + desc = "A disk of robolimbs from the Bishop catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/bishop) cost = 70 containertype = /obj/structure/closet/crate/secure/bishop @@ -118,15 +127,16 @@ /datum/supply_pack/robotics/robolimbs/cenilimicybernetics name = "Cenilimi Cybernetics robolimb blueprints" + desc = "A disk of teshari robolimbs from the Cenilimi Cybernetics catalogue. Requires Robotics access." contains = list(/obj/item/disk/limb/cenilimicybernetics) cost = 45 containertype = /obj/structure/closet/crate/secure/science containername = "Robolimb blueprints (Cenilimi Cybernetics)" access = access_robotics - /datum/supply_pack/robotics/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" + desc = "A set of standard core components for a Ripley Power-Loader mech, plus an assembly manual. Requires Robotics access." contains = list( /obj/item/book/manual/ripley_build_and_repair, /obj/item/circuitboard/mecha/ripley/main, @@ -139,6 +149,7 @@ /datum/supply_pack/robotics/mecha_odysseus name = "Circuit Crate (\"Odysseus\")" + desc = "A set of standard core components for an Odysseus Medical Response mech. Requires Robotics access." contains = list( /obj/item/circuitboard/mecha/odysseus/peripherals, /obj/item/circuitboard/mecha/odysseus/main @@ -157,6 +168,7 @@ /obj/item/kit/paint/ripley/flames_blue ) name = "Random APLU modkit" + desc = "A random Ripley customization kit, used to modify a mech's paint job." cost = 200 containertype = /obj/structure/closet/crate/xion containername = "heavy crate" @@ -168,6 +180,7 @@ /obj/item/kit/paint/durand/phazon ) name = "Random Durand exosuit modkit" + desc = "A random Durand customization kit, used to modify a mech's paint job." containertype = /obj/structure/closet/crate/heph /datum/supply_pack/randomised/robotics/exosuit_mod/gygax @@ -177,10 +190,12 @@ /obj/item/kit/paint/gygax/recitence ) name = "Random Gygax exosuit modkit" + desc = "A random Gygax customization kit, used to modify a mech's paint job." containertype = /obj/structure/closet/crate/heph /datum/supply_pack/robotics/jumper_cables name = "Jumper kit crate" + desc = "A pair of jumper kits, for restarting damaged synthetics." contains = list( /obj/item/defib_kit/jumper_kit = 2 ) @@ -191,6 +206,7 @@ /datum/supply_pack/robotics/restrainingbolt name = "Restraining bolt crate" + desc = "A pair of restraining bolts and an implanter. Requires Robotics access." contains = list( /obj/item/implanter = 1, /obj/item/implantcase/restrainingbolt = 2 @@ -202,6 +218,7 @@ /datum/supply_pack/robotics/bike name = "Spacebike Crate" + desc = "A spacebike. Drive with extreme care." contains = list() cost = 350 containertype = /obj/structure/largecrate/vehicle/bike @@ -209,6 +226,7 @@ /datum/supply_pack/robotics/quadbike name = "ATV Crate" + desc = "An all-terrain vehicle in a crate. Can tow a trailer." contains = list() cost = 300 containertype = /obj/structure/largecrate/vehicle/quadbike @@ -216,6 +234,7 @@ /datum/supply_pack/robotics/quadtrailer name = "ATV Trailer Crate" + desc = "A trailer for an all-terrain vehicle." contains = list() cost = 250 containertype = /obj/structure/largecrate/vehicle/quadtrailer @@ -223,6 +242,7 @@ /datum/supply_pack/robotics/mecha_gopher name = "Circuit Crate (\"Gopher\" APLU)" + desc = "A set of standard core components for a Gopher micro-mech. Requires Robotics access." contains = list( /obj/item/circuitboard/mecha/gopher/main, /obj/item/circuitboard/mecha/gopher/peripherals @@ -234,6 +254,7 @@ /datum/supply_pack/robotics/mecha_polecat name = "Circuit Crate (\"Polecat\" APLU)" + desc = "A set of standard core components for a Polecat micro-mech. Requires Robotics access." contains = list( /obj/item/circuitboard/mecha/polecat/main, /obj/item/circuitboard/mecha/polecat/peripherals, @@ -246,6 +267,7 @@ /datum/supply_pack/robotics/mecha_weasel name = "Circuit Crate (\"Weasel\" APLU)" + desc = "A set of standard core components for a Weasel micro-mech. Requires Robotics access." contains = list( /obj/item/circuitboard/mecha/weasel/main, /obj/item/circuitboard/mecha/weasel/peripherals, @@ -258,6 +280,7 @@ /datum/supply_pack/robotics/some_robolimbs name = "Basic Robolimb Blueprints" + desc = "A set of standard cyberlimb blueprints, from the Morpheus, Xion, and Talon LLC catalogues. Requires Robotics access." contains = list( /obj/item/disk/limb/morpheus, /obj/item/disk/limb/xion, @@ -270,6 +293,7 @@ /datum/supply_pack/robotics/all_robolimbs name = "Advanced Robolimb Blueprints" + desc = "A wide selection of advanced cyberlimb blueprints. Includes hyperrealistic prosthetic designs from Vey-Medical and DSI. Requires Robotics access." contains = list( /obj/item/disk/limb/bishop, /obj/item/disk/limb/hephaestus, diff --git a/code/datums/supplypacks/science.dm b/code/datums/supplypacks/science.dm index 94469a886f..ae5c6c6efc 100644 --- a/code/datums/supplypacks/science.dm +++ b/code/datums/supplypacks/science.dm @@ -7,6 +7,7 @@ /datum/supply_pack/sci/coolanttank name = "Coolant tank crate" + desc = "Contains a coolant tank dispenser." contains = list(/obj/structure/reagent_dispensers/coolanttank) cost = 15 containertype = /obj/structure/closet/crate/large/aether @@ -14,6 +15,7 @@ /datum/supply_pack/sci/phoron name = "Phoron research crate" + desc = "Assorted supplies for phoron research. Requires Toxins Storage access." contains = list( /obj/item/tank/phoron = 3, /obj/item/tank/oxygen = 3, @@ -30,6 +32,7 @@ /datum/supply_pack/sci/exoticseeds name = "Exotic seeds crate" + desc = "A supply of exotic seeds, for xenobotanical and hydroponics use. Requires Hydroponics access." contains = list( /obj/item/seeds/replicapod = 2, /obj/item/seeds/ambrosiavulgarisseed = 2, @@ -45,6 +48,7 @@ /datum/supply_pack/sci/integrated_circuit_printer name = "Integrated circuit printer" + desc = "Two portable integrated circuit printers." contains = list(/obj/item/integrated_circuit_printer = 2) cost = 15 containertype = /obj/structure/closet/crate/ward @@ -52,13 +56,15 @@ /datum/supply_pack/sci/integrated_circuit_printer_upgrade name = "Integrated circuit printer upgrade - advanced designs" + desc = "An upgrade disk for integrated circuit printers that unlocks advanced circuit designs." contains = list(/obj/item/disk/integrated_circuit/upgrade/advanced) cost = 30 containertype = /obj/structure/closet/crate/ward - containername = "Integrated circuit crate" + containername = "Integrated circuit upgrade crate" /datum/supply_pack/sci/xenoarch name = "Xenoarchaeology Tech crate" + desc = "A set of standard xenoarchaeological supplies. Requires Xenoarchaeology access." contains = list( /obj/item/pickaxe/excavationdrill, /obj/item/xenoarch_multi_tool, @@ -92,6 +98,7 @@ /datum/supply_pack/sci/pred name = "Dangerous Predator crate" + desc = "Contains a dangerous predator. Requires Xenobiology access." cost = 40 containertype = /obj/structure/largecrate/animal/pred containername = "Dangerous Predator crate" @@ -99,6 +106,7 @@ /datum/supply_pack/sci/pred_doom name = "EXTREMELY Dangerous Predator crate" + desc = "Contains an extremely dangerous predator. Requires Xenobiology access." cost = 200 containertype = /obj/structure/largecrate/animal/dangerous containername = "EXTREMELY Dangerous Predator crate" @@ -107,6 +115,7 @@ /datum/supply_pack/sci/weretiger name = "Exotic Weretiger crate" + desc = "Contains a \'weretiger\'. EXTREMELY DANGEROUS. Requires Xenobiology access." cost = 55 containertype = /obj/structure/largecrate/animal/weretiger containername = "Weretiger crate" diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm index 1f2cf06f89..68e61efccb 100644 --- a/code/datums/supplypacks/security.dm +++ b/code/datums/supplypacks/security.dm @@ -14,6 +14,7 @@ /datum/supply_pack/randomised/security/armor name = "Armor - Security armor" + desc = "A set of standard security armor vests, chosen at random. Requires Armory access." num_contained = 5 contains = list( /obj/item/clothing/suit/storage/vest, @@ -35,6 +36,7 @@ /datum/supply_pack/security/carriersblack name = "Armor - Black modular armor" + desc = "A set of modular black armor." contains = list( /obj/item/clothing/suit/armor/pcarrier, /obj/item/clothing/accessory/armor/armguards, @@ -47,6 +49,7 @@ /datum/supply_pack/security/carriersblue name = "Armor - Blue modular armor" + desc = "A set of modular blue armor." contains = list( /obj/item/clothing/suit/armor/pcarrier/blue, /obj/item/clothing/accessory/armor/armguards/blue, @@ -59,6 +62,7 @@ /datum/supply_pack/security/carriersgreen name = "Armor - Green modular armor" + desc = "A set of modular green armor." contains = list( /obj/item/clothing/suit/armor/pcarrier/green, /obj/item/clothing/accessory/armor/armguards/green, @@ -71,6 +75,7 @@ /datum/supply_pack/security/carriersnavy name = "Armor - Navy modular armor" + desc = "A set of modular navy blue armor." contains = list( /obj/item/clothing/suit/armor/pcarrier/navy, /obj/item/clothing/accessory/armor/armguards/navy, @@ -83,6 +88,7 @@ /datum/supply_pack/security/carrierstan name = "Armor - Tan modular armor" + desc = "A set of modular tan armor." contains = list( /obj/item/clothing/suit/armor/pcarrier/tan, /obj/item/clothing/accessory/armor/armguards/tan, @@ -95,6 +101,7 @@ /datum/supply_pack/security/armorplate name = "Armor - Security light armor plate" + desc = "A lightweight armor insert plate." contains = list( /obj/item/clothing/accessory/armor/armorplate, ) @@ -104,6 +111,7 @@ /datum/supply_pack/security/armorplatestab name = "Armor - Security stab armor plate" + desc = "A lightweight stabproof armor insert plate." contains = list( /obj/item/clothing/accessory/armor/armorplate/stab, ) @@ -113,6 +121,7 @@ /datum/supply_pack/security/armorplatemedium name = "Armor - Security armor plate" + desc = "A mediumweight armor insert plate." contains = list( /obj/item/clothing/accessory/armor/armorplate/medium, ) @@ -122,6 +131,7 @@ /datum/supply_pack/security/armorplatetac name = "Armor - Security medium armor plate" + desc = "A tactical armor insert plate." contains = list( /obj/item/clothing/accessory/armor/armorplate/tactical, ) @@ -131,6 +141,7 @@ /datum/supply_pack/randomised/security/carriers name = "Armor - Surplus plate carriers" + desc = "A selection of random plate carriers." num_contained = 5 contains = list( /obj/item/clothing/suit/armor/pcarrier, @@ -146,6 +157,7 @@ /datum/supply_pack/security/carriertags name = "Armor - Plate carrier tags" + desc = "Various identifying tags for attachment to a plate carrier set." contains = list( /obj/item/clothing/accessory/armor/tag, /obj/item/clothing/accessory/armor/tag/nt, @@ -164,6 +176,7 @@ /datum/supply_pack/security/helmcovers name = "Armor - Helmet covers" + desc = "A set of helmet covers, for attachment to standard issue helmets." contains = list( /obj/item/clothing/accessory/armor/helmcover/blue, /obj/item/clothing/accessory/armor/helmcover/blue, @@ -180,6 +193,7 @@ /datum/supply_pack/randomised/security/armorplates name = "Armor - Surplus security armor plates" + desc = "A random selection of attachable armor insert plates." num_contained = 5 contains = list( /obj/item/clothing/accessory/armor/armorplate, @@ -199,6 +213,7 @@ /datum/supply_pack/randomised/security/carrierarms name = "Armor - Surplus security armguard attachments" + desc = "A random selection of attachable armor arm guards." num_contained = 5 contains = list( /obj/item/clothing/accessory/armor/armguards, @@ -216,6 +231,7 @@ /datum/supply_pack/randomised/security/carrierlegs name = "Armor - Surplus security legguard attachments" + desc = "A random selection of attachable armor leg guards." num_contained = 5 contains = list( /obj/item/clothing/accessory/armor/legguards, @@ -252,6 +268,7 @@ /datum/supply_pack/security/riot_gear name = "Gear - Riot" + desc = "A pack of riot control gear: less-lethal weapons, batons, shields, and handcuffs. Requires Armory access." contains = list( /obj/item/melee/baton = 3, /obj/item/shield/riot = 3, @@ -267,6 +284,7 @@ /datum/supply_pack/security/riot_armor name = "Armor - Riot" + desc = "A pack of riot suppression armor. Requires Armory access." contains = list( /obj/item/clothing/head/helmet/riot, /obj/item/clothing/suit/armor/riot, @@ -280,6 +298,7 @@ /datum/supply_pack/security/riot_plates name = "Armor - Riot plates" + desc = "A fully-equipped modular riot suppression suit. Requires Armory access." contains = list( /obj/item/clothing/head/helmet/riot, /obj/item/clothing/suit/armor/pcarrier/riot/full @@ -301,6 +320,7 @@ /datum/supply_pack/security/ablative_armor name = "Armor - Ablative" + desc = "A full set of laser-resistant armor. Requires Armory access." contains = list( /obj/item/clothing/head/helmet/laserproof, /obj/item/clothing/suit/armor/laserproof, @@ -314,6 +334,7 @@ /datum/supply_pack/security/ablative_plates name = "Armor - Ablative plates" + desc = "A fully-equipped modular laser-resistant armor suit. Requires Armory access." contains = list( /obj/item/clothing/head/helmet/laserproof, /obj/item/clothing/suit/armor/pcarrier/laserproof/full @@ -325,6 +346,7 @@ /datum/supply_pack/security/bullet_resistant_armor name = "Armor - Ballistic" + desc = "A full set of ballistic-resistant armor. Requires Armory access." contains = list( /obj/item/clothing/head/helmet/bulletproof, /obj/item/clothing/suit/armor/bulletproof, @@ -389,6 +411,7 @@ /datum/supply_pack/security/flexitac name = "Armor - Tactical Light" + desc = "A full set of light tactical armor. Requires Armory access." containertype = /obj/structure/closet/crate/secure/saare containername = "Tactical Light armor crate" cost = 75 @@ -412,6 +435,7 @@ /datum/supply_pack/security/securitybarriers name = "Misc - Security Barriers" + desc = "Four quick-deployment security barriers." contains = list(/obj/machinery/deployable/barrier = 4) cost = 20 containertype = /obj/structure/closet/crate/large/secure/heph @@ -419,6 +443,7 @@ /datum/supply_pack/security/securityshieldgen name = "Misc - Wall shield generators" + desc = "Four portable wall shield generators. Requires Teleporter access." contains = list(/obj/machinery/shieldwallgen = 4) cost = 20 containertype = /obj/structure/closet/crate/secure/heph @@ -427,6 +452,7 @@ /datum/supply_pack/randomised/security/holster name = "Gear - Holsters" + desc = "Four random holsters." num_contained = 4 contains = list( /obj/item/clothing/accessory/holster, @@ -441,6 +467,7 @@ /datum/supply_pack/security/extragear name = "Gear - Security surplus equipment" + desc = "An assortment of surplus security equipment." contains = list( /obj/item/storage/belt/security = 3, /obj/item/clothing/glasses/sunglasses/sechud = 3, @@ -454,6 +481,7 @@ /datum/supply_pack/security/detectivegear name = "Forensic - Investigation equipment" + desc = "Standard issue equipment for detectives and forensic investigators. Requires Forensics access." contains = list( /obj/item/storage/box/evidence = 2, /obj/item/clothing/suit/storage/vest/detective, @@ -482,6 +510,7 @@ /datum/supply_pack/security/detectivescan name = "Forensic - Scanning Equipment" + desc = "Additional specialist forensic equipment. Requires Forensics access." contains = list( /obj/item/mass_spectrometer, /obj/item/reagent_scanner, @@ -495,6 +524,7 @@ /datum/supply_pack/security/detectiveclothes name = "Forensic - Investigation apparel" + desc = "Apparel for the discerning detective (or forensics expert). Requires Forensics access." contains = list( /obj/item/clothing/under/det/black = 2, /obj/item/clothing/under/det/grey = 2, @@ -517,6 +547,7 @@ /datum/supply_pack/security/officergear name = "Gear - Officer equipment" + desc = "Standard issue equipment for security officers. Requires Brig access." contains = list( /obj/item/clothing/suit/storage/vest/officer, /obj/item/clothing/head/helmet, @@ -547,6 +578,7 @@ /datum/supply_pack/security/wardengear name = "Gear - " + JOB_WARDEN + " equipment" + desc = "Standard issue equipment for Wardens. Requires Armory access." contains = list( /obj/item/clothing/suit/storage/vest/warden, /obj/item/clothing/under/rank/warden, @@ -576,6 +608,7 @@ /datum/supply_pack/security/headofsecgear name = "Gear - " + JOB_HEAD_OF_SECURITY + " equipment" + desc = "Standard issue equipment for the Head of Security. Requires Head of Security access." contains = list( /obj/item/clothing/head/helmet/HoS, /obj/item/clothing/suit/storage/vest/hos, @@ -603,6 +636,7 @@ /datum/supply_pack/security/securityclothing name = "Misc - Security uniform red" + desc = "A set of standard red security uniforms." contains = list( /obj/item/storage/backpack/satchel/sec = 2, /obj/item/storage/backpack/security = 2, @@ -621,6 +655,7 @@ /datum/supply_pack/security/navybluesecurityclothing name = "Misc - Security uniform navy blue" + desc = "A set of alternative navy blue security uniforms." contains = list( /obj/item/storage/backpack/satchel/sec = 2, /obj/item/storage/backpack/security = 2, @@ -642,6 +677,7 @@ /datum/supply_pack/security/corporatesecurityclothing name = "Misc - Security uniform corporate" + desc = "A set of alternative corporate black-and-red security uniforms." contains = list( /obj/item/storage/backpack/satchel/sec = 2, /obj/item/storage/backpack/security = 2, @@ -662,6 +698,7 @@ /datum/supply_pack/security/biosuit name = "Gear - Security biohazard gear" + desc = "Three sets of security biohazard equipment. Requires Security access." contains = list( /obj/item/clothing/head/bio_hood/security = 3, /obj/item/clothing/under/rank/security = 3, @@ -679,6 +716,7 @@ /datum/supply_pack/security/posters name = "Gear - Morale Posters" + desc = "Six \'morale enhancement\' posters." contains = list( /obj/item/poster/nanotrasen = 6 ) @@ -708,21 +746,9 @@ one_access = TRUE */ -/datum/supply_pack/security/biosuit - contains = list( - /obj/item/clothing/head/bio_hood/security = 3, - /obj/item/clothing/under/rank/security = 3, - /obj/item/clothing/suit/bio_suit/security = 3, - /obj/item/clothing/shoes/white = 3, - /obj/item/clothing/mask/gas = 3, - /obj/item/tank/oxygen = 3, - /obj/item/clothing/gloves/sterile/latex, - /obj/item/storage/box/gloves - ) - cost = 40 - /datum/supply_pack/security/trackingimplant name = "Implants - Tracking" + desc = "A set of tracking implants. Requires Security access." contains = list( /obj/item/storage/box/trackimp = 1 ) @@ -733,6 +759,7 @@ /datum/supply_pack/security/chemicalimplant name = "Implants - Chemical" + desc = "A set of chemical implants. Requires Security access." contains = list( /obj/item/storage/box/chemimp = 1 ) diff --git a/code/datums/supplypacks/supply.dm b/code/datums/supplypacks/supply.dm index b6c7968753..54fb45afc8 100644 --- a/code/datums/supplypacks/supply.dm +++ b/code/datums/supplypacks/supply.dm @@ -8,6 +8,7 @@ /datum/supply_pack/supply/food name = "Kitchen supply crate" + desc = "An assortment of standard kitchen supplies, fit for preparing a variety of basic meals." contains = list( /obj/item/reagent_containers/food/condiment/carton/flour = 6, /obj/item/reagent_containers/food/drinks/milk = 3, @@ -24,6 +25,7 @@ /datum/supply_pack/supply/fancyfood name = "Artisanal food delivery" + desc = "High-quality flour and sugar from luxury Centauri Foods brands." contains = list( /obj/item/reagent_containers/food/condiment/carton/flour/rustic = 6, /obj/item/reagent_containers/food/condiment/carton/sugar/rustic = 6 @@ -35,6 +37,7 @@ /datum/supply_pack/supply/toner name = "Toner cartridges" + desc = "A set of six toner cartridges, for use in printers." contains = list(/obj/item/toner = 6) cost = 10 containertype = /obj/structure/closet/crate/ummarcar @@ -42,6 +45,7 @@ /datum/supply_pack/supply/janitor name = "Janitorial supplies" + desc = "A set of standard-issue janitorial equipment." contains = list( /obj/item/reagent_containers/glass/bucket, /obj/item/mop, @@ -66,6 +70,7 @@ /datum/supply_pack/supply/shipping name = "Shipping supplies" + desc = "Equipment and supplies needed for shipping supplies." contains = list( /obj/fiftyspawner/cardboard, /obj/item/packageWrap = 4, @@ -94,12 +99,14 @@ /obj/item/paper_bin ) name = "Office supplies" + desc = "Standard issue office supplies." cost = 15 containertype = /obj/structure/closet/crate/ummarcar containername = "Office supplies crate" /datum/supply_pack/supply/sticky_notes name = "Stationery - sticky notes (50)" + desc = "An entire full-size crate for a single pad of sticky notes." contains = list(/obj/item/sticky_pad/random) cost = 10 containertype = /obj/structure/closet/crate/ummarcar @@ -107,6 +114,7 @@ /datum/supply_pack/supply/spare_pda name = "Spare PDAs" + desc = "Three spare PDAs." cost = 10 containertype = /obj/structure/closet/crate/thinktronic containername = "Spare PDA crate" @@ -114,6 +122,7 @@ /datum/supply_pack/supply/minergear name = "Shaft miner equipment" + desc = "Standard supplies for equipping miners. Requires Mining access." contains = list( /obj/item/storage/backpack/industrial, /obj/item/storage/backpack/satchel/eng, @@ -140,6 +149,7 @@ //plus we have the destination tagger /datum/supply_pack/supply/mule name = "Mulebot Crate" + desc = "A mulebot." contains = list() cost = 20 containertype = /obj/structure/largecrate/animal/mulebot @@ -148,16 +158,19 @@ /datum/supply_pack/supply/cargotrain name = "Cargo Train Tug" + desc = "A cargo train tug. Useless without at least one trolley. Can tow several though." contains = list(/obj/vehicle/train/engine) cost = 35 /datum/supply_pack/supply/cargotrailer name = "Cargo Train Trolley" + desc = "A cargo train trolley. Useless without a tug." contains = list(/obj/vehicle/train/trolley) cost = 15 /datum/supply_pack/explorergear name= JOB_EXPLORER + " gear" + desc = "Standard issue equipment for Explorers. Requires EVA and Exploration access." contains = list ( /obj/item/cataloguer, /obj/item/geiger, @@ -184,6 +197,7 @@ /datum/supply_pack/pilotgear name= JOB_PILOT + " gear" + desc = "Standard issue equipment for Pilots. Requires Pilot's access." contains = list ( /obj/item/storage/backpack/parachute, /obj/item/radio/headset/pilot, @@ -210,6 +224,7 @@ /datum/supply_pack/supply/foodcubes name = "Emergency food cubes" + desc = "A pack of emergency food cubes. Even less appetizing than nutripaste." contains = list( /obj/machinery/vending/emergencyfood/filled = 1) cost = 75 @@ -218,6 +233,7 @@ /datum/supply_pack/pathfindergear name= JOB_PATHFINDER + " gear" + desc = "Standard issue equipment for Away Team Pathfinders. Requires Exploration access." contains = list ( /obj/item/cataloguer/compact/pathfinder, /obj/item/geiger, diff --git a/code/datums/supplypacks/supplypacks.dm b/code/datums/supplypacks/supplypacks.dm index ad705a7093..33c7382b33 100644 --- a/code/datums/supplypacks/supplypacks.dm +++ b/code/datums/supplypacks/supplypacks.dm @@ -30,6 +30,7 @@ var/list/all_supply_groups = list("Atmospherics", /datum/supply_pack var/name = null + var/desc = "This is a placeholder description." //information on what the crate is/contains var/list/contains = list() // Typepaths, used to actually spawn the contents var/list/manifest = list() // Object names, used to compile manifests var/cost = null diff --git a/code/datums/supplypacks/vending_refills.dm b/code/datums/supplypacks/vending_refills.dm index e8cf8aa88b..88841f6062 100644 --- a/code/datums/supplypacks/vending_refills.dm +++ b/code/datums/supplypacks/vending_refills.dm @@ -11,101 +11,121 @@ /datum/supply_pack/vending_refills/snack contains = list(/obj/item/refill_cartridge/autoname/food/snack) name = "Getmore Chocolate Corp Vendor Refill Cartridge" + desc = "A refill pack for a Getmore Chocolate Corp Vending Machine." cost = 10 /datum/supply_pack/vending_refills/fitness contains = list(/obj/item/refill_cartridge/autoname/food/fitness) name = "SweatMAX Vendor Refill Cartridge" + desc = "A refill pack for a SweatMAX Exercise Vending Machine." cost = 10 /datum/supply_pack/vending_refills/weeb contains = list(/obj/item/refill_cartridge/autoname/food/weeb) name = "Nippon-tan Vendor Refill Cartridge" + desc = "A refill pack for a Nippon-tan Food Vending Machine." cost = 10 /datum/supply_pack/vending_refills/sol contains = list(/obj/item/refill_cartridge/autoname/food/sol) name = "Sol-Snacks Vendor Refill Cartridge" + desc = "A refill pack for a Sol-Snacks Vending Machine." cost = 10 /datum/supply_pack/vending_refills/snix contains = list(/obj/item/refill_cartridge/autoname/food/snix) name = "Snix Vendor Refill Cartridge" + desc = "A refill pack for a Snix Snack Vending Machine." cost = 10 /datum/supply_pack/vending_refills/snlvend contains = list(/obj/item/refill_cartridge/autoname/food/snlvend) name = "Shop-n-Large Snacks Vendor Refill Cartridge" + desc = "A refill pack for a Shop-n-Large Snack Vending Machine." cost = 10 /datum/supply_pack/vending_refills/sovietvend contains = list(/obj/item/refill_cartridge/autoname/food/sovietvend) name = "Ration Station Vendor Refill Cartridge" + desc = "A refill pack for a Ration Station." cost = 10 /datum/supply_pack/vending_refills/altevian contains = list(/obj/item/refill_cartridge/autoname/food/altevian) name = "Altevian Vendor Refill Cartridge" + desc = "A refill pack for an Altevian Fleet Food Vending Machine." cost = 10 /datum/supply_pack/vending_refills/coffee contains = list(/obj/item/refill_cartridge/autoname/drink/coffee) name = "Hot Drinks Vendor Refill Cartridge" + desc = "A refill pack for a Hot Drinks Vending Machine." cost = 10 /datum/supply_pack/vending_refills/cola contains = list(/obj/item/refill_cartridge/autoname/drink/cola) name = "Robust Softdrinks Vendor Refill Cartridge" + desc = "A refill pack for a Robust Softdrinks Vending Machine." cost = 10 /datum/supply_pack/vending_refills/sovietsoda contains = list(/obj/item/refill_cartridge/autoname/drink/sovietsoda) name = "BODA Vendor Refill Cartridge" + desc = "A refill pack for a... BODA? vending machine." cost = 10 /datum/supply_pack/vending_refills/bepis contains = list(/obj/item/refill_cartridge/autoname/drink/bepis) name = "Bepis Softdrinks Vendor Refill Cartridge" + desc = "A refill pack for a Bepis Softdrinks vending machine." cost = 10 /datum/supply_pack/vending_refills/cigarette contains = list(/obj/item/refill_cartridge/autoname/cigarette) name = "Cigarette Vendor Refill Cartridge" + desc = "A refill pack for cigarette vending machine." cost = 15 /datum/supply_pack/vending_refills/wardrobe contains = list(/obj/item/refill_cartridge/multitype/wardrobe) name = "Wardrobe Vendor Refill Cartridge" + desc = "A feedstock refill pack for assorted wardrobe vending machines." cost = 10 /datum/supply_pack/vending_refills/giftvendor contains = list(/obj/item/refill_cartridge/autoname/giftvendor) name = "AlliCo Baubles and Confectionaries Vendor Refill Cartridge" + desc = "A refill pack for AlliCo's Baubles and Confectionaries vending machine." cost = 20 /datum/supply_pack/vending_refills/general_food contains = list(/obj/item/refill_cartridge/multitype/food = 5) name = "5-Pack Food Vendor Refill Cartridges" + desc = "A five pack of multipurpose food vending machine refills." cost = 75 /datum/supply_pack/vending_refills/general_drink contains = list(/obj/item/refill_cartridge/multitype/drink = 5) name = "5-Pack Drink Vendor Refill Cartridges" + desc = "A five pack of multipurpose drink vending machine refills." cost = 75 /datum/supply_pack/vending_refills/general_clothing contains = list(/obj/item/refill_cartridge/multitype/clothing = 5) name = "5-Pack Clothing Vendor Refill Cartridges" + desc = "A five pack of multipurpose clothing vending machine refills." cost = 75 /datum/supply_pack/vending_refills/general_technical contains = list(/obj/item/refill_cartridge/multitype/technical = 5) name = "5-Pack Technical Vendor Refill Cartridges" + desc = "A five pack of multipurpose technical equipment vending machine refills." cost = 75 /datum/supply_pack/vending_refills/general_specialty contains = list(/obj/item/refill_cartridge/multitype/specialty = 5) name = "5-Pack Specialty Vendor Refill Cartridges" + desc = "A five pack of specialist vending machine refills." cost = 150 /datum/supply_pack/randomised/vending_refills/value_pack // 5 random vendor-specific cartridges at lower average price. But why? @@ -127,4 +147,5 @@ /obj/item/refill_cartridge/autoname/technical/tool, /obj/item/refill_cartridge/autoname/giftvendor) name = "5-pack Extra-Cheap Vendor Refill Cartridges" + desc = "A five pack of random, discount, surplus vending machine refills." cost = 35 \ No newline at end of file diff --git a/code/datums/supplypacks/voidsuits.dm b/code/datums/supplypacks/voidsuits.dm index 7b6a0769b2..4a5f3321d4 100644 --- a/code/datums/supplypacks/voidsuits.dm +++ b/code/datums/supplypacks/voidsuits.dm @@ -9,6 +9,7 @@ /datum/supply_pack/voidsuits/atmos name = "Atmospheric voidsuits" + desc = "A pair of standard Atmospherics voidsuits. Requires Atmospherics access." contains = list( /obj/item/clothing/suit/space/void/atmos = 2, /obj/item/clothing/head/helmet/space/void/atmos = 2, @@ -23,6 +24,7 @@ /datum/supply_pack/voidsuits/atmos/alt name = "Heavy Duty Atmospheric voidsuits" + desc = "A pair of heavy duty Atmospherics voidsuits. Requires Atmospherics access." contains = list( /obj/item/clothing/suit/space/void/atmos/alt = 2, /obj/item/clothing/head/helmet/space/void/atmos/alt = 2, @@ -37,6 +39,7 @@ /datum/supply_pack/voidsuits/engineering name = "Engineering voidsuits" + desc = "A pair of standard Engineering voidsuits. Requires Engineering access." contains = list( /obj/item/clothing/suit/space/void/engineering = 2, /obj/item/clothing/head/helmet/space/void/engineering = 2, @@ -51,6 +54,7 @@ /datum/supply_pack/voidsuits/engineering/construction name = "Engineering Construction voidsuits" + desc = "A pair of Engineering construction voidsuits. Requires Engineering access." contains = list( /obj/item/clothing/suit/space/void/engineering/construction = 2, /obj/item/clothing/head/helmet/space/void/engineering/construction = 2, @@ -65,6 +69,7 @@ /datum/supply_pack/voidsuits/engineering/hazmat name = "Engineering Hazmat voidsuits" + desc = "A pair of Engineering hazmat voidsuits. Requires Engineering access." contains = list( /obj/item/clothing/suit/space/void/engineering/hazmat = 2, /obj/item/clothing/head/helmet/space/void/engineering/hazmat = 2, @@ -79,6 +84,7 @@ /datum/supply_pack/voidsuits/engineering/alt name = "Reinforced Engineering voidsuits" + desc = "A pair of reinforced Engineering voidsuits. Requires Engineering access." contains = list( /obj/item/clothing/suit/space/void/engineering/alt = 2, /obj/item/clothing/head/helmet/space/void/engineering/alt = 2, @@ -93,6 +99,7 @@ /datum/supply_pack/voidsuits/medical name = "Medical voidsuits" + desc = "A pair of standard Medical voidsuits. Requires Medical access." contains = list( /obj/item/clothing/suit/space/void/medical = 2, /obj/item/clothing/head/helmet/space/void/medical = 2, @@ -107,6 +114,7 @@ /datum/supply_pack/voidsuits/medical/emt name = "Medical EMT voidsuits" + desc = "A pair of Medical Emergency Response voidsuits. Requires Medical access." contains = list( /obj/item/clothing/suit/space/void/medical/emt = 2, /obj/item/clothing/head/helmet/space/void/medical/emt = 2, @@ -121,6 +129,7 @@ /datum/supply_pack/voidsuits/medical/bio name = "Medical Biohazard voidsuits" + desc = "A pair of Medical Biohazard Response voidsuits. Requires Medical access." contains = list( /obj/item/clothing/suit/space/void/medical/bio = 2, /obj/item/clothing/head/helmet/space/void/medical/bio = 2, @@ -135,6 +144,7 @@ /datum/supply_pack/voidsuits/medical/alt name = "Vey-Med Autoadaptive voidsuits (humanoid)" + desc = "A pair of advanced Vey-Med Adaptive Medical voidsuits. Requires Medical access, fits most humanoids." contains = list( /obj/item/clothing/suit/space/void/medical/alt = 2, /obj/item/clothing/head/helmet/space/void/medical/alt = 2, @@ -149,6 +159,7 @@ /datum/supply_pack/voidsuits/medical/alt/tesh name = "Vey-Med Autoadaptive voidsuits (teshari)" + desc = "A pair of advanced Vey-Med Adaptive Medical voidsuits. Requires Medical access, fits teshari only." contains = list( /obj/item/clothing/suit/space/void/medical/alt/tesh = 2, /obj/item/clothing/head/helmet/space/void/medical/alt/tesh = 2, @@ -160,6 +171,7 @@ /datum/supply_pack/voidsuits/security name = "Security voidsuits" + desc = "A pair of standard Security voidsuits." contains = list( /obj/item/clothing/suit/space/void/security = 2, /obj/item/clothing/head/helmet/space/void/security = 2, @@ -170,9 +182,11 @@ cost = 35 containertype = /obj/structure/closet/crate/secure/heph containername = "Security voidsuit crate" + access = access_armory /datum/supply_pack/voidsuits/security/crowd name = "Security Crowd Control voidsuits" + desc = "A pair of Security Crowd Control voidsuits. Requires Armory access." contains = list( /obj/item/clothing/suit/space/void/security/riot = 2, /obj/item/clothing/head/helmet/space/void/security/riot = 2, @@ -187,6 +201,7 @@ /datum/supply_pack/voidsuits/security/alt name = "Security EVA voidsuits" + desc = "A pair of Security EVA voidsuits. Requires Armory access." contains = list( /obj/item/clothing/suit/space/void/security/alt = 2, /obj/item/clothing/head/helmet/space/void/security/alt = 2, @@ -201,6 +216,7 @@ /datum/supply_pack/voidsuits/supply name = "Mining voidsuits" + desc = "A pair of standard Mining voidsuits. Requires Mining access." contains = list( /obj/item/clothing/suit/space/void/mining = 2, /obj/item/clothing/head/helmet/space/void/mining = 2, @@ -214,6 +230,7 @@ /datum/supply_pack/voidsuits/supply/alt name = "Frontier Mining voidsuits" + desc = "A pair of Frontier Mining voidsuits. Requires Mining access." contains = list( /obj/item/clothing/suit/space/void/mining/alt = 2, /obj/item/clothing/head/helmet/space/void/mining/alt = 2, @@ -227,6 +244,7 @@ /datum/supply_pack/voidsuits/zaddat name = "Zaddat Shroud" + desc = "A standard zaddat shroud - a special kind of hazardous encounter suit, used by the zaddat species." contains = list( /obj/item/clothing/suit/space/void/zaddat = 1, /obj/item/clothing/mask/gas/zaddat = 1 @@ -238,6 +256,7 @@ /datum/supply_pack/voidsuits/explorer name = JOB_EXPLORER + " voidsuits" + desc = "A pair of standard Exploration voidsuits. Requires EVA and Exploration access." contains = list( /obj/item/clothing/suit/space/void/exploration = 2, /obj/item/clothing/head/helmet/space/void/exploration = 2, @@ -252,6 +271,7 @@ /datum/supply_pack/voidsuits/explorer_medic name = JOB_FIELD_MEDIC + " voidsuits" + desc = "A pair of standard Field Medic voidsuits. Requires Medical access." contains = list( /obj/item/clothing/suit/space/void/exploration = 2, /obj/item/clothing/head/helmet/space/void/exploration = 2, @@ -266,6 +286,7 @@ /datum/supply_pack/voidsuits/pilot name = JOB_PILOT + " voidsuits" + desc = "A pair of standard Pilot's voidsuits. Requires Pilot's access." contains = list( /obj/item/clothing/suit/space/void/pilot = 1, /obj/item/clothing/head/helmet/space/void/pilot = 1, @@ -280,7 +301,8 @@ // Surplus! /datum/supply_pack/voidsuits/com_mining - name = "SolGov mining voidsuit" //YW Edit + name = "SolGov mining voidsuit" // YW Edit + desc = "A standard SolGov Mining voidsuit. Requires Mining access." // YW EDIT contains = list( /obj/item/clothing/suit/space/void/mining/alt2, /obj/item/clothing/head/helmet/space/void/mining/alt2 @@ -291,7 +313,8 @@ access = access_mining /datum/supply_pack/voidsuits/com_anomaly - name = "SolGov anomaly suit" //YW Edit + name = "SolGov anomaly suit" // YW Edit + desc = "A standard SolGov Anomalous Materials Handling voidsuit. Requires Xenoarchaeology access." // YW EDIT contains = list( /obj/item/clothing/suit/space/anomaly/alt, /obj/item/clothing/head/helmet/space/anomaly/alt @@ -303,17 +326,19 @@ /datum/supply_pack/voidsuits/com_riot name = "SolGov riot voidsuit" //YW Edit + desc = "A standard SolGov Riot Control voidsuit. Requires Armory access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/security/riot/alt, /obj/item/clothing/head/helmet/space/void/security/riot/alt ) cost = 150 containertype = /obj/structure/closet/crate/secure - name = "SolGov riot voidsuit crate" //YW Edit - access = access_brig + name = "SolGov riot voidsuit crate" // YW Edit + access = access_armory /datum/supply_pack/voidsuits/com_pilot - name = "SolGov pilot voidsuit" //YW Edit + name = "SolGov pilot voidsuit" // YW Edit + desc = "A standard SolGov Pilot's voidsuit. Requires Pilot's access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/pilot/alt2, /obj/item/clothing/head/helmet/space/void/pilot/alt2 @@ -324,18 +349,20 @@ access = access_pilot /datum/supply_pack/voidsuits/com_medical - name = "SolGov medical voidsuit" //YW Edit + name = "SolGov medical voidsuit" // YW Edit + desc = "A standard SolGov Medical voidsuit. Requires Medical access." // YW EDIT contains = list( /obj/item/clothing/suit/space/void/medical/alt2, /obj/item/clothing/head/helmet/space/void/medical/alt2 ) cost = 150 containertype = /obj/structure/closet/crate/secure - name = "SolGov medical voidsuit crate" //YW Edit + name = "SolGov medical voidsuit crate" // YW Edit + access = access_medical /datum/supply_pack/voidsuits/com_explore - - name = "SolGov exploration voidsuit" //YW Edit + name = "SolGov exploration voidsuit" // YW Edit + desc = "A standard SolGov Exploration voidsuit. Requires EVA and Exploration access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/exploration/alt2, /obj/item/clothing/head/helmet/space/void/exploration/alt2 @@ -346,7 +373,8 @@ access = list(access_eva, access_explorer) /datum/supply_pack/voidsuits/com_engineer - name = "SolGov engineering voidsuit" //YW Edit + name = "SolGov engineering voidsuit" // YW Edit + desc = "A standard SolGov Engineering voidsuit. Requires Engineering access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/engineering/alt2, /obj/item/clothing/head/helmet/space/void/engineering/alt2 @@ -357,7 +385,8 @@ access = access_engine /datum/supply_pack/voidsuits/com_atmos - name = "SolGov atmos voidsuit" //YW Edit + name = "SolGov atmos voidsuit" // YW Edit + desc = "A standard SolGov Atmospherics voidsuit. Requires Atmospherics access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/atmos/alt2, /obj/item/clothing/head/helmet/space/void/atmos/alt2 @@ -368,7 +397,8 @@ access = access_atmospherics /datum/supply_pack/voidsuits/com_captain - name = "SolGov captain voidsuit" //YW Edit + name = "SolGov captain voidsuit" // YW Edit + desc = "A standard SolGov Captain's voidsuit. Requires Captain's access." // YW Edit contains = list( /obj/item/clothing/suit/space/void/captain/alt, /obj/item/clothing/head/helmet/space/void/captain/alt @@ -380,6 +410,7 @@ /datum/supply_pack/voidsuits/csc_breaker name = "Shipbreaker's Industrial Suit (inc. jetpack)" + desc = "A Coyote Salvage Corporation Shipbreaker's voidsuit. Includes h-fuel jetpack." contains = list( /obj/item/clothing/suit/space/void/salvagecorp_shipbreaker, /obj/item/clothing/head/helmet/space/void/salvagecorp_shipbreaker, diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index cfb5ac89ab..57b26279d2 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -186,7 +186,7 @@ var/datum/uplink/uplink = new() if(!I) break bought_items += I - remaining_TC -= I.cost(remaining_TC, U) + remaining_TC -= I.cost(U, remaining_TC) return bought_items @@ -198,6 +198,6 @@ var/datum/uplink/uplink = new() if(!I) break bought_items += I - remaining_TC -= I.cost(remaining_TC, U) + remaining_TC -= I.cost(U, remaining_TC) return bought_items diff --git a/code/defines/gases.dm b/code/defines/gases.dm index 6b2a67c243..69c541655e 100644 --- a/code/defines/gases.dm +++ b/code/defines/gases.dm @@ -1,26 +1,26 @@ /decl/xgm_gas/oxygen - id = "oxygen" - name = "Oxygen" + id = GAS_O2 + name = REAGENT_OXYGEN specific_heat = 20 // J/(mol*K) molar_mass = 0.032 // kg/mol flags = XGM_GAS_OXIDIZER /decl/xgm_gas/nitrogen - id = "nitrogen" - name = "Nitrogen" + id = GAS_N2 + name = REAGENT_NITROGEN specific_heat = 20 // J/(mol*K) molar_mass = 0.028 // kg/mol /decl/xgm_gas/carbon_dioxide - id = "carbon_dioxide" - name = "Carbon Dioxide" + id = GAS_CO2 + name = REAGENT_CARBON_DIOXIDE specific_heat = 30 // J/(mol*K) molar_mass = 0.044 // kg/mol /decl/xgm_gas/phoron - id = "phoron" - name = "Phoron" + id = GAS_PHORON + name = REAGENT_PHORON //Note that this has a significant impact on TTV yield. //Because it is so high, any leftover phoron soaks up a lot of heat and drops the yield pressure. @@ -36,19 +36,19 @@ flags = XGM_GAS_FUEL | XGM_GAS_CONTAMINANT | XGM_GAS_FUSION_FUEL //R-UST port, adding XGM_GAS_FUSION_FUEL flag. /decl/xgm_gas/volatile_fuel - id = "volatile_fuel" - name = "Volatile Fuel" + id = GAS_VOLATILE_FUEL + name = REAGENT_VOLATILE_FUEL specific_heat = 253 // J/(mol*K) C8H18 gasoline. Isobaric, but good enough. molar_mass = 0.114 // kg/mol. same. flags = XGM_GAS_FUEL /decl/xgm_gas/nitrous_oxide - id = "nitrous_oxide" - name = "Nitrous Oxide" + id = GAS_N2O + name = REAGENT_NITROUS_OXIDE specific_heat = 40 // J/(mol*K) molar_mass = 0.044 // kg/mol. N2O tile_overlay = "nitrous_oxide" overlay_limit = 1 - flags = XGM_GAS_OXIDIZER \ No newline at end of file + flags = XGM_GAS_OXIDIZER diff --git a/code/game/antagonist/alien/borer.dm b/code/game/antagonist/alien/borer.dm index c36cd16d31..8156a792d6 100644 --- a/code/game/antagonist/alien/borer.dm +++ b/code/game/antagonist/alien/borer.dm @@ -30,7 +30,7 @@ var/datum/antagonist/borer/borers borers = src /datum/antagonist/xenos/borer/get_extra_panel_options(var/datum/mind/player) - return "\[put in host\]" + return "\[put in host\]" /datum/antagonist/borer/create_objectives(var/datum/mind/player) if(!..()) diff --git a/code/game/antagonist/antagonist_panel.dm b/code/game/antagonist/antagonist_panel.dm index 8fa2d060f0..60925b9d9b 100644 --- a/code/game/antagonist/antagonist_panel.dm +++ b/code/game/antagonist/antagonist_panel.dm @@ -3,13 +3,13 @@ var/dat = "" return dat @@ -27,11 +27,11 @@ var/mob/M = player.current dat += "" if(M) - dat += "" - dat += "" + dat += "" else dat += "" dat += "" @@ -45,7 +45,7 @@ while(!istype(disk_loc, /turf)) if(istype(disk_loc, /mob)) var/mob/M = disk_loc - dat += "carried by [M.real_name] " + dat += "carried by [M.real_name] " if(istype(disk_loc, /obj)) var/obj/O = disk_loc dat += "in \a [O.name] " diff --git a/code/game/antagonist/station/traitor.dm b/code/game/antagonist/station/traitor.dm index e517ec8e38..898e71fd46 100644 --- a/code/game/antagonist/station/traitor.dm +++ b/code/game/antagonist/station/traitor.dm @@ -19,7 +19,7 @@ var/datum/antagonist/traitor/traitors traitors = src /datum/antagonist/traitor/get_extra_panel_options(var/datum/mind/player) - return "\[set crystals\]\[spawn uplink\]" + return "\[set crystals\]\[spawn uplink\]" /datum/antagonist/traitor/Topic(href, href_list) if (..()) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 3af919882b..8d5616955b 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -562,6 +562,8 @@ GLOBAL_DATUM(spoiler_obfuscation_image, /image) return if(!isliving(ourmob)) return + if(ourmob.client?.holder) + return if(isanimal(ourmob)) var/mob/living/simple_mob/shadekin/SK = ourmob if(SK.ability_flags & AB_PHASE_SHIFTED) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e428aae3a7..80580031d6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -647,13 +647,13 @@ . = ..() var/custom_edit_name if(!isliving(src)) - custom_edit_name = "[src]" + custom_edit_name = "[src]" . += {" [custom_edit_name]
- << - [dir2text(dir)] - >> + << + [dir2text(dir)] + >> "} var/turf/T = get_turf(src) diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 2a686e0a9a..099e5c4d18 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -25,13 +25,6 @@ var/global/list/assigned_blocks[DNA_SE_LENGTH] var/global/list/datum/dna/gene/dna_genes[0] -///////////////// -// GENE DEFINES -///////////////// -// Skip checking if it's already active. -// Used for genes that check for value rather than a binary on/off. -#define GENE_ALWAYS_ACTIVATE 1 - /datum/dna // READ-ONLY, GETS OVERWRITTEN // DO NOT FUCK WITH THESE OR BYOND WILL EAT YOUR FACE diff --git a/code/game/dna/dna2_domutcheck.dm b/code/game/dna/dna2_domutcheck.dm index 02495bbc49..2b3f820532 100644 --- a/code/game/dna/dna2_domutcheck.dm +++ b/code/game/dna/dna2_domutcheck.dm @@ -3,7 +3,6 @@ // M: Mob to mess with // connected: Machine we're in, type unchecked so I doubt it's used beyond monkeying // flags: See below, bitfield. -#define MUTCHK_FORCED 1 /proc/domutcheck(var/mob/living/M, var/connected=null, var/flags=0) for(var/datum/dna/gene/gene in dna_genes) if(!M || !M.dna) diff --git a/code/game/gamemodes/changeling/modularchangling.dm b/code/game/gamemodes/changeling/modularchangling.dm index 5563d4f01b..84d5294575 100644 --- a/code/game/gamemodes/changeling/modularchangling.dm +++ b/code/game/gamemodes/changeling/modularchangling.dm @@ -113,7 +113,7 @@ var/list/datum/power/changeling/powerinstances = list() if(!ownsthis) { - body += "Evolve" + body += "Evolve" } body += "" @@ -75,7 +75,7 @@ var/list/trait_categories = list() // The categories available for the trait men style_class = "linkOff" else if(ticked) style_class = "linkOn" - . += "" + . += "" // . += "" var/invalidity = T.test_for_invalidity(src) @@ -91,7 +91,7 @@ var/list/trait_categories = list() // The categories available for the trait men // if(ticked) // . += "" . += "
[role_text]:" var/extra = get_extra_panel_options(player) if(is_antagonist(player)) - dat += "\[-\]" - dat += "\[equip\]" + dat += "\[-\]" + dat += "\[equip\]" if(starting_locations && starting_locations.len) - dat += "\[move to spawn\]" + dat += "\[move to spawn\]" if(extra) dat += "[extra]" else - dat += "\[+\]" + dat += "\[+\]" dat += "
[M.real_name]/([player.key])" + dat += "[M.real_name]/([player.key])" if(!M.client) dat += " (logged out)" if(M.stat == DEAD) dat += " (DEAD)" dat += "\[PP]\[PM\]\[TP\]\[PP]\[PM\]\[TP\][player.key] Mob not found!
"; @@ -357,4 +357,3 @@ var/list/datum/power/changeling/powerinstances = list() call(M.current, Thepower.verbpath)() else if(remake_verbs) M.current.make_changeling() - diff --git a/code/game/gamemodes/changeling/powers/cryo_sting.dm b/code/game/gamemodes/changeling/powers/cryo_sting.dm index adf6cc0751..b61b5b00ed 100644 --- a/code/game/gamemodes/changeling/powers/cryo_sting.dm +++ b/code/game/gamemodes/changeling/powers/cryo_sting.dm @@ -22,7 +22,7 @@ inject_amount = inject_amount * 1.5 to_chat(src, span_notice("We inject extra chemicals.")) if(T.reagents) - T.reagents.add_reagent("cryotoxin", inject_amount) + T.reagents.add_reagent(REAGENT_ID_CRYOTOXIN, inject_amount) feedback_add_details("changeling_powers","CS") remove_verb(src, /mob/proc/changeling_cryo_sting) spawn(3 MINUTES) diff --git a/code/game/gamemodes/changeling/powers/death_sting.dm b/code/game/gamemodes/changeling/powers/death_sting.dm index 9acb09e8b2..ed82ec0b35 100644 --- a/code/game/gamemodes/changeling/powers/death_sting.dm +++ b/code/game/gamemodes/changeling/powers/death_sting.dm @@ -18,6 +18,6 @@ T.silent = 10 T.Paralyse(10) T.make_jittery(100) - if(T.reagents) T.reagents.add_reagent("lexorin", 40) + if(T.reagents) T.reagents.add_reagent(REAGENT_ID_LEXORIN, 40) feedback_add_details("changeling_powers","DTHS") return 1 diff --git a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm index f2e2175dfa..47afecedee 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm @@ -35,7 +35,7 @@ C.SetWeakened(0) C.lying = 0 C.update_canmove() -// C.reagents.add_reagent("toxin", 10) +// C.reagents.add_reagent(REAGENT_ID_TOXIN, 10) C.reagents.add_reagent("epinephrine", 20) if(src.mind.changeling.recursive_enhancement) diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index 672fdb1fd3..c80aa41e37 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -131,8 +131,8 @@ // Make it a wood-reinforced wooden table. // There are cult materials available, but it'd make the table non-deconstructable with how holotables work. // Could possibly use a new material var for holographic-ness? - material = get_material_by_name("wood") - reinforced = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) + reinforced = get_material_by_name(MAT_WOOD) update_desc() update_connections(1) update_icon() diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 9b5c9968a6..2401cbde09 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -63,15 +63,15 @@ var/dat = span_bold("There are [src.uses] bloody runes on the parchment.") + "
" dat += "Please choose the chant to be imbued into the fabric of reality.
" dat += "
" - dat += "N'ath reth sh'yro eth d'raggathnor! - Allows you to summon a new arcane tome.
" - dat += "Sas'so c'arta forbici! - Allows you to move to a rune with the same last word.
" - dat += "Ta'gh fara'qha fel d'amar det! - Allows you to destroy technology in a short range.
" - dat += "Kla'atu barada nikt'o! - Allows you to conceal the runes you placed on the floor.
" - dat += "O bidai nabora se'sma! - Allows you to coordinate with others of your cult.
" - dat += "Fuu ma'jin - Allows you to stun a person by attacking them with the talisman.
" - dat += "Sa tatha najin - Allows you to summon armoured robes and an unholy blade
" - dat += "Kal om neth - Summons a soul stone
" - dat += "Da A'ig Osk - Summons a construct shell for use with captured souls. It is too large to carry on your person.
" + dat += "N'ath reth sh'yro eth d'raggathnor! - Allows you to summon a new arcane tome.
" + dat += "Sas'so c'arta forbici! - Allows you to move to a rune with the same last word.
" + dat += "Ta'gh fara'qha fel d'amar det! - Allows you to destroy technology in a short range.
" + dat += "Kla'atu barada nikt'o! - Allows you to conceal the runes you placed on the floor.
" + dat += "O bidai nabora se'sma! - Allows you to coordinate with others of your cult.
" + dat += "Fuu ma'jin - Allows you to stun a person by attacking them with the talisman.
" + dat += "Sa tatha najin - Allows you to summon armoured robes and an unholy blade
" + dat += "Kal om neth - Summons a soul stone
" + dat += "Da A'ig Osk - Summons a construct shell for use with captured souls. It is too large to carry on your person.
" usr << browse(dat, "window=id_com;size=350x200") return diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm index 5c60665a74..f12840fdf3 100644 --- a/code/game/gamemodes/newobjective.dm +++ b/code/game/gamemodes/newobjective.dm @@ -1143,30 +1143,30 @@ datum var/target_name New(var/text,var/joba) ..() - var/list/items = list("Sulphuric acid", "Polytrinic acid", "Space Lube", "Unstable mutagen",\ - "Leporazine", "Cryptobiolin", "Lexorin ",\ - "Kelotane", "Dexalin", "Tricordrazine") + var/list/items = list(REAGENT_SACID, REAGENT_PACID, REAGENT_LUBE, REAGENT_MUTAGEN,\ + REAGENT_LEPORAZINE, REAGENT_CRYPTOBIOLIN, REAGENT_LEXORIN,\ + REAGENT_KELOTANE, REAGENT_DEXALIN, REAGENT_TRICORDRAZINE) target_name = pick(items) switch(target_name) - if("Sulphuric acid") + if(REAGENT_SACID) steal_target = /datum/reagent/acid - if("Polytrinic acid") + if(REAGENT_PACID) steal_target = /datum/reagent/pacid - if("Space Lube") + if(REAGENT_LUBE) steal_target = /datum/reagent/lube - if("Unstable mutagen") + if(REAGENT_MUTAGEN) steal_target = /datum/reagent/mutagen - if("Leporazine") + if(REAGENT_LEPORAZINE) steal_target = /datum/reagent/leporazine - if("Cryptobiolin") + if(REAGENT_CRYPTOBIOLIN) steal_target =/datum/reagent/cryptobiolin - if("Lexorin") + if(REAGENT_LEXORIN) steal_target = /datum/reagent/lexorin - if("Kelotane") + if(REAGENT_KELOTANE) steal_target = /datum/reagent/kelotane - if("Dexalin") + if(REAGENT_DEXALIN) steal_target = /datum/reagent/dexalin - if("Tricordrazine") + if(REAGENT_TRICORDRAZINE) steal_target = /datum/reagent/tricordrazine explanation_text = "Steal a container filled with [target_name]." diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d563959fe5..1e589f6f13 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -501,7 +501,7 @@ var/global/list/all_objectives = list() for(var/obj/item/I in all_items) //Check for phoron tanks if(istype(I, steal_target)) - found_amount += (target_name=="28 moles of phoron (full tank)" ? (I:air_contents:gas["phoron"]) : (I:amount)) + found_amount += (target_name=="28 moles of phoron (full tank)" ? (I:air_contents:gas[GAS_PHORON]) : (I:amount)) return found_amount>=target_amount if("50 coins (in bag)") diff --git a/code/game/gamemodes/technomancer/spells/condensation.dm b/code/game/gamemodes/technomancer/spells/condensation.dm index c1fe4912c6..39b52923ec 100644 --- a/code/game/gamemodes/technomancer/spells/condensation.dm +++ b/code/game/gamemodes/technomancer/spells/condensation.dm @@ -27,7 +27,7 @@ if(desired_turf) // This shouldn't fail but... var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(T)) W.create_reagents(60) - W.reagents.add_reagent(id = "water", amount = 60, data = null, safety = 0) + W.reagents.add_reagent(id = REAGENT_ID_WATER, amount = 60, data = null, safety = 0) W.set_color() W.set_up(desired_turf) flick(initial(icon_state),W) // Otherwise pooling causes the animation to stay stuck at the end. @@ -40,5 +40,5 @@ else add_attack_logs(user,hit_atom,"Wetted the floor with [src] at [T.x],[T.y],[T.z]") else if(hit_atom.reagents && !ismob(hit_atom)) //TODO: Something for the scepter - hit_atom.reagents.add_reagent(id = "water", amount = 60, data = null, safety = 0) - adjust_instability(5) \ No newline at end of file + hit_atom.reagents.add_reagent(id = REAGENT_ID_WATER, amount = 60, data = null, safety = 0) + adjust_instability(5) diff --git a/code/game/gamemodes/technomancer/spells/oxygenate.dm b/code/game/gamemodes/technomancer/spells/oxygenate.dm index eafd2cd7bd..fc1aea0936 100644 --- a/code/game/gamemodes/technomancer/spells/oxygenate.dm +++ b/code/game/gamemodes/technomancer/spells/oxygenate.dm @@ -27,7 +27,7 @@ else if(isturf(hit_atom)) var/turf/T = hit_atom if(pay_energy(1500)) - T.assume_gas("oxygen", 200) - T.assume_gas("nitrogen", 800) + T.assume_gas(GAS_O2, 200) + T.assume_gas(GAS_N2, 800) playsound(src, 'sound/effects/spray.ogg', 50, 1, -3) - adjust_instability(10) \ No newline at end of file + adjust_instability(10) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 180bebe532..7962de2640 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -94,7 +94,7 @@ circuit = /obj/item/circuitboard/sleeper var/mob/living/carbon/human/occupant = null var/list/available_chemicals = list() - var/list/base_chemicals = list("inaprovaline" = "Inaprovaline", "paracetamol" = "Paracetamol", "anti_toxin" = "Dylovene", "dexalin" = "Dexalin") + var/list/base_chemicals = list(REAGENT_ID_INAPROVALINE = REAGENT_INAPROVALINE, REAGENT_ID_PARACETAMOL = REAGENT_PARACETAMOL, REAGENT_ID_ANTITOXIN = REAGENT_ANTITOXIN, REAGENT_ID_DEXALIN = REAGENT_DEXALIN) var/amounts = list(5, 10) var/obj/item/reagent_containers/glass/beaker = null var/filtering = 0 @@ -149,18 +149,18 @@ if(man_rating >= 4) // Alien tech. var/reag_ID = pickweight(list( - "healing_nanites" = 10, - "shredding_nanites" = 5, - "irradiated_nanites" = 5, - "neurophage_nanites" = 2) + REAGENT_ID_HEALINGNANITES = 10, + REAGENT_ID_SHREDDINGNANITES = 5, + REAGENT_ID_IRRADIATEDNANITES = 5, + REAGENT_ID_NEUROPHAGENANITES = 2) ) new_chemicals[reag_ID] = "Nanite" if(man_rating >= 3) // Anomalous tech. - new_chemicals["immunosuprizine"] = "Immunosuprizine" + new_chemicals[REAGENT_ID_IMMUNOSUPRIZINE] = REAGENT_IMMUNOSUPRIZINE if(man_rating >= 2) // Tier 3. - new_chemicals["spaceacillin"] = "Spaceacillin" + new_chemicals[REAGENT_ID_SPACEACILLIN] = REAGENT_SPACEACILLIN if(man_rating >= 1) // Tier 2. - new_chemicals["leporazine"] = "Leporazine" + new_chemicals[REAGENT_ID_LEPORAZINE] = REAGENT_LEPORAZINE if(new_chemicals.len) available_chemicals += new_chemicals @@ -234,7 +234,7 @@ if(ishuman(occupant) && !(NO_BLOOD in occupant.species.flags) && occupant.vessel) occupantData["pulse"] = occupant.get_pulse(GETPULSE_TOOL) occupantData["hasBlood"] = 1 - var/blood_volume = round(occupant.vessel.get_reagent_amount("blood")) + var/blood_volume = round(occupant.vessel.get_reagent_amount(REAGENT_ID_BLOOD)) occupantData["bloodLevel"] = blood_volume occupantData["bloodMax"] = occupant.species.blood_volume occupantData["bloodPercent"] = round(100*(blood_volume/occupant.species.blood_volume), 0.01) //copy pasta ends here diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 2d4ca00ab4..9535ddac85 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -127,7 +127,7 @@ if (occupant.client) occupant.client.eye = occupant.client.mob occupant.client.perspective = MOB_PERSPECTIVE - occupant.loc = src.loc + occupant.forceMove(src.loc) // was occupant.loc = src.loc, but that doesn't trigger exit(), and thus recursive radio listeners forwarded messages to the occupant as if they were still inside it for the rest of the round! OP21 #5f88307 Port occupant = null update_icon() //icon_state = "body_scanner_1" //VOREStation Edit - Health display for consoles with light and such. SStgui.update_uis(src) @@ -189,7 +189,7 @@ occupantData["health"] = H.health occupantData["maxHealth"] = H.getMaxHealth() - occupantData["hasVirus"] = H.viruses.len + occupantData["hasVirus"] = LAZYLEN(H.viruses) occupantData["bruteLoss"] = H.getBruteLoss() occupantData["oxyLoss"] = H.getOxyLoss() @@ -213,7 +213,7 @@ var/bloodData[0] if(H.vessel) - var/blood_volume = round(H.vessel.get_reagent_amount("blood")) + var/blood_volume = round(H.vessel.get_reagent_amount(REAGENT_ID_BLOOD)) var/blood_max = H.species.blood_volume bloodData["volume"] = blood_volume bloodData["percent"] = round(((blood_volume / blood_max)*100)) @@ -379,7 +379,7 @@ dat += (occupant.health > (occupant.getMaxHealth() / 2) ? span_blue(health_text) : span_red(health_text)) dat += "
" - if(occupant.viruses.len) + if(LAZYLEN(occupant.viruses)) for(var/datum/disease/D in occupant.GetViruses()) if(D.visibility_flags & HIDDEN_SCANNER) continue @@ -416,7 +416,7 @@ dat += "Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended.
" if(occupant.vessel) - var/blood_volume = round(occupant.vessel.get_reagent_amount("blood")) + var/blood_volume = round(occupant.vessel.get_reagent_amount(REAGENT_ID_BLOOD)) var/blood_max = occupant.species.blood_volume var/blood_percent = blood_volume / blood_max blood_percent *= 100 diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index cf1fc43839..afbe5c334d 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -80,8 +80,8 @@ if(locked && (!istype(user, /mob/living/silicon))) t += "(Swipe ID card to unlock control panel.)
" else - t += text("Dispenser [] - []?
\n", disabled?"deactivated":"activated", src, disabled?"Enable":"Disable") - t += text("Uses Left: [uses]. Activate the dispenser?
\n") + t += text("Dispenser [] - []?
\n", disabled?"deactivated":"activated", src, disabled?"Enable":"Disable") + t += text("Uses Left: [uses]. Activate the dispenser?
\n") user << browse(t, "window=computer;size=575x450") onclose(user, "computer") diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 4a3b362db2..ba4eb5bd5a 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -1,6 +1,6 @@ #define DECLARE_TLV_VALUES var/red_min; var/yel_min; var/yel_max; var/red_max; var/tlv_comparitor; #define LOAD_TLV_VALUES(x, y) red_min = x[1]; yel_min = x[2]; yel_max = x[3]; red_max = x[4]; tlv_comparitor = y; -#define TEST_TLV_VALUES (((tlv_comparitor >= red_max && red_max > 0) || tlv_comparitor <= red_min) ? 2 : ((tlv_comparitor >= yel_max && yel_max > 0) || tlv_comparitor <= yel_min) ? 1 : 0) +#define TEST_TLV_VALUES (((tlv_comparitor > red_max && red_max > 0) || tlv_comparitor < red_min) ? 2 : ((tlv_comparitor > yel_max && yel_max > 0) || tlv_comparitor < yel_min) ? 1 : 0) #define AALARM_MODE_SCRUBBING 1 #define AALARM_MODE_REPLACEMENT 2 //like scrubbing, but faster. @@ -76,7 +76,7 @@ /// red warning minimum value, yellow warning minimum value, yellow warning maximum value, red warning maximum value /// Use code\defines\gases.dm as reference for id/name. Please keep it consistent var/list/TLV = list() - var/list/trace_gas = list("nitrous_oxide", "volatile_fuel") //list of other gases that this air alarm is able to detect + var/list/trace_gas = list(GAS_N2O, GAS_VOLATILE_FUEL) //list of other gases that this air alarm is able to detect var/danger_level = 0 var/pressure_dangerlevel = 0 @@ -108,9 +108,9 @@ /obj/machinery/alarm/server/Initialize(mapload) . = ..() req_access = list(access_rd, access_atmospherics, access_engine_equip) - TLV["oxygen"] = list(-1.0, -1.0,-1.0,-1.0) // Partial pressure, kpa - TLV["carbon_dioxide"] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa - TLV["phoron"] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa + TLV[GAS_O2] = list(-1.0, -1.0,-1.0,-1.0) // Partial pressure, kpa + TLV[GAS_CO2] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa + TLV[GAS_PHORON] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa TLV["other"] = list(-1.0, -1.0, 0.5, 1.0) // Partial pressure, kpa TLV["pressure"] = list(0,ONE_ATMOSPHERE*0.10,ONE_ATMOSPHERE*1.40,ONE_ATMOSPHERE*1.60) /* kpa */ TLV["temperature"] = list(20, 40, 140, 160) // K @@ -145,10 +145,10 @@ wires = new(src) // breathable air according to human/Life() - TLV["oxygen"] = list(16, 19, 135, 140) // Partial pressure, kpa - TLV["nitrogen"] = list(0, 0, 135, 140) // Partial pressure, kpa - TLV["carbon_dioxide"] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa - TLV["phoron"] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa + TLV[GAS_O2] = list(16, 19, 135, 140) // Partial pressure, kpa + TLV[GAS_N2] = list(0, 0, 135, 140) // Partial pressure, kpa + TLV[GAS_CO2] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa + TLV[GAS_PHORON] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa TLV["other"] = list(-1.0, -1.0, 0.5, 1.0) // Partial pressure, kpa TLV["pressure"] = list(ONE_ATMOSPHERE * 0.80, ONE_ATMOSPHERE * 0.90, ONE_ATMOSPHERE * 1.10, ONE_ATMOSPHERE * 1.20) /* kpa */ TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K @@ -216,17 +216,17 @@ //check for when we should start adjusting temperature if(!TEST_TLV_VALUES && abs(environment.temperature - target_temperature) > 2.0 && environment.return_pressure() >= 1) update_use_power(USE_POWER_ACTIVE) - regulating_temperature = 1 - audible_message("\The [src] clicks as it starts [environment.temperature > target_temperature ? "cooling" : "heating"] the room.",\ + regulating_temperature = (environment.temperature > target_temperature ? 1 : 2) + audible_message("\The [src] clicks as it starts [regulating_temperature == 1 ? "cooling" : "heating"] the room.",\ "You hear a click and a faint electronic hum.", runemessage = "* click *") playsound(src, 'sound/machines/click.ogg', 50, 1) else //check for when we should stop adjusting temperature if(TEST_TLV_VALUES || abs(environment.temperature - target_temperature) <= 0.5 || environment.return_pressure() < 1) update_use_power(USE_POWER_IDLE) - regulating_temperature = 0 - audible_message("\The [src] clicks quietly as it stops [environment.temperature > target_temperature ? "cooling" : "heating"] the room.",\ + audible_message("\The [src] clicks quietly as it stops [regulating_temperature == 1 ? "cooling" : "heating"] the room.",\ "You hear a click as a faint electronic humming stops.", runemessage = "* click *") + regulating_temperature = 0 playsound(src, 'sound/machines/click.ogg', 50, 1) if(regulating_temperature) @@ -272,11 +272,11 @@ DECLARE_TLV_VALUES LOAD_TLV_VALUES(TLV["pressure"], environment_pressure) pressure_dangerlevel = TEST_TLV_VALUES // not local because it's used in process() - LOAD_TLV_VALUES(TLV["oxygen"], environment.gas["oxygen"]*partial_pressure) + LOAD_TLV_VALUES(TLV[GAS_O2], environment.gas[GAS_O2]*partial_pressure) var/oxygen_dangerlevel = TEST_TLV_VALUES - LOAD_TLV_VALUES(TLV["carbon_dioxide"], environment.gas["carbon_dioxide"]*partial_pressure) + LOAD_TLV_VALUES(TLV[GAS_CO2], environment.gas[GAS_CO2]*partial_pressure) var/co2_dangerlevel = TEST_TLV_VALUES - LOAD_TLV_VALUES(TLV["phoron"], environment.gas["phoron"]*partial_pressure) + LOAD_TLV_VALUES(TLV[GAS_PHORON], environment.gas[GAS_PHORON]*partial_pressure) var/phoron_dangerlevel = TEST_TLV_VALUES LOAD_TLV_VALUES(TLV["temperature"], environment.temperature) var/temperature_dangerlevel = TEST_TLV_VALUES @@ -642,7 +642,7 @@ var/list/selected var/list/thresholds = list() - var/list/gas_names = list("oxygen", "carbon_dioxide", "phoron", "other") //Gas ids made to match code\defines\gases.dm + var/list/gas_names = list(GAS_O2, GAS_CO2, GAS_PHORON, "other") //Gas ids made to match code\defines\gases.dm for(var/g in gas_names) thresholds[++thresholds.len] = list("name" = g, "settings" = list()) selected = TLV[g] diff --git a/code/game/machinery/airconditioner_vr.dm b/code/game/machinery/airconditioner_vr.dm index f527fef6fb..9385e408b2 100644 --- a/code/game/machinery/airconditioner_vr.dm +++ b/code/game/machinery/airconditioner_vr.dm @@ -148,7 +148,7 @@ env.merge(removed) var/turf/T = get_turf(src) new /obj/effect/decal/cleanable/liquid_fuel(T, 5) - T.assume_gas("volatile_fuel", 5, T20C) + T.assume_gas(GAS_VOLATILE_FUEL, 5, T20C) T.hotspot_expose(700,400) var/datum/effect/effect/system/spark_spread/s = new s.set_up(5, 0, T) diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index ea2cc88009..93ac8ccda8 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -44,18 +44,18 @@ var/total_moles = air_sample.total_moles if(total_moles > 0) if(output&4) - signal.data["oxygen"] = round(100*air_sample.gas["oxygen"]/total_moles,0.1) + signal.data[GAS_O2] = round(100*air_sample.gas[GAS_O2]/total_moles,0.1) if(output&8) - signal.data["phoron"] = round(100*air_sample.gas["phoron"]/total_moles,0.1) + signal.data[GAS_PHORON] = round(100*air_sample.gas[GAS_PHORON]/total_moles,0.1) if(output&16) - signal.data["nitrogen"] = round(100*air_sample.gas["nitrogen"]/total_moles,0.1) + signal.data[GAS_N2] = round(100*air_sample.gas[GAS_N2]/total_moles,0.1) if(output&32) - signal.data["carbon_dioxide"] = round(100*air_sample.gas["carbon_dioxide"]/total_moles,0.1) + signal.data[GAS_CO2] = round(100*air_sample.gas[GAS_CO2]/total_moles,0.1) else - signal.data["oxygen"] = 0 - signal.data["phoron"] = 0 - signal.data["nitrogen"] = 0 - signal.data["carbon_dioxide"] = 0 + signal.data[GAS_O2] = 0 + signal.data[GAS_PHORON] = 0 + signal.data[GAS_N2] = 0 + signal.data[GAS_CO2] = 0 signal.data["sigtype"]="status" radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA) @@ -399,7 +399,7 @@ /obj/machinery/computer/general_air_control/fuel_injection/tgui_act(action, params) if(..()) return TRUE - + switch(action) if("refresh_status") device_info = null @@ -452,4 +452,4 @@ ) radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA) - . = TRUE \ No newline at end of file + . = TRUE diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index c3a323a896..7271b01ff8 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -387,21 +387,21 @@ update_flag /obj/machinery/portable_atmospherics/canister/phoron/New() ..() - src.air_contents.adjust_gas("phoron", MolesForPressure()) + src.air_contents.adjust_gas(GAS_PHORON, MolesForPressure()) src.update_icon() return 1 /obj/machinery/portable_atmospherics/canister/oxygen/New() ..() - src.air_contents.adjust_gas("oxygen", MolesForPressure()) + src.air_contents.adjust_gas(GAS_O2, MolesForPressure()) src.update_icon() return 1 /obj/machinery/portable_atmospherics/canister/oxygen/prechilled/New() ..() - src.air_contents.adjust_gas("oxygen", MolesForPressure()) + src.air_contents.adjust_gas(GAS_O2, MolesForPressure()) src.air_contents.temperature = 80 src.update_icon() return 1 @@ -409,14 +409,14 @@ update_flag /obj/machinery/portable_atmospherics/canister/nitrous_oxide/New() ..() - air_contents.adjust_gas("nitrous_oxide", MolesForPressure()) + air_contents.adjust_gas(GAS_N2O, MolesForPressure()) src.update_icon() return 1 //Dirty way to fill room with gas. However it is a bit easier to do than creating some floor/engine/n2o -rastaf0 /obj/machinery/portable_atmospherics/canister/nitrous_oxide/roomfiller/Initialize() . = ..() - air_contents.gas["nitrous_oxide"] = 9*4000 + air_contents.gas[GAS_N2O] = 9*4000 var/turf/simulated/location = src.loc if (istype(src.loc)) location.assume_air(air_contents) @@ -427,13 +427,13 @@ update_flag ..() - src.air_contents.adjust_gas("nitrogen", MolesForPressure()) + src.air_contents.adjust_gas(GAS_N2, MolesForPressure()) src.update_icon() return 1 /obj/machinery/portable_atmospherics/canister/carbon_dioxide/New() ..() - src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure()) + src.air_contents.adjust_gas(GAS_CO2, MolesForPressure()) src.update_icon() return 1 @@ -441,7 +441,7 @@ update_flag /obj/machinery/portable_atmospherics/canister/air/New() ..() var/list/air_mix = StandardAirMix() - src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"]) + src.air_contents.adjust_multi(GAS_O2, air_mix[GAS_O2], GAS_N2, air_mix[GAS_N2]) src.update_icon() return 1 @@ -450,19 +450,19 @@ update_flag // Special types used for engine setup admin verb, they contain double amount of that of normal canister. /obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup/New() ..() - src.air_contents.adjust_gas("nitrogen", MolesForPressure()) + src.air_contents.adjust_gas(GAS_N2, MolesForPressure()) src.update_icon() return 1 /obj/machinery/portable_atmospherics/canister/carbon_dioxide/engine_setup/New() ..() - src.air_contents.adjust_gas("carbon_dioxide", MolesForPressure()) + src.air_contents.adjust_gas(GAS_CO2, MolesForPressure()) src.update_icon() return 1 /obj/machinery/portable_atmospherics/canister/phoron/engine_setup/New() ..() - src.air_contents.adjust_gas("phoron", MolesForPressure()) + src.air_contents.adjust_gas(GAS_PHORON, MolesForPressure()) src.update_icon() return 1 diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index cc17f16d1f..a8a7b0e9e4 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -50,8 +50,8 @@ /obj/machinery/portable_atmospherics/proc/StandardAirMix() return list( - "oxygen" = O2STANDARD * MolesForPressure(), - "nitrogen" = N2STANDARD * MolesForPressure()) + GAS_O2 = O2STANDARD * MolesForPressure(), + GAS_N2 = N2STANDARD * MolesForPressure()) /obj/machinery/portable_atmospherics/proc/MolesForPressure(var/target_pressure = start_pressure) return (target_pressure * air_contents.volume) / (R_IDEAL_GAS_EQUATION * air_contents.temperature) diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 1b9ede4247..8b90344aeb 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -26,7 +26,7 @@ cell = new/obj/item/cell/apc(src) var/list/air_mix = StandardAirMix() - src.air_contents.adjust_multi("oxygen", air_mix["oxygen"], "nitrogen", air_mix["nitrogen"]) + src.air_contents.adjust_multi(GAS_O2, air_mix[GAS_O2], GAS_N2, air_mix[GAS_N2]) /obj/machinery/portable_atmospherics/powered/pump/update_icon() cut_overlays() @@ -141,7 +141,7 @@ data["default_pressure"] = round(initial(target_pressure)) data["min_pressure"] = round(pressuremin) data["max_pressure"] = round(pressuremax) - + data["powerDraw"] = round(last_power_draw) data["cellCharge"] = cell ? cell.charge : 0 data["cellMaxCharge"] = cell ? cell.maxcharge : 1 @@ -152,7 +152,7 @@ data["holding"]["pressure"] = round(holding.air_contents.return_pressure() > 0 ? holding.air_contents.return_pressure() : 0) else data["holding"] = null - + return data /obj/machinery/portable_atmospherics/powered/pump/tgui_act(action, params) diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 0ca93db9b6..71ee18d035 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -18,7 +18,7 @@ var/minrate = 0 var/maxrate = 10 * ONE_ATMOSPHERE - var/list/scrubbing_gas = list("phoron", "carbon_dioxide", "nitrous_oxide", "volatile_fuel") + var/list/scrubbing_gas = list(GAS_PHORON, GAS_CO2, GAS_N2O, GAS_VOLATILE_FUEL) /obj/machinery/portable_atmospherics/powered/scrubber/New() ..() diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index b3b41376ff..cafdd36a14 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -64,16 +64,16 @@ item_list = list() item_list["Food Items"] = list( - BIOGEN_REAGENT("Milk x10", "milk", 10, 20), - BIOGEN_REAGENT("Milk x50", "milk", 50, 95), - BIOGEN_REAGENT("Cream x10", "cream", 10, 30), - BIOGEN_REAGENT("Cream x50", "cream", 50, 120), + BIOGEN_REAGENT("Milk x10", REAGENT_ID_MILK, 10, 20), + BIOGEN_REAGENT("Milk x50", REAGENT_ID_MILK, 50, 95), + BIOGEN_REAGENT("Cream x10", REAGENT_ID_CREAM, 10, 30), + BIOGEN_REAGENT("Cream x50", REAGENT_ID_CREAM, 50, 120), BIOGEN_ITEM("Slab of meat", /obj/item/reagent_containers/food/snacks/meat, 1, 50), BIOGEN_ITEM("Slabs of meat x5", /obj/item/reagent_containers/food/snacks/meat, 5, 250), ) item_list["Cooking Ingredients"] = list( - BIOGEN_REAGENT("Universal Enzyme x10", "enzyme", 10, 30), - BIOGEN_REAGENT("Universal Enzyme x50", "enzyme", 50, 120), + BIOGEN_REAGENT("Universal Enzyme x10", REAGENT_ID_ENZYME, 10, 30), + BIOGEN_REAGENT("Universal Enzyme x50", REAGENT_ID_ENZYME, 50, 120), BIOGEN_ITEM("Nutri-spread", /obj/item/reagent_containers/food/snacks/spreads, 1, 30), BIOGEN_ITEM("Nutri-spread x5", /obj/item/reagent_containers/food/snacks/spreads, 5, 120), ) @@ -274,9 +274,9 @@ var/S = 0 for(var/obj/item/reagent_containers/food/snacks/grown/I in contents) S += 5 - if(I.reagents.get_reagent_amount("nutriment") < 0.1) + if(I.reagents.get_reagent_amount(REAGENT_ID_NUTRIMENT) < 0.1) points += 1 - else points += I.reagents.get_reagent_amount("nutriment") * 10 * eat_eff + else points += I.reagents.get_reagent_amount(REAGENT_ID_NUTRIMENT) * 10 * eat_eff qdel(I) if(S) processing = 1 diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index cc3e3fc755..6fda6f6ae7 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -158,7 +158,7 @@ if(!can_print(choice, possible_list[choice][2])) return - container.reagents.remove_reagent("biomass", possible_list[choice][2]) + container.reagents.remove_reagent(REAGENT_ID_BIOMASS, possible_list[choice][2]) update_use_power(USE_POWER_ACTIVE) printing = 1 @@ -204,7 +204,7 @@ var/biomass_count = 0 if(container && container.reagents) for(var/datum/reagent/R in container.reagents.reagent_list) - if(R.id == "biomass") + if(R.id == REAGENT_ID_BIOMASS) biomass_count += R.volume return biomass_count @@ -297,7 +297,7 @@ var/datum/reagent/blood/injected = locate() in S.reagents.reagent_list //Grab some blood if(injected && injected.data) loaded_dna = injected.data - S.reagents.remove_reagent("blood", injected.volume) + S.reagents.remove_reagent(REAGENT_ID_BLOOD, injected.volume) to_chat(user, span_info("You scan the blood sample into the bioprinter.")) return else if(istype(W,/obj/item/reagent_containers/glass)) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 735d87c210..ac0d7bc590 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -195,8 +195,8 @@ occupant.adjustBrainLoss(-(CEILING(0.5*heal_rate, 1))) //So clones don't die of oxyloss in a running pod. - if(occupant.reagents.get_reagent_amount("inaprovaline") < 30) - occupant.reagents.add_reagent("inaprovaline", 60) + if(occupant.reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE) < 30) + occupant.reagents.add_reagent(REAGENT_ID_INAPROVALINE, 60) occupant.Sleeping(30) //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! occupant.adjustOxyLoss(-4) @@ -350,7 +350,7 @@ if(LAZYLEN(containers)) for(var/obj/item/reagent_containers/glass/G in containers) for(var/datum/reagent/R in G.reagents.reagent_list) - if(R.id == "biomass") + if(R.id == REAGENT_ID_BIOMASS) biomass_count += R.volume return biomass_count @@ -362,7 +362,7 @@ for(var/obj/item/reagent_containers/glass/G in containers) if(to_remove < amount) //If we have what we need, we can stop. Checked every time we switch beakers for(var/datum/reagent/R in G.reagents.reagent_list) - if(R.id == "biomass") // Finds Biomass + if(R.id == REAGENT_ID_BIOMASS) // Finds Biomass var/need_remove = max(0, amount - to_remove) //Figures out how much biomass is in this container if(R.volume >= need_remove) //If we have more than enough in this beaker, only take what we need R.remove_self(need_remove) diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 4f4722c559..95ba958438 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -108,7 +108,7 @@ if(ishuman(occupant) && !(NO_BLOOD in occupant.species.flags) && occupant.vessel) occupantData["pulse"] = occupant.get_pulse(GETPULSE_TOOL) occupantData["hasBlood"] = 1 - var/blood_volume = round(occupant.vessel.get_reagent_amount("blood")) + var/blood_volume = round(occupant.vessel.get_reagent_amount(REAGENT_ID_BLOOD)) occupantData["bloodLevel"] = blood_volume occupantData["bloodMax"] = occupant.species.blood_volume occupantData["bloodPercent"] = round(100*(blood_volume/occupant.species.blood_volume), 0.01) //copy pasta ends here diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 1646933bfb..1892ad3de9 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -94,7 +94,7 @@ icon_state = "2" new /obj/item/stack/cable_coil(loc, 5) - if(istype(P, /obj/item/stack/material) && P.get_material_name() == "rglass") + if(istype(P, /obj/item/stack/material) && P.get_material_name() == MAT_RGLASS) var/obj/item/stack/RG = P if (RG.get_amount() < 2) to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index f6a50c3254..50e439b75e 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -161,7 +161,7 @@ enemy_hp -= attackamt arcade_action(ui.user) - if("heal") + if(XENO_CHEM_HEAL) blocked = 1 var/pointamt = rand(1,3) var/healamt = rand(6,8) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 01a65651b7..886b81ef7e 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -87,7 +87,7 @@ var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc ) A.amount = 5 - if(istype(P, /obj/item/stack/material) && P.get_material_name() == "glass") + if(istype(P, /obj/item/stack/material) && P.get_material_name() == MAT_GLASS) var/obj/item/stack/G = P if (G.get_amount() < 2) to_chat(user, span_warning("You need two sheets of glass to put in the glass panel.")) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index c19ca2432d..f312853691 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens) var/static/icon/mask = icon('icons/obj/entertainment_monitor.dmi', "mask") - add_overlay("glass") + add_overlay(MAT_GLASS) pinboard = new() pinboard.icon = icon diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 9bc753b59e..58d78574a8 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -118,23 +118,23 @@ if(connected) var/d2 if(timing) //door controls do not need timers. - d2 = "Stop Time Launch" + d2 = "Stop Time Launch" else - d2 = "Initiate Time Launch" + d2 = "Initiate Time Launch" var/second = time % 60 var/minute = (time - second) / 60 - dat += "
\nTimer System: [d2]\nTime Left: [minute ? "[minute]:" : null][second] - - + +" + dat += "
\nTimer System: [d2]\nTime Left: [minute ? "[minute]:" : null][second] - - + +" var/temp = "" var/list/L = list( 0.25, 0.5, 1, 2, 4, 8, 16 ) for(var/t in L) if(t == connected.power) temp += "[t] " else - temp += "[t] " - dat += "
\nPower Level: [temp]
\nFiring Sequence
\nTest Fire Driver
\nToggle Outer Door
" + temp += "[t] " + dat += "
\nPower Level: [temp]
\nFiring Sequence
\nTest Fire Driver
\nToggle Outer Door
" else - dat += "
\nToggle Outer Door
" - dat += "

Close" + dat += "
\nToggle Outer Door
" + dat += "

Close" user << browse(dat, "window=computer;size=400x500") add_fingerprint(user) onclose(user, "computer") diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index 201768f360..4099a8f9fd 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -43,8 +43,8 @@ var/prison_shuttle_timeleft = 0 else dat += {"
Prison Shuttle
\nLocation: [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "Moving to station ([prison_shuttle_timeleft] Secs.)":prison_shuttle_at_station ? "Station":"Dock"]
- [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*
\n
":prison_shuttle_at_station ? "\nSend to Dock
\n
":"\nSend to station
\n
"] - \nClose"} + [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*
\n
":prison_shuttle_at_station ? "\nSend to Dock
\n
":"\nSend to station
\n
"] + \nClose"} user << browse(dat, "window=computer;size=575x450") onclose(user, "computer") @@ -65,7 +65,7 @@ var/prison_shuttle_timeleft = 0 if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return post_signal("prison") to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.")) - src.temp += "Shuttle sent.

OK" + src.temp += "Shuttle sent.

OK" src.updateUsrDialog() prison_shuttle_moving_to_prison = 1 prison_shuttle_time = world.timeofday + PRISON_MOVETIME @@ -79,7 +79,7 @@ var/prison_shuttle_timeleft = 0 if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return post_signal("prison") to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds.")) - src.temp += "Shuttle sent.

OK" + src.temp += "Shuttle sent.

OK" src.updateUsrDialog() prison_shuttle_moving_to_station = 1 prison_shuttle_time = world.timeofday + PRISON_MOVETIME diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 9f16d3d057..14d342031a 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -215,7 +215,7 @@ R.SetLockdown(!R.lockcharge) to_chat(R, "[!R.lockcharge ? span_notice("Your lockdown has been lifted!") : span_alert("You have been locked down!")]") if(R.connected_ai) - to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") + to_chat(R.connected_ai, "[!R.lockcharge ? span_notice("NOTICE - Cyborg lockdown lifted") : span_alert("ALERT - Cyborg lockdown detected")]: [R.name]
") . = TRUE if("hackbot") // AIs hacking/emagging a borg var/mob/living/silicon/robot/R = locate(params["ref"]) diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index cdd30db5e2..4446852263 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -267,8 +267,8 @@ var/specops_shuttle_timeleft = 0 else dat += {"
Special Operations Shuttle
\nLocation: [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "Departing for [station_name()] in ([specops_shuttle_timeleft] seconds.)":specops_shuttle_at_station ? "Station":"Dock"]
- [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle standing by...
\n
":"\nDepart to [station_name()]
\n
"] - \nClose"} + [specops_shuttle_moving_to_station || specops_shuttle_moving_to_centcom ? "\n*The Special Ops. shuttle is already leaving.*
\n
":specops_shuttle_at_station ? "\nShuttle standing by...
\n
":"\nDepart to [station_name()]
\n
"] + \nClose"} user << browse(dat, "window=computer;size=575x450") onclose(user, "computer") @@ -294,7 +294,7 @@ var/specops_shuttle_timeleft = 0 to_chat(usr, span_notice("The Special Operations shuttle will arrive at [using_map.boss_name] in [(SPECOPS_MOVETIME/10)] seconds.")) - temp += "Shuttle departing.

OK" + temp += "Shuttle departing.

OK" updateUsrDialog() specops_shuttle_moving_to_centcom = 1 @@ -311,7 +311,7 @@ var/specops_shuttle_timeleft = 0 to_chat(usr, span_notice("The Special Operations shuttle will arrive on [station_name()] in [(SPECOPS_MOVETIME/10)] seconds.")) - temp += "Shuttle departing.

OK" + temp += "Shuttle departing.

OK" updateUsrDialog() var/area/centcom/specops/special_ops = locate() diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 8117cf4499..1077108894 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -166,6 +166,7 @@ var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] var/list/pack = list( "name" = P.name, + "desc" = P.desc, "cost" = P.cost, "group" = P.group, "contraband" = P.contraband, @@ -200,6 +201,7 @@ return FALSE var/list/payload = list( "name" = P.name, + "desc" = P.desc, "cost" = P.cost, "manifest" = uniqueList(P.manifest), "ref" = "\ref[P]", diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index 4e5eba6d71..6f63c4c946 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -91,6 +91,7 @@ if(card) data["card"] = "[card]" data["assignment"] = card.assignment + data["card_cooldown"] = getCooldown() var/datum/job/job = job_master.GetJob(card.rank) if(job) data["job_datum"] = list( @@ -216,12 +217,15 @@ /obj/machinery/computer/timeclock/proc/checkCardCooldown(var/mob/user) if(!card) return FALSE - var/time_left = 10 MINUTES - (world.time - card.last_job_switch) + var/time_left = getCooldown() if(time_left > 0) to_chat(user, "You need to wait another [round((time_left/10)/60, 1)] minute\s before you can switch.") return FALSE return TRUE +/obj/machinery/computer/timeclock/proc/getCooldown() + return 10 MINUTES - (world.time - card.last_job_switch) + /obj/machinery/computer/timeclock/proc/checkFace(var/mob/user) if(!card) to_chat(user, span_notice("No ID is inserted.")) diff --git a/code/game/machinery/computer3/computers/card.dm b/code/game/machinery/computer3/computers/card.dm index a9776bc79b..9323b37706 100644 --- a/code/game/machinery/computer3/computers/card.dm +++ b/code/game/machinery/computer3/computers/card.dm @@ -36,8 +36,8 @@ jobs_all += "" jobs_all += ""//Site Manager in special because he is head of heads ~Intercross21 - jobs_all += "" - jobs_all += "" + jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Red @@ -46,7 +46,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Orange @@ -55,7 +55,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Green @@ -64,7 +64,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Purple @@ -73,7 +73,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" counter = 0 jobs_all += ""//Grey @@ -82,7 +82,7 @@ if(counter >= 6) jobs_all += "" counter = 0 - jobs_all += "" + jobs_all += "" dat = {""}, "window=asset_cache_browser&file=asset_cache_send_verify.htm") + src << browse({""}, "window=asset_cache_browser&file=asset_cache_send_verify.htm") while(!completed_asset_jobs["[job]"] && t < timeout_time) // Reception is handled in Topic() stoplag(1) // Lock up the caller until this is received. diff --git a/code/modules/asset_cache/assets/tgui.dm b/code/modules/asset_cache/assets/tgui.dm index 9c79925602..03e2acd449 100644 --- a/code/modules/asset_cache/assets/tgui.dm +++ b/code/modules/asset_cache/assets/tgui.dm @@ -5,6 +5,13 @@ "tgui.bundle.css" = file("tgui/public/tgui.bundle.css"), ) +/datum/asset/simple/tgui_edge + keep_local_name = TRUE + assets = list( + "tgui.bundle.edge.js" = file("tgui/public/tgui.bundle.edge.js"), + "tgui.bundle.edge.css" = file("tgui/public/tgui.bundle.edge.css"), + ) + /datum/asset/simple/tgui_panel keep_local_name = TRUE assets = list( diff --git a/code/modules/blob2/core_chunk.dm b/code/modules/blob2/core_chunk.dm index 537f5759ca..555d34b83e 100644 --- a/code/modules/blob2/core_chunk.dm +++ b/code/modules/blob2/core_chunk.dm @@ -122,7 +122,7 @@ name = "Hostile Blob Revival" id = "blob_revival" result = null - required_reagents = list("phoron" = 60) + required_reagents = list(REAGENT_ID_PHORON = 60) result_amount = 1 /decl/chemical_reaction/instant/blob_reconstitution/can_happen(var/datum/reagents/holder) @@ -142,7 +142,7 @@ name = "Allied Blob Revival" id = "blob_friend" result = null - required_reagents = list("hydrophoron" = 40, "peridaxon" = 20, "mutagen" = 20) + required_reagents = list(REAGENT_ID_HYDROPHORON = 40, REAGENT_ID_PERIDAXON = 20, REAGENT_ID_MUTAGEN = 20) result_amount = 1 /decl/chemical_reaction/instant/blob_reconstitution/domination/on_reaction(var/datum/reagents/holder) diff --git a/code/modules/blob2/overmind/types/blazing_oil.dm b/code/modules/blob2/overmind/types/blazing_oil.dm index 5ceef2e643..0f3020fe33 100644 --- a/code/modules/blob2/overmind/types/blazing_oil.dm +++ b/code/modules/blob2/overmind/types/blazing_oil.dm @@ -33,7 +33,7 @@ env.add_thermal_energy(10 * 1000) /datum/blob_type/blazing_oil/on_chunk_tick(obj/item/blobcore_chunk/B) - B.reagents.add_reagent("thermite_v", 0.5) + B.reagents.add_reagent(REAGENT_ID_THERMITEV, 0.5) var/turf/T = get_turf(B) if(!T) @@ -44,4 +44,4 @@ /datum/blob_type/blazing_oil/on_chunk_use(obj/item/blobcore_chunk/B, mob/living/user) user.add_modifier(/datum/modifier/exothermic, 5 MINUTES) - return \ No newline at end of file + return diff --git a/code/modules/blob2/overmind/types/classic.dm b/code/modules/blob2/overmind/types/classic.dm index 86094def25..63bcdaadc2 100644 --- a/code/modules/blob2/overmind/types/classic.dm +++ b/code/modules/blob2/overmind/types/classic.dm @@ -22,7 +22,7 @@ spawn() var/obj/effect/effect/water/splash = new(T) splash.create_reagents(15) - splash.reagents.add_reagent("blood", 10,list("blood_colour" = color)) + splash.reagents.add_reagent(REAGENT_ID_BLOOD, 10,list("blood_colour" = color)) splash.set_color() splash.set_up(F, 2, 3) @@ -30,8 +30,8 @@ var/obj/effect/decal/cleanable/chemcoating/blood = locate() in T if(!istype(blood)) blood = new(T) - blood.reagents.add_reagent("blood", 10,list("blood_colour" = color)) - blood.reagents.add_reagent("tricorlidaze", 5) + blood.reagents.add_reagent(REAGENT_ID_BLOOD, 10,list("blood_colour" = color)) + blood.reagents.add_reagent(REAGENT_ID_TRICORLIDAZE, 5) blood.update_icon() return diff --git a/code/modules/blob2/overmind/types/cryogenic_goo.dm b/code/modules/blob2/overmind/types/cryogenic_goo.dm index a4cf0adfd6..56d831db4d 100644 --- a/code/modules/blob2/overmind/types/cryogenic_goo.dm +++ b/code/modules/blob2/overmind/types/cryogenic_goo.dm @@ -46,7 +46,7 @@ env.add_thermal_energy(-10 * 1000) /datum/blob_type/cryogenic_goo/on_chunk_tick(obj/item/blobcore_chunk/B) - B.reagents.add_reagent("cryoslurry", 0.5) + B.reagents.add_reagent(REAGENT_ID_CRYOSLURRY, 0.5) var/turf/simulated/T = get_turf(B) if(!istype(T)) diff --git a/code/modules/casino/casino_prize_vendor.dm b/code/modules/casino/casino_prize_vendor.dm index bf4acaa1f0..a526ef697c 100644 --- a/code/modules/casino/casino_prize_vendor.dm +++ b/code/modules/casino/casino_prize_vendor.dm @@ -157,10 +157,10 @@ item_list["Drinks"] = list( CASINO_PRIZE("Redeemer's brew", /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew, 1, 150, "drinks"), CASINO_PRIZE("Poison wine", /obj/item/reagent_containers/food/drinks/bottle/pwine, 1, 150, "drinks"), - CASINO_PRIZE("Patron", /obj/item/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), + CASINO_PRIZE(REAGENT_PATRON, /obj/item/reagent_containers/food/drinks/bottle/patron, 1, 150, "drinks"), CASINO_PRIZE("Holy water", /obj/item/reagent_containers/food/drinks/bottle/holywater, 1, 150, "drinks"), - CASINO_PRIZE("Goldschlager", /obj/item/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), - CASINO_PRIZE("Champagne", /obj/item/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), + CASINO_PRIZE(REAGENT_GOLDSCHLAGER, /obj/item/reagent_containers/food/drinks/bottle/goldschlager, 1, 150, "drinks"), + CASINO_PRIZE(REAGENT_CHAMPAGNE, /obj/item/reagent_containers/food/drinks/bottle/champagne, 1, 150, "drinks"), CASINO_PRIZE("Bottle of Nothing", /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, 1, 150, "drinks"), CASINO_PRIZE("Whiskey bliss", /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey, 1, 150, "drinks"), ) diff --git a/code/modules/catalogue/cataloguer.dm b/code/modules/catalogue/cataloguer.dm index 2ea1045dca..c4c803bdbb 100644 --- a/code/modules/catalogue/cataloguer.dm +++ b/code/modules/catalogue/cataloguer.dm @@ -247,15 +247,15 @@ GLOBAL_LIST_EMPTY(all_cataloguers) // Important buttons go on top since the scrollbar will default to the top of the window. dat += "Contains [points_stored] Exploration Points." - dat += "\[Highlight Scannables\]\[Refresh\]\[Close\]" + dat += "\[Highlight Scannables\]\[Refresh\]\[Close\]" // If displayed_data exists, we show that, otherwise we show a list of all data in the mysterious global list. if(displayed_data) title = uppertext(displayed_data.name) - dat += "\[Back to List\]" + dat += "\[Back to List\]" if(debug && !displayed_data.visible) - dat += "\[(DEBUG) Force Discovery\]" + dat += "\[(DEBUG) Force Discovery\]" dat += "
" dat += span_italics("[displayed_data.desc]") @@ -274,7 +274,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers) group_dat += span_bold("[group.name]") for(var/datum/category_item/catalogue/item as anything in group.items) if(item.visible || debug) - group_dat += "[item.name]" + group_dat += "[item.name]" show_group = TRUE if(show_group || debug) // Avoid showing 'empty' groups on regular cataloguers. diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 4fdc79f0a3..7974da7d6b 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -713,7 +713,7 @@ /client/proc/check_panel_loaded() if(stat_panel && stat_panel.is_ready()) return - to_chat(src, "Statpanel failed to load, click here to reload the panel. If this does not work, reconnecting will reassign a new panel.") + to_chat(src, span_danger("Statpanel failed to load, click here to reload the panel. If this does not work, reconnecting will reassign a new panel.")) /** * Handles incoming messages from the stat-panel TGUI. diff --git a/code/modules/client/preference_setup/antagonism/01_basic.dm b/code/modules/client/preference_setup/antagonism/01_basic.dm index 438692e173..7a5701fef5 100644 --- a/code/modules/client/preference_setup/antagonism/01_basic.dm +++ b/code/modules/client/preference_setup/antagonism/01_basic.dm @@ -28,15 +28,15 @@ var/global/list/uplink_locations = list("PDA", "Headset", "None") character.antag_vis = pref.antag_vis /datum/category_item/player_setup_item/antagonism/basic/content(var/mob/user) - . += "Faction: [pref.antag_faction]
" - . += "Visibility: [pref.antag_vis]
" - . +=span_bold("Uplink Type : [pref.uplinklocation]") + . += "Faction: [pref.antag_faction]
" + . += "Visibility: [pref.antag_vis]
" + . +=span_bold("Uplink Type : [pref.uplinklocation]") . +="
" . +=span_bold("Exploitable information:") + "
" if(jobban_isbanned(user, "Records")) . += span_bold("You are banned from using character records.") + "
" else - . +="[TextPreview(pref.exploit_record,40)]
" + . +="[TextPreview(pref.exploit_record,40)]
" /datum/category_item/player_setup_item/antagonism/basic/OnTopic(var/href,var/list/href_list, var/mob/user) if (href_list["antagtask"]) diff --git a/code/modules/client/preference_setup/antagonism/02_candidacy.dm b/code/modules/client/preference_setup/antagonism/02_candidacy.dm index 5c1c58fc72..f7b4b88a11 100644 --- a/code/modules/client/preference_setup/antagonism/02_candidacy.dm +++ b/code/modules/client/preference_setup/antagonism/02_candidacy.dm @@ -52,7 +52,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, JOB_AI) && jobban_isbanned(user, JOB_CYBORG)) || (i == "pAI candidate" && jobban_isbanned(user, JOB_PAI))) . += span_bold("Be [i]:") + " \[BANNED]
" else - . += span_bold("Be [i]:") + " " + span_bold("[pref.be_special&(1<
" + . += span_bold("Be [i]:") + "
" + span_bold("[pref.be_special&(1<
" n++ /datum/category_item/player_setup_item/antagonism/candidacy/OnTopic(var/href,var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index ac56b2b005..173c6de2a6 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -82,19 +82,19 @@ /datum/category_item/player_setup_item/general/basic/content() . = list() . += span_bold("Name:") + " " - . += "
[pref.real_name]
" - . += "Randomize Name
" - . += "Always Random Name: [pref.be_random_name ? "Yes" : "No"]
" + . += "[pref.real_name]
" + . += "Randomize Name
" + . += "Always Random Name: [pref.be_random_name ? "Yes" : "No"]
" . += span_bold("Nickname:") + " " - . += "[pref.nickname]" - . += "(Clear)" + . += "[pref.nickname]" + . += "(Clear)" . += "
" - . += span_bold("Biological Sex:") + " [gender2text(pref.biological_gender)]
" - . += span_bold("Pronouns:") + " [gender2text(pref.identifying_gender)]
" - . += span_bold("Age:") + " [pref.age]Birthday:[pref.bday_month]/[pref.bday_day] - Announce?:[pref.bday_announce ? "Yes" : "No"]
" - . += span_bold("Spawn Point") + ": [pref.spawnpoint]
" + . += span_bold("Biological Sex:") + " [gender2text(pref.biological_gender)]
" + . += span_bold("Pronouns:") + " [gender2text(pref.identifying_gender)]
" + . += span_bold("Age:") + " [pref.age]Birthday:[pref.bday_month]/[pref.bday_day] - Announce?:[pref.bday_announce ? "Yes" : "No"]
" + . += span_bold("Spawn Point") + ": [pref.spawnpoint]
" if(CONFIG_GET(flag/allow_metadata)) - . += span_bold("OOC Notes: EditLikesDislikes") + "
" + . += span_bold("OOC Notes: EditLikesDislikes") + "
" . = jointext(.,null) /datum/category_item/player_setup_item/general/basic/OnTopic(var/href,var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm index 06a7fc6f26..d796ba9ca2 100644 --- a/code/modules/client/preference_setup/general/02_language.dm +++ b/code/modules/client/preference_setup/general/02_language.dm @@ -75,24 +75,24 @@ testing("LANGSANI: Truncated [pref.client]'s character [pref.real_name || "-name not yet loaded-"] language list because it was too long (len: [pref.alternate_languages.len], allowed: [S.num_alternate_languages])") pref.alternate_languages.len = (S.num_alternate_languages + pref.extra_languages) // Truncate to allowed length if(S.language) - . += "- [S.language] - Set Custom Key
" + . += "- [S.language] - Set Custom Key
" if(S.default_language && S.default_language != S.language) - . += "- [S.default_language] - Set Custom Key
" + . += "- [S.default_language] - Set Custom Key
" if(S.num_alternate_languages + pref.extra_languages) if(pref.alternate_languages.len) for(var/i = 1 to pref.alternate_languages.len) var/lang = pref.alternate_languages[i] - . += "- [lang] - remove - Set Custom Key
" + . += "- [lang] - remove - Set Custom Key
" if(pref.alternate_languages.len < (S.num_alternate_languages + pref.extra_languages)) - . += "- add ([(S.num_alternate_languages + pref.extra_languages) - pref.alternate_languages.len] remaining)
" + . += "- add ([(S.num_alternate_languages + pref.extra_languages) - pref.alternate_languages.len] remaining)
" else . += "- [pref.species] cannot choose secondary languages.
" . += span_bold("Language Keys") + "
" - . += " [jointext(pref.language_prefixes, " ")] ChangeReset
" - . += span_bold("Preferred Language") + " [pref.preferred_language]
" // VOREStation Add - . += span_bold("Runechat Color") + " Change Runechat Color [color_square(hex = pref.runechat_color)]" + . += " [jointext(pref.language_prefixes, " ")] ChangeReset
" + . += span_bold("Preferred Language") + " [pref.preferred_language]
" // VOREStation Add + . += span_bold("Runechat Color") + " Change Runechat Color [color_square(hex = pref.runechat_color)]" /datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["remove_language"]) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index b06967a97a..c499c87f53 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -506,16 +506,17 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/datum/species/mob_species = GLOB.all_species[pref.species] . += "
Command
Special"+JOB_SITE_MANAGER+"Custom"+JOB_SITE_MANAGER+"Custom
Security
[replacetext(job, " ", " ")][replacetext(job, " ", " ")]
Engineering
[replacetext(job, " ", " ")][replacetext(job, " ", " ")]
Medical
[replacetext(job, " ", " ")][replacetext(job, " ", " ")]
Science
[replacetext(job, " ", " ")][replacetext(job, " ", " ")]
Civilian
[replacetext(job, " ", " ")][replacetext(job, " ", " ")]
Body " - . += "(®)" + . += "(®)" . += "
" - . += "Species: [pref.species]
" - . += "Blood Type: [pref.b_type]
" + . += "Species: [pref.species]
" + . += "Blood Type: [pref.b_type]
" if(has_flag(mob_species, HAS_SKIN_TONE)) - . += "Skin Tone: [-pref.s_tone + 35]/220
" - . += "Disabilities
Adjust
" // YWadd - //YWcommented moved onto disabilities. += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
" - . += "Limbs: Adjust Reset
" - . += "Internal Organs: Adjust
" + . += "Skin Tone: [-pref.s_tone + 35]/220
" + . += "Disabilities
Adjust
" // YWadd +//YWcommented moved onto disabilities. += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
" + . += "Limbs: Adjust Reset
" + . += "Internal Organs: Adjust
" + //display limbs below var/ind = 0 for(var/name in pref.organ_data) @@ -627,40 +628,40 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "" for(var/entry in pref.body_descriptors) var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry] - . += "" + . += "" . += "
[capitalize(descriptor.chargen_label)]:[descriptor.get_standalone_value_descriptor(pref.body_descriptors[entry])]Change
[capitalize(descriptor.chargen_label)]:[descriptor.get_standalone_value_descriptor(pref.body_descriptors[entry])]Change

" . += "
Preview
" - . += "
Cycle background" - . += "
[pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]" - . += "
[pref.equip_preview_mob & EQUIP_PREVIEW_JOB ? "Hide job gear" : "Show job gear"]" - . += "
[pref.animations_toggle ? "Stop animations" : "Show animations"]" + . += "
Cycle background" + . += "
[pref.equip_preview_mob & EQUIP_PREVIEW_LOADOUT ? "Hide loadout" : "Show loadout"]" + . += "
[pref.equip_preview_mob & EQUIP_PREVIEW_JOB ? "Hide job gear" : "Show job gear"]" + . += "
[pref.animations_toggle ? "Stop animations" : "Show animations"]" . += "
" . += span_bold("Hair") + "
" if(has_flag(mob_species, HAS_HAIR_COLOR)) - . += "Change Color [color_square(pref.r_hair, pref.g_hair, pref.b_hair)] " - . += " Style: < > [pref.h_style]
" //The < & > in this line is correct-- those extra characters are the arrows you click to switch between styles. + . += "Change Color [color_square(pref.r_hair, pref.g_hair, pref.b_hair)] " + . += " Style: < > [pref.h_style]
" //The < & > in this line is correct-- those extra characters are the arrows you click to switch between styles. . += span_bold("Gradient") + "
" - . += "Change Color [color_square(pref.r_grad, pref.g_grad, pref.b_grad)] " - . += " Style: < > [pref.grad_style]
" + . += "Change Color [color_square(pref.r_grad, pref.g_grad, pref.b_grad)] " + . += " Style: < > [pref.grad_style]
" . += "
Facial
" if(has_flag(mob_species, HAS_HAIR_COLOR)) - . += "Change Color [color_square(pref.r_facial, pref.g_facial, pref.b_facial)] " - . += " Style: < > [pref.f_style]
" //Same as above with the extra > & < characters + . += "Change Color [color_square(pref.r_facial, pref.g_facial, pref.b_facial)] " + . += " Style: < > [pref.f_style]
" //Same as above with the extra > & < characters if(has_flag(mob_species, HAS_EYE_COLOR)) . += "
Eyes
" - . += "Change Color [color_square(pref.r_eyes, pref.g_eyes, pref.b_eyes)]
" + . += "Change Color [color_square(pref.r_eyes, pref.g_eyes, pref.b_eyes)]
" if(has_flag(mob_species, HAS_SKIN_COLOR)) . += "
Body Color
" - . += "Change Color [color_square(pref.r_skin, pref.g_skin, pref.b_skin)]
" + . += "Change Color [color_square(pref.r_skin, pref.g_skin, pref.b_skin)]
" if(mob_species.digi_allowed) - . += "
Digitigrade?: [pref.digitigrade ? "Yes" : "No"]
" + . += "
Digitigrade?: [pref.digitigrade ? "Yes" : "No"]
" . += "

Genetics Settings

" @@ -668,64 +669,64 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/datum/sprite_accessory/ears/ear = ear_styles[pref.ear_style] . += span_bold("Ears") + "
" if(istype(ear)) - . += " Style: [ear.name]
" + . += " Style: [ear.name]
" if(ear.do_colouration) - . += "Change Color [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]
" + . += "Change Color [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]
" if(ear.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]
" + . += "Change Secondary Color [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]
" if(ear.extra_overlay2) - . += "Change Tertiary Color [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]
" + . += "Change Tertiary Color [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]
" else - . += " Style: Select
" + . += " Style: Select
" var/datum/sprite_accessory/ears/ears_secondary = ear_styles[pref.ear_secondary_style] . += span_bold("Horns") + "
" if(istype(ears_secondary)) - . += " Style: [ears_secondary.name]
" + . += " Style: [ears_secondary.name]
" for(var/channel in 1 to min(ears_secondary.get_color_channel_count(), length(GLOB.fancy_sprite_accessory_color_channel_names))) - . += "Change [GLOB.fancy_sprite_accessory_color_channel_names[channel]] Color [color_square(hex = LAZYACCESS(pref.ear_secondary_colors, channel) || "#ffffff")]
" + . += "Change [GLOB.fancy_sprite_accessory_color_channel_names[channel]] Color [color_square(hex = LAZYACCESS(pref.ear_secondary_colors, channel) || "#ffffff")]
" else - . += " Style: Select
" + . += " Style: Select
" var/list/tail_styles = pref.get_available_styles(global.tail_styles_list) var/datum/sprite_accessory/tail/tail = tail_styles[pref.tail_style] . += span_bold("Tail") + "
" if(istype(tail)) - . += " Style: [tail.name]
" + . += " Style: [tail.name]
" if(tail.do_colouration) - . += "Change Color [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]
" + . += "Change Color [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]
" if(tail.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]
" + . += "Change Secondary Color [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]
" if(tail.extra_overlay2) - . += "Change Tertiary Color [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]
" + . += "Change Tertiary Color [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]
" else - . += " Style: Select
" + . += " Style: Select
" var/list/wing_styles = pref.get_available_styles(global.wing_styles_list) var/datum/sprite_accessory/wing/wings = wing_styles[pref.wing_style] . += span_bold("Wing") + "
" if(istype(wings)) - . += " Style: [wings.name]
" + . += " Style: [wings.name]
" if(wings.do_colouration) - . += "Change Color [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]
" + . += "Change Color [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]
" if(wings.extra_overlay) - . += "Change Secondary Color [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]
" + . += "Change Secondary Color [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]
" if(wings.extra_overlay2) - . += "Change Secondary Color [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]
" + . += "Change Secondary Color [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]
" else - . += " Style: Select
" + . += " Style: Select
" - . += "
Body Markings +
" + . += "
Body Markings +
" . += "" for(var/M in pref.body_markings) - . += "" + . += "" . += "
[M][pref.body_markings.len > 1 ? "˄ ˅ mv " : ""]- Color[color_square(hex = pref.body_markings[M]["color"] ? pref.body_markings[M]["color"] : "#000000")] - Customize
[M][pref.body_markings.len > 1 ? "˄ ˅ mv " : ""]- Color[color_square(hex = pref.body_markings[M]["color"] ? pref.body_markings[M]["color"] : "#000000")] - Customize
" . += "
" - . += span_bold("Allow Synth markings:") + " [pref.synth_markings ? "Yes" : "No"]
" - . += span_bold("Allow Synth color:") + " [pref.synth_color ? "Yes" : "No"]
" + . += span_bold("Allow Synth markings:") + " [pref.synth_markings ? "Yes" : "No"]
" + . += span_bold("Allow Synth color:") + " [pref.synth_color ? "Yes" : "No"]
" if(pref.synth_color) - . += "Change Color [color_square(pref.r_synth, pref.g_synth, pref.b_synth)]" + . += "Change Color [color_square(pref.r_synth, pref.g_synth, pref.b_synth)]" . = jointext(.,null) @@ -1479,7 +1480,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.species_preview = SPECIES_HUMAN var/datum/species/current_species = GLOB.all_species[pref.species_preview] var/dat = "" - dat += "

[current_species.name] \[change\]


" + dat += "

[current_species.name] \[change\]


" dat += "" dat += "" //vorestation edit begin @@ -1541,11 +1542,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O if(restricted) if(restricted == 1) - dat += "You cannot play as this species.
If you wish to be whitelisted, you can make an application post on the forums.

" + dat += "You cannot play as this species.
If you wish to be whitelisted, you can make an application post on the forums.

" else if(restricted == 2) dat += "You cannot play as this species.
This species is not available for play as a station race..

" if(!restricted || check_rights(R_ADMIN|R_EVENT, 0) || current_species.spawn_flags & SPECIES_WHITELIST_SELECTABLE) //VOREStation Edit: selectability - dat += "\[select\]" + dat += "\[select\]" dat += "" user << browse(dat, "window=species;size=700x400") @@ -1553,15 +1554,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O /datum/category_item/player_setup_item/general/body/proc/markings_subwindow(mob/user, marking) var/static/list/part_to_string = list(BP_HEAD = "Head", BP_TORSO = "Upper Body", BP_GROIN = "Lower Body", BP_R_ARM = "Right Arm", BP_L_ARM = "Left Arm", BP_R_HAND = "Right Hand", BP_L_HAND = "Left Hand", BP_R_LEG = "Right Leg", BP_L_LEG = "Left Leg", BP_R_FOOT = "Right Foot", BP_L_FOOT = "Left Foot") var/dat = "

Editing '[marking]'


" - dat += "Enable All " - dat += "Disable All " - dat += "Change Color of All
" + dat += "Enable All " + dat += "Disable All " + dat += "Change Color of All
" dat += "
" for (var/bodypart in pref.body_markings[marking]) if (!islist(pref.body_markings[marking][bodypart])) continue dat += "[part_to_string[bodypart]]: [color_square(hex = pref.body_markings[marking][bodypart]["color"])] " - dat += "Change " - dat += "[pref.body_markings[marking][bodypart]["on"] ? "Toggle Off" : "Toggle On"]
" + dat += "Change " + dat += "[pref.body_markings[marking][bodypart]["on"] ? "Toggle Off" : "Toggle On"]
" dat += "" winshow(user, "prefs_markings_subwindow", TRUE) diff --git a/code/modules/client/preference_setup/general/04_equipment.dm b/code/modules/client/preference_setup/general/04_equipment.dm index b76ff9ee38..27dc98a4dc 100644 --- a/code/modules/client/preference_setup/general/04_equipment.dm +++ b/code/modules/client/preference_setup/general/04_equipment.dm @@ -123,19 +123,19 @@ var/global/list/valid_ringtones = list( . += span_bold("Equipment:") + "
" for(var/datum/category_group/underwear/UWC in global_underwear.categories) var/item_name = pref.all_underwear[UWC.name] ? pref.all_underwear[UWC.name] : "None" - . += "[UWC.name]: [item_name]" + . += "[UWC.name]: [item_name]" var/datum/category_item/underwear/UWI = UWC.items_by_name[item_name] if(UWI) for(var/datum/gear_tweak/gt in UWI.tweaks) - . += " [gt.get_contents(get_metadata(UWC.name, gt))]" + . += " [gt.get_contents(get_metadata(UWC.name, gt))]" . += "
" - . += "Headset Type: [GLOB.headsetlist[pref.headset]]
" - . += "Backpack Type: [backbaglist[pref.backbag]]
" - . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" - . += "Communicator Visibility: [(pref.communicator_visibility) ? "Yes" : "No"]
" - . += "Ringtone (leave blank for job default): [pref.ringtone]
" - . += "Spawn With Shoes:[(pref.shoe_hater) ? "No" : "Yes"]
" //RS Addition + . += "Headset Type: [GLOB.headsetlist[pref.headset]]
" + . += "Backpack Type: [backbaglist[pref.backbag]]
" + . += "PDA Type: [pdachoicelist[pref.pdachoice]]
" + . += "Communicator Visibility: [(pref.communicator_visibility) ? "Yes" : "No"]
" + . += "Ringtone (leave blank for job default): [pref.ringtone]
" + . += "Spawn With Shoes:[(pref.shoe_hater) ? "No" : "Yes"]
" //RS Addition return jointext(.,null) diff --git a/code/modules/client/preference_setup/general/05_background.dm b/code/modules/client/preference_setup/general/05_background.dm index bbf4e9f694..8025514cf7 100644 --- a/code/modules/client/preference_setup/general/05_background.dm +++ b/code/modules/client/preference_setup/general/05_background.dm @@ -45,26 +45,26 @@ /datum/category_item/player_setup_item/general/background/content(var/mob/user) . += span_bold("Background Information") + "
" - . += "Economic Status: [pref.economic_status]
" - . += "Home: [pref.home_system]
" - . += "Birthplace: [pref.birthplace]
" - . += "Citizenship: [pref.citizenship]
" - . += "Faction: [pref.faction]
" - . += "Religion: [pref.religion]
" + . += "Economic Status: [pref.economic_status]
" + . += "Home: [pref.home_system]
" + . += "Birthplace: [pref.birthplace]
" + . += "Citizenship: [pref.citizenship]
" + . += "Faction: [pref.faction]
" + . += "Religion: [pref.religion]
" . += "
Records:
" if(jobban_isbanned(user, "Records")) . += span_danger("You are banned from using character records.") + "
" else . += "Medical Records:
" - . += "[TextPreview(pref.med_record,40)]
" - . += " (Reset)

" + . += "[TextPreview(pref.med_record,40)]
" + . += " (Reset)

" . += "Employment Records:
" - . += "[TextPreview(pref.gen_record,40)]
" - . += "(Reset)

" + . += "[TextPreview(pref.gen_record,40)]
" + . += "(Reset)

" . += "Security Records:
" - . += "[TextPreview(pref.sec_record,40)]
" - . += "(Reset)" + . += "[TextPreview(pref.sec_record,40)]
" + . += "(Reset)" /datum/category_item/player_setup_item/general/background/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["econ_status"]) diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm index 334fd413fd..4690dc4deb 100644 --- a/code/modules/client/preference_setup/general/06_flavor.dm +++ b/code/modules/client/preference_setup/general/06_flavor.dm @@ -55,9 +55,9 @@ /datum/category_item/player_setup_item/general/flavor/content(var/mob/user) . += span_bold("Flavor:") + "
" - . += "Set Flavor Text
" - . += "Set Robot Flavor Text
" - . += "Set Custom Link
" + . += "Set Flavor Text
" + . += "Set Robot Flavor Text
" + . += "Set Custom Link
" /datum/category_item/player_setup_item/general/flavor/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["flavor_text"]) @@ -104,31 +104,31 @@ HTML += span_bold("Set Flavor Text") + "
" HTML += "Note: This is not *literal* flavor of your character. This is visual description of what they look like.
" HTML += "
" - HTML += "General: " + HTML += "General: " HTML += TextPreview(pref.flavor_texts["general"]) HTML += "
" - HTML += "Head: " + HTML += "Head: " HTML += TextPreview(pref.flavor_texts["head"]) HTML += "
" - HTML += "Face: " + HTML += "Face: " HTML += TextPreview(pref.flavor_texts["face"]) HTML += "
" - HTML += "Eyes: " + HTML += "Eyes: " HTML += TextPreview(pref.flavor_texts["eyes"]) HTML += "
" - HTML += "Body: " + HTML += "Body: " HTML += TextPreview(pref.flavor_texts["torso"]) HTML += "
" - HTML += "Arms: " + HTML += "Arms: " HTML += TextPreview(pref.flavor_texts["arms"]) HTML += "
" - HTML += "Hands: " + HTML += "Hands: " HTML += TextPreview(pref.flavor_texts["hands"]) HTML += "
" - HTML += "Legs: " + HTML += "Legs: " HTML += TextPreview(pref.flavor_texts["legs"]) HTML += "
" - HTML += "Feet: " + HTML += "Feet: " HTML += TextPreview(pref.flavor_texts["feet"]) HTML += "
" HTML += "
" @@ -141,11 +141,11 @@ HTML += "
" HTML += span_bold("Set Robot Flavour Text") + "
" HTML += "
" - HTML += "Default: " + HTML += "Default: " HTML += TextPreview(pref.flavour_texts_robot["Default"]) HTML += "
" for(var/module in robot_module_types) - HTML += "[module]: " + HTML += "[module]: " HTML += TextPreview(pref.flavour_texts_robot[module]) HTML += "
" HTML += "
" diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 9c40d06396..1d67d38661 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -57,28 +57,28 @@ pref.chat_timestamp = sanitize_integer(pref.chat_timestamp, 0, 1, initial(pref.chat_timestamp)) /datum/category_item/player_setup_item/player_global/ui/content(var/mob/user) - . = span_bold("UI Style:") + " [pref.UI_style]
" + . = span_bold("UI Style:") + " [pref.UI_style]
" . += span_bold("Custom UI") + " (recommended for White UI):
" - . += "-Color: [pref.UI_style_color] [color_square(hex = pref.UI_style_color)] reset
" - . += "-Alpha(transparency): [pref.UI_style_alpha] reset
" - . += span_bold("Tooltip Style:") + " [pref.tooltipstyle]
" - . += span_bold("Client FPS:") + " [pref.client_fps]
" - . += span_bold("Random Ambience Frequency:") + " [pref.ambience_freq]
" - . += span_bold("Ambience Chance:") + " [pref.ambience_chance]
" - . += span_bold("TGUI Window Mode:") + " [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
" - . += span_bold("TGUI Window Placement:") + " [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
" - . += span_bold("TGUI Input Framework:") + " [(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]
" - . += span_bold("TGUI Large Buttons:") + " [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
" - . += span_bold("TGUI Swapped Buttons:") + " [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
" - . += span_bold("Obfuscate Ckey:") + " [(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]
" - . += span_bold("Obfuscate Job:") + " [(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]
" - . += span_bold("Chat Timestamps:") + " [(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]
" + . += "-Color: [pref.UI_style_color] [color_square(hex = pref.UI_style_color)] reset
" + . += "-Alpha(transparency): [pref.UI_style_alpha] reset
" + . += span_bold("Tooltip Style:") + " [pref.tooltipstyle]
" + . += span_bold("Client FPS:") + " [pref.client_fps]
" + . += span_bold("Random Ambience Frequency:") + " [pref.ambience_freq]
" + . += span_bold("Ambience Chance:") + " [pref.ambience_chance]
" + . += span_bold("TGUI Window Mode:") + " [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
" + . += span_bold("TGUI Window Placement:") + " [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
" + . += span_bold("TGUI Input Framework:") + " [(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]
" + . += span_bold("TGUI Large Buttons:") + " [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
" + . += span_bold("TGUI Swapped Buttons:") + " [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
" + . += span_bold("Obfuscate Ckey:") + " [(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]
" + . += span_bold("Obfuscate Job:") + " [(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]
" + . += span_bold("Chat Timestamps:") + " [(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]
" if(can_select_ooc_color(user)) . += span_bold("OOC Color:") if(pref.ooccolor == initial(pref.ooccolor)) - . += "Using Default
" + . += "Using Default
" else - . += "[pref.ooccolor] [color_square(hex = pref.ooccolor)]reset
" + . += "[pref.ooccolor] [color_square(hex = pref.ooccolor)]reset
" /datum/category_item/player_setup_item/player_global/ui/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["select_style"]) diff --git a/code/modules/client/preference_setup/global/03_pai.dm b/code/modules/client/preference_setup/global/03_pai.dm index 22c92e9905..af39387535 100644 --- a/code/modules/client/preference_setup/global/03_pai.dm +++ b/code/modules/client/preference_setup/global/03_pai.dm @@ -32,10 +32,10 @@ if(!candidate) log_debug("[user] pAI prefs have a null candidate var.") return . - . += "Name: [candidate.name ? candidate.name : "None Set"]
" - . += "Description: [candidate.description ? TextPreview(candidate.description, 40) : "None Set"]
" - . += "Role: [candidate.role ? TextPreview(candidate.role, 40) : "None Set"]
" - . += "OOC Comments: [candidate.comments ? TextPreview(candidate.comments, 40) : "None Set"]
" + . += "Name: [candidate.name ? candidate.name : "None Set"]
" + . += "Description: [candidate.description ? TextPreview(candidate.description, 40) : "None Set"]
" + . += "Role: [candidate.role ? TextPreview(candidate.role, 40) : "None Set"]
" + . += "OOC Comments: [candidate.comments ? TextPreview(candidate.comments, 40) : "None Set"]
" /datum/category_item/player_setup_item/player_global/pai/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["option"]) diff --git a/code/modules/client/preference_setup/global/04_ooc.dm b/code/modules/client/preference_setup/global/04_ooc.dm index e99777927f..18ac5deec9 100644 --- a/code/modules/client/preference_setup/global/04_ooc.dm +++ b/code/modules/client/preference_setup/global/04_ooc.dm @@ -18,8 +18,8 @@ . += span_bold("OOC:") + "
" . += "Ignored Players
" for(var/ignored_player in pref.ignored_players) - . += "[ignored_player] (Unignore)
" - . += "(Ignore Player)" + . += "[ignored_player] (Unignore)
" + . += "(Ignore Player)" /datum/category_item/player_setup_item/player_global/ooc/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["unignore_player"]) diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm index 5019e5c845..0fba39295b 100644 --- a/code/modules/client/preference_setup/loadout/loadout.dm +++ b/code/modules/client/preference_setup/loadout/loadout.dm @@ -137,7 +137,7 @@ var/list/gear_datums = list() fcolor = "#E67300" . += "
" - . += "" + . += "" . += "" var/datum/loadout_category/LC = loadout_categories[current_tab] @@ -176,7 +176,7 @@ var/list/gear_datums = list() if(G.character_name && !(preference_mob.client.prefs.real_name in G.character_name)) continue var/ticked = (G.display_name in pref.gear) - . += "" + . += "" . += "" . += "" if(G.show_roles && G.allowed_roles) @@ -184,7 +184,7 @@ var/list/gear_datums = list() if(ticked) . += "" . += "
\<\<\[[pref.gear_slot]\] \>\>[total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\]
\<\<\[[pref.gear_slot]\] \>\>[total_cost]/[MAX_GEAR_COST] loadout points spent. \[Clear Loadout\]
" var/firstcat = 1 @@ -159,9 +159,9 @@ var/list/gear_datums = list() . += " " + span_linkOn("[category] - [category_cost]") + " " else if(category_cost) - . += " [category] - [category_cost] " + . += " [category] - [category_cost] " else - . += " [category] - 0 " + . += " [category] - 0 " . += "
[G.display_name]
[G.display_name][G.cost][G.description]
" for(var/datum/gear_tweak/tweak in G.gear_tweaks) - . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" + . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" . += "
" . = jointext(., null) diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 08befbebe7..493481e066 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -71,7 +71,7 @@ . = list() . += "
" . += span_bold("Choose occupation chances") + "
Unavailable occupations are crossed out.
" - . += "" + . += "" . += "
" // Table within a table for alignment, also allows you to easily add more columns. . += "" var/index = -1 @@ -131,7 +131,7 @@ var/rank = job.title lastJob = job - . += "" + . += "" if(jobban_isbanned(user, rank)) . += "[rank]" continue @@ -189,7 +189,7 @@ prefUpperLevel = 3 prefLowerLevel = 1 - . += "" + . += "" if(job.type == /datum/job/assistant)//Assistant is special if(pref.job_civilian_low & ASSISTANT) @@ -197,26 +197,26 @@ else . += " \[No]" if(LAZYLEN(job.alt_titles)) //Blatantly cloned from a few lines down. - . += "" + . += "" . += "" continue . += " \[[prefLevelLabel]]" if(LAZYLEN(job.alt_titles)) - . += "" + . += "" . += "" . += "
\[BANNED]
 \[[pref.GetPlayerAltTitle(job)]\]
 \[[pref.GetPlayerAltTitle(job)]\]
 \[[pref.GetPlayerAltTitle(job)]\]
 \[[pref.GetPlayerAltTitle(job)]\]
" . += "
" switch(pref.alternate_option) if(GET_RANDOM_JOB) - . += span_underline("Get random job if preferences unavailable") + . += span_underline("Get random job if preferences unavailable") if(BE_ASSISTANT) - . += span_underline("Be assistant if preference unavailable") + . += span_underline("Be assistant if preference unavailable") if(RETURN_TO_LOBBY) - . += span_underline("Return to lobby if preference unavailable") + . += span_underline("Return to lobby if preference unavailable") - . += "\[Reset\]
" + . += "\[Reset\]
" . += "
" . = jointext(.,null) @@ -264,7 +264,7 @@ dat += "
" if(CONFIG_GET(string/wikiurl)) - dat += "Open wiki page in browser" + dat += "Open wiki page in browser" var/alt_title = pref.GetPlayerAltTitle(job) var/list/description = job.get_description_blurb(alt_title) diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index d43fb0529c..ce487482ab 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -80,8 +80,8 @@ if(PS == selected_category) dat += "[PS.name] " // TODO: Check how to properly mark a href/button selected in a classic browser window else - dat += "[PS.name] " - dat += "Game Options" + dat += "[PS.name] " + dat += "Game Options" return dat /datum/category_collection/player_setup_collection/proc/content(var/mob/user) diff --git a/code/modules/client/preference_setup/traits/traits.dm b/code/modules/client/preference_setup/traits/traits.dm index f51459de33..12a9077bc7 100644 --- a/code/modules/client/preference_setup/traits/traits.dm +++ b/code/modules/client/preference_setup/traits/traits.dm @@ -60,7 +60,7 @@ var/list/trait_categories = list() // The categories available for the trait men if(category == current_tab) . += " " + span_linkOn("[category]") + " " else - . += " [category] " + . += " [category] " . += "
[G.cost]
" // for(var/datum/gear_tweak/tweak in G.gear_tweaks) -// . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" +// . += " [tweak.get_contents(get_tweak_metadata(G, tweak))]" // . += "
" . = jointext(., null) diff --git a/code/modules/client/preference_setup/volume_sliders/01_volume.dm b/code/modules/client/preference_setup/volume_sliders/01_volume.dm index eb07af33cc..4c63fc7abb 100644 --- a/code/modules/client/preference_setup/volume_sliders/01_volume.dm +++ b/code/modules/client/preference_setup/volume_sliders/01_volume.dm @@ -31,7 +31,7 @@ /datum/category_item/player_setup_item/volume_sliders/volume/content(var/mob/user) . += span_bold("Volume Settings") + "
" for(var/channel in pref.volume_channels) - . += "[channel]: [pref.volume_channels[channel] * 100]%
" + . += "[channel]: [pref.volume_channels[channel] * 100]%
" . += "
" /datum/category_item/player_setup_item/volume_sliders/volume/OnTopic(var/href, var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/volume_sliders/02_media.dm b/code/modules/client/preference_setup/volume_sliders/02_media.dm index 979eac55ce..d6617b5816 100644 --- a/code/modules/client/preference_setup/volume_sliders/02_media.dm +++ b/code/modules/client/preference_setup/volume_sliders/02_media.dm @@ -20,14 +20,14 @@ /datum/category_item/player_setup_item/volume_sliders/media/content(var/mob/user) . += span_bold("Jukebox Volume:") - . += "[round(pref.media_volume * 100)]%
" + . += "[round(pref.media_volume * 100)]%
" . += span_bold("Media Player Type:") + " Depending on you operating system, one of these might work better. " . += "Use HTML5 if it works for you. If neither HTML5 nor WMP work, you'll have to fall back to using VLC, " . += "but this requires you have the VLC client installed on your comptuer." . += "Try the others if you want but you'll probably just get no music.
" - . += (pref.media_player == 2) ? (span_linkOn(span_bold("HTML5")) + " ") : "HTML5 " - . += (pref.media_player == 1) ? (span_linkOn(span_bold("WMP")) + " ") : "WMP " - . += (pref.media_player == 0) ? (span_linkOn(span_bold("VLC")) + " ") : "VLC " + . += (pref.media_player == 2) ? (span_linkOn(span_bold("HTML5")) + " ") : "HTML5 " + . += (pref.media_player == 1) ? (span_linkOn(span_bold("WMP")) + " ") : "WMP " + . += (pref.media_player == 0) ? (span_linkOn(span_bold("VLC")) + " ") : "VLC " . += "
" /datum/category_item/player_setup_item/volume_sliders/media/OnTopic(var/href, var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 447b329837..305659a34e 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -73,17 +73,17 @@ /datum/category_item/player_setup_item/vore/size/content(var/mob/user) . += "
" - . += span_bold("Scale:") + " [round(pref.size_multiplier*100)]%
" - . += span_bold("Scaled Appearance:") + " [pref.fuzzy ? "Fuzzy" : "Sharp"]
" - . += span_bold("Scaling Center:") + " [pref.offset_override ? "Odd" : "Even"]
" - . += span_bold("Voice Frequency:") + " [pref.voice_freq]
" - . += span_bold("Voice Sounds:") + " [pref.voice_sound]
" - . += "Test Selected Voice
" - . += span_bold("Custom Speech Bubble:") + " [pref.custom_speech_bubble]
" + . += span_bold("Scale:") + " [round(pref.size_multiplier*100)]%
" + . += span_bold("Scaled Appearance:") + " [pref.fuzzy ? "Fuzzy" : "Sharp"]
" + . += span_bold("Scaling Center:") + " [pref.offset_override ? "Odd" : "Even"]
" + . += span_bold("Voice Frequency:") + " [pref.voice_freq]
" + . += span_bold("Voice Sounds:") + " [pref.voice_sound]
" + . += "Test Selected Voice
" + . += span_bold("Custom Speech Bubble:") + " [pref.custom_speech_bubble]
" . += "
" - . += span_bold("Relative Weight:") + " [pref.weight_vr]
" - . += span_bold("Weight Gain Rate:") + " [pref.weight_gain]
" - . += span_bold("Weight Loss Rate:") + " [pref.weight_loss]
" + . += span_bold("Relative Weight:") + " [pref.weight_vr]
" + . += span_bold("Weight Gain Rate:") + " [pref.weight_gain]
" + . += span_bold("Weight Loss Rate:") + " [pref.weight_loss]
" /datum/category_item/player_setup_item/vore/size/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["size_multiplier"]) diff --git a/code/modules/client/preference_setup/vore/03_egg.dm b/code/modules/client/preference_setup/vore/03_egg.dm index e8e989f9df..4b75ae2354 100644 --- a/code/modules/client/preference_setup/vore/03_egg.dm +++ b/code/modules/client/preference_setup/vore/03_egg.dm @@ -43,8 +43,8 @@ /datum/category_item/player_setup_item/vore/egg/content(var/mob/user) . += "
" - . += " Egg Type: [pref.vore_egg_type]
" - . += span_bold("Autohiss Default Setting:") + " [pref.autohiss]
" // VOREStation Add + . += " Egg Type: [pref.vore_egg_type]
" + . += span_bold("Autohiss Default Setting:") + " [pref.autohiss]
" // VOREStation Add /datum/category_item/player_setup_item/vore/egg/OnTopic(var/href, var/list/href_list, var/mob/user) if(!CanUseTopic(user)) diff --git a/code/modules/client/preference_setup/vore/04_resleeving.dm b/code/modules/client/preference_setup/vore/04_resleeving.dm index 6ec8ca51bf..1185288552 100644 --- a/code/modules/client/preference_setup/vore/04_resleeving.dm +++ b/code/modules/client/preference_setup/vore/04_resleeving.dm @@ -42,9 +42,9 @@ /datum/category_item/player_setup_item/vore/resleeve/content(var/mob/user) . += "
" - . += span_bold("Start With Body Scan:") + " [pref.resleeve_scan ? "Yes" : "No"]
" - . += span_bold("Start With Mind Scan:") + " [pref.mind_scan ? "Yes" : "No"]
" - . += span_bold("Prevent Body Impersonation:") + " [pref.resleeve_lock ? "Yes" : "No"]
" + . += span_bold("Start With Body Scan:") + " [pref.resleeve_scan ? "Yes" : "No"]
" + . += span_bold("Start With Mind Scan:") + " [pref.mind_scan ? "Yes" : "No"]
" + . += span_bold("Prevent Body Impersonation:") + " [pref.resleeve_lock ? "Yes" : "No"]
" /datum/category_item/player_setup_item/vore/resleeve/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_resleeve_lock"]) diff --git a/code/modules/client/preference_setup/vore/05_persistence.dm b/code/modules/client/preference_setup/vore/05_persistence.dm index 704b22bb6c..3b04126b50 100644 --- a/code/modules/client/preference_setup/vore/05_persistence.dm +++ b/code/modules/client/preference_setup/vore/05_persistence.dm @@ -47,9 +47,9 @@ /datum/category_item/player_setup_item/vore/persistence/proc/make_yesno(var/bit) if(pref.persistence_settings & bit) - return "" + span_linkOn(span_bold("Yes")) + " No" + return "" + span_linkOn(span_bold("Yes")) + " No" else - return "Yes " + span_linkOn(span_bold("No")) + "" + return "Yes " + span_linkOn(span_bold("No")) + "" /datum/category_item/player_setup_item/vore/persistence/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_on"]) diff --git a/code/modules/client/preference_setup/vore/06_vantag.dm b/code/modules/client/preference_setup/vore/06_vantag.dm index 5433e712f0..2b03fb95b2 100644 --- a/code/modules/client/preference_setup/vore/06_vantag.dm +++ b/code/modules/client/preference_setup/vore/06_vantag.dm @@ -27,8 +27,8 @@ /datum/category_item/player_setup_item/vore/vantag/content(var/mob/user) . += "
" - . += span_bold("Event Volunteer:") + " " + span_bold("[pref.vantag_volunteer ? "Yes" : "No"]") + "
" - . += span_bold("Event Pref:") + " " + span_bold("[vantag_choices_list[pref.vantag_preference]]") + "
" + . += span_bold("Event Volunteer:") + " " + span_bold("[pref.vantag_volunteer ? "Yes" : "No"]") + "
" + . += span_bold("Event Pref:") + " " + span_bold("[vantag_choices_list[pref.vantag_preference]]") + "
" /datum/category_item/player_setup_item/vore/vantag/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_vantag_volunteer"]) diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index 6fca677568..2184a30f92 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -2,7 +2,7 @@ #define NEUTRAL_MODE 2 #define NEGATIVE_MODE 3 -var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","silver","gold","slimejelly") //allowlist-based so people don't make their blood restored by alcohol or something really silly. use reagent IDs! +var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_COPPER,REAGENT_ID_PHORON,REAGENT_ID_SILVER,REAGENT_ID_GOLD,REAGENT_ID_SLIMEJELLY) //allowlist-based so people don't make their blood restored by alcohol or something really silly. use reagent IDs! /datum/preferences var/custom_species // Custom species name, can't be changed due to it having been used in savefiles already. @@ -57,7 +57,7 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s trait_prefs[identifier] = trait.default_value_for_pref(identifier) //won't be called at all often altered = TRUE . += "
  • - [pref_list[2]]:" - var/link = " " + var/link = " " switch (pref_list[1]) if (1) //TRAIT_PREF_TYPE_BOOLEAN . += link + (trait_prefs[identifier] ? "Enabled" : "Disabled") @@ -274,12 +274,12 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s /datum/category_item/player_setup_item/vore/traits/content(var/mob/user) . += span_bold("Custom Species Name:") + " " - . += "[pref.custom_species ? pref.custom_species : "-Input Name-"]
    " + . += "[pref.custom_species ? pref.custom_species : "-Input Name-"]
    " var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) . += span_bold("Icon Base:") + " " - . += "[pref.custom_base ? pref.custom_base : "Human"]
    " + . += "[pref.custom_base ? pref.custom_base : "Human"]
    " var/traits_left = pref.max_traits @@ -295,57 +295,57 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s if(points_left < 0 || traits_left < 0 || (!pref.custom_species && pref.species == SPECIES_CUSTOM)) . += span_red(span_bold("^ Fix things! ^")) + "
    " - . += "Positive Trait +
    " + . += "Positive Trait +
    " . += "" - . += "Neutral Trait +
    " + . += "Neutral Trait +
    " . += "" - . += "Negative Trait +
    " + . += "Negative Trait +
    " . += "" . += span_bold("Blood Color: ") //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their own blood color. - . += "Set Color " - . += "R
    " + . += "Set Color " + . += "R
    " . += span_bold("Blood Reagent: ") //Wanna be copper-based? Go ahead. - . += "[pref.blood_reagents]
    " + . += "[pref.blood_reagents]
    " . += "
    " . += span_bold("Custom Say: ") - . += "Set Say Verb" - . += "(Reset)" + . += "Set Say Verb" + . += "(Reset)" . += "
    " . += span_bold("Custom Whisper: ") - . += "Set Whisper Verb" - . += "(Reset)" + . += "Set Whisper Verb" + . += "(Reset)" . += "
    " . += span_bold("Custom Ask: ") - . += "Set Ask Verb" - . += "(Reset)" + . += "Set Ask Verb" + . += "(Reset)" . += "
    " . += span_bold("Custom Exclaim: ") - . += "Set Exclaim Verb" - . += "(Reset)" + . += "Set Exclaim Verb" + . += "(Reset)" . += "
    " . += span_bold("Custom Heat Discomfort: ") - . += "Set Heat Messages" - . += "(Reset)" + . += "Set Heat Messages" + . += "(Reset)" . += "
    " . += span_bold("Custom Cold Discomfort: ") - . += "Set Cold Messages" - . += "(Reset)" + . += "Set Cold Messages" + . += "(Reset)" . += "
    " /datum/category_item/player_setup_item/vore/traits/OnTopic(var/href,var/list/href_list, var/mob/user) diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm index c2e3ebd24b..771f97b164 100644 --- a/code/modules/client/preference_setup/vore/09_misc.dm +++ b/code/modules/client/preference_setup/vore/09_misc.dm @@ -45,15 +45,15 @@ /datum/category_item/player_setup_item/vore/misc/content(var/mob/user) . += "
    " - . += span_bold("Appear in Character Directory:") + " [pref.show_in_directory ? "Yes" : "No"]
    " - . += span_bold("Character Directory Vore Tag:") + " [pref.directory_tag]
    " - . += span_bold("Character Directory ERP Tag:") + " [pref.directory_erptag]
    " - . += span_bold("Character Directory Advertisement:") + " Set Directory Ad
    " - . += span_bold("Suit Sensors Preference:") + " [sensorpreflist[pref.sensorpref]]
    " - . += span_bold("Capture Crystal Preference:") + " [pref.capture_crystal ? "Yes" : "No"]
    " - . += span_bold("Spawn With Backup Implant:") + " [pref.auto_backup_implant ? "Yes" : "No"]
    " - . += span_bold("Allow petting as robot:") + " [pref.borg_petting ? "Yes" : "No"]
    " - . += span_bold("Enable Stomach Sprites:") + " [pref.stomach_vision ? "Yes" : "No"]
    " + . += span_bold("Appear in Character Directory:") + " [pref.show_in_directory ? "Yes" : "No"]
    " + . += span_bold("Character Directory Vore Tag:") + " [pref.directory_tag]
    " + . += span_bold("Character Directory ERP Tag:") + " [pref.directory_erptag]
    " + . += span_bold("Character Directory Advertisement:") + " Set Directory Ad
    " + . += span_bold("Suit Sensors Preference:") + " [sensorpreflist[pref.sensorpref]]
    " + . += span_bold("Capture Crystal Preference:") + " [pref.capture_crystal ? "Yes" : "No"]
    " + . += span_bold("Spawn With Backup Implant:") + " [pref.auto_backup_implant ? "Yes" : "No"]
    " + . += span_bold("Allow petting as robot:") + " [pref.borg_petting ? "Yes" : "No"]
    " + . += span_bold("Enable Stomach Sprites:") + " [pref.stomach_vision ? "Yes" : "No"]
    " /datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user) if(href_list["toggle_show_in_directory"]) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 95b42830ca..6f98ef0336 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -244,11 +244,11 @@ var/list/preferences_datums = list() if(path) dat += "Slot - " - dat += "Load slot - " - dat += "Save slot - " - dat += "Reload slot - " - dat += "Reset slot - " - dat += "Copy slot - " + dat += "Load slot - " + dat += "Save slot - " + dat += "Reload slot - " + dat += "Reset slot - " + dat += "Copy slot" dat += "Save & export all" // YW Edit - "Add option to export character to JSON" //dat += "Import all" // YW Edit - "Add option to import character from JSON" else @@ -667,6 +667,8 @@ var/list/preferences_datums = list() character.flavor_texts["feet"] = flavor_texts["feet"] if (copy_ooc_notes) character.ooc_notes = metadata + character.ooc_notes_dislikes = metadata_dislikes + character.ooc_notes_likes = metadata_likes character.weight = weight_vr character.weight_gain = weight_gain diff --git a/code/modules/client/record_updater.dm b/code/modules/client/record_updater.dm index de802eedcf..28a3de6a7d 100644 --- a/code/modules/client/record_updater.dm +++ b/code/modules/client/record_updater.dm @@ -67,7 +67,7 @@ var/global/client_record_update_lock = FALSE if(COM && !QDELETED(COM)) COM.visible_message(span_notice("\The [COM] buzzes!")) playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) - return "Update syncronization failed (OOC: Client mob does not exist, has no mind record, or is possesssed)" + return "Update syncronization failed (OOC: Player mob does not exist, has no mind record, or is possesssed)" var/client/C = M.client if(!C) @@ -76,13 +76,13 @@ var/global/client_record_update_lock = FALSE playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) return "Update syncronization failed (OOC: Record's owner is offline)" - var/choice = tgui_alert(M, "Your [record_string] record has been updated from the a records console by [user]. Please review the changes made to your [record_string] record. Accepting these changes will SAVE your CURRENT character slot! If your new [record_string] record has errors, it is recomended to have it corrected IC instead of editing it yourself.", "Record Updated", list("Review Changes","Refuse Update")) - if(choice == "Refuse Update") + var/choice = tgui_alert(M, "Your [record_string] record has been updated from the a records console by [user]. Please review the changes made to your [record_string] record. Accepting these changes will SAVE your CURRENT character slot! If your new [record_string] record has errors, it is recomended to have it corrected IC instead of editing it yourself.", "Record Updated", list("Review Changes","DENY")) + if(choice == "DENY") message_admins("[active.fields["name"]] refused [record_string] record update from [user] without review.") if(COM && !QDELETED(COM)) COM.visible_message(span_notice("\The [COM] buzzes!")) playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) - return "Update syncronization failed (OOC: Client refused without review)" + return "Update syncronization failed (OOC: Player refused without review)" var/datum/preferences/P = C.prefs var/new_data = strip_html_simple(tgui_input_text(M,"Please review [user]'s changes to your [record_string] record before confirming. Confirming will SAVE your CURRENT character slot! If your new [record_string] record major errors, it is recomended to have it corrected IC instead of editing it yourself.","Character Preference", html_decode(active.fields["notes"]), MAX_RECORD_LENGTH, TRUE, prevent_enter = TRUE), MAX_RECORD_LENGTH) @@ -91,13 +91,13 @@ var/global/client_record_update_lock = FALSE if(COM && !QDELETED(COM)) COM.visible_message(span_notice("\The [COM] buzzes!")) playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) - return "Update syncronization failed (OOC: Client refused with review)" + return "Update syncronization failed (OOC: Player refused with review)" if(!M || !M.client || !P) - message_admins("[active.fields["name"]]'s [record_string] record could not be updated, client disconnected.") + message_admins("[active.fields["name"]]'s [record_string] record could not be updated, player disconnected.") if(COM && !QDELETED(COM)) COM.visible_message(span_notice("\The [COM] buzzes!")) playsound(COM, 'sound/machines/deniedbeep.ogg', 50, 0) - return "Update syncronization failed (OOC: Client does not exist)" + return "Update syncronization failed (OOC: Player does not exist)" // Update records in the consoles, remember this can happen a while after a record is closed on the console... Use cached data. switch(console_path) diff --git a/code/modules/client/verbs/advanced_who.dm b/code/modules/client/verbs/advanced_who.dm index e2b6fc46e0..82fc9ac479 100644 --- a/code/modules/client/verbs/advanced_who.dm +++ b/code/modules/client/verbs/advanced_who.dm @@ -68,7 +68,7 @@ entry += "[seconds % 60] seconds)" entry += "" - entry += " (?)" + entry += " (?)" entry += "" Lines += entry diff --git a/code/modules/client/verbs/character_directory.dm b/code/modules/client/verbs/character_directory.dm index b58334b06c..b3bbd95eaf 100644 --- a/code/modules/client/verbs/character_directory.dm +++ b/code/modules/client/verbs/character_directory.dm @@ -70,10 +70,10 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) if(ishuman(C.mob)) var/mob/living/carbon/human/H = C.mob - if(data_core && data_core.general) - if(!find_general_record("name", H.real_name)) - if(!find_record("name", H.real_name, data_core.hidden_general)) - continue + //if(data_core && data_core.general) + // if(!find_general_record("name", H.real_name)) + // if(!find_record("name", H.real_name, data_core.hidden_general)) + // continue name = H.real_name species = "[H.custom_species ? H.custom_species : H.species.name]" ooc_notes = H.ooc_notes @@ -109,6 +109,30 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) flavor_text = R.flavor_text + if(istype(C.mob, /mob/living/silicon/pai)) + var/mob/living/silicon/pai/P = C.mob + name = P.name + species = "pAI" + ooc_notes = P.ooc_notes + if(P.ooc_notes_likes) + ooc_notes += "\n\nLIKES\n\n[P.ooc_notes_likes]" + if(P.ooc_notes_dislikes) + ooc_notes += "\n\nDISLIKES\n\n[P.ooc_notes_dislikes]" + + flavor_text = P.flavor_text + + if(istype(C.mob, /mob/living/simple_mob)) + var/mob/living/simple_mob/S = C.mob + name = S.name + species = initial(S.name) + ooc_notes = S.ooc_notes + if(S.ooc_notes_likes) + ooc_notes += "\n\nLIKES\n\n[S.ooc_notes_likes]" + if(S.ooc_notes_dislikes) + ooc_notes += "\n\nDISLIKES\n\n[S.ooc_notes_dislikes]" + + flavor_text = S.desc + // It's okay if we fail to find OOC notes and flavor text // But if we can't find the name, they must be using a non-compatible mob type currently. if(!name) diff --git a/code/modules/clothing/accessories/hands.dm b/code/modules/clothing/accessories/hands.dm index 2ac4386e6a..1d121728db 100644 --- a/code/modules/clothing/accessories/hands.dm +++ b/code/modules/clothing/accessories/hands.dm @@ -68,31 +68,31 @@ return material /obj/item/clothing/accessory/bracelet/material/wood/New(var/newloc) - ..(newloc, "wood") + ..(newloc, MAT_WOOD) /obj/item/clothing/accessory/bracelet/material/plastic/New(var/newloc) - ..(newloc, "plastic") + ..(newloc, MAT_PLASTIC) /obj/item/clothing/accessory/bracelet/material/iron/New(var/newloc) - ..(newloc, "iron") + ..(newloc, MAT_IRON) /obj/item/clothing/accessory/bracelet/material/steel/New(var/newloc) - ..(newloc, "steel") + ..(newloc, MAT_STEEL) /obj/item/clothing/accessory/bracelet/material/silver/New(var/newloc) - ..(newloc, "silver") + ..(newloc, MAT_SILVER) /obj/item/clothing/accessory/bracelet/material/gold/New(var/newloc) - ..(newloc, "gold") + ..(newloc, MAT_GOLD) /obj/item/clothing/accessory/bracelet/material/platinum/New(var/newloc) - ..(newloc, "platinum") + ..(newloc, MAT_PLATINUM) /obj/item/clothing/accessory/bracelet/material/phoron/New(var/newloc) - ..(newloc, "phoron") + ..(newloc, MAT_PHORON) /obj/item/clothing/accessory/bracelet/material/glass/New(var/newloc) - ..(newloc, "glass") + ..(newloc, MAT_GLASS) //wristbands diff --git a/code/modules/clothing/accessories/rings.dm b/code/modules/clothing/accessories/rings.dm index 361c87c854..828402da13 100644 --- a/code/modules/clothing/accessories/rings.dm +++ b/code/modules/clothing/accessories/rings.dm @@ -73,7 +73,7 @@ /obj/item/clothing/accessory/ring/reagent/sleepy/Initialize() . = ..() - reagents.add_reagent("chloralhydrate", 15) // Less than a sleepy-pen, but still enough to knock someone out + reagents.add_reagent(REAGENT_ID_CHLORALHYDRATE, 15) // Less than a sleepy-pen, but still enough to knock someone out ///////////////////////////////////////// //Seals and Signet Rings diff --git a/code/modules/clothing/head/flowercrowns.dm b/code/modules/clothing/head/flowercrowns.dm index 53ee01141f..db795863e0 100644 --- a/code/modules/clothing/head/flowercrowns.dm +++ b/code/modules/clothing/head/flowercrowns.dm @@ -12,13 +12,13 @@ if(G.seed.kitchen_tag == "poppy") to_chat(user, "You attach the poppy to the circlet and create a beautiful flower crown.") complete = new /obj/item/clothing/head/poppy_crown(get_turf(user)) - else if(G.seed.kitchen_tag == "sunflower") + else if(G.seed.kitchen_tag == PLANT_SUNFLOWERS) to_chat(user, "You attach the sunflower to the circlet and create a beautiful flower crown.") complete = new /obj/item/clothing/head/sunflower_crown(get_turf(user)) - else if(G.seed.kitchen_tag == "lavender") + else if(G.seed.kitchen_tag == PLANT_LAVENDER) to_chat(user, "You attach the lavender to the circlet and create a beautiful flower crown.") complete = new /obj/item/clothing/head/lavender_crown(get_turf(user)) - else if(G.seed.kitchen_tag == "rose") + else if(G.seed.kitchen_tag == PLANT_ROSE) to_chat(user, "You attach the rose to the circlet and create a beautiful flower crown.") complete = new /obj/item/clothing/head/rose_crown(get_turf(user)) user.drop_from_inventory(W) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 02bb0f5313..2f6f066021 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -60,6 +60,7 @@ min_pressure_protection = 0.5 * ONE_ATMOSPHERE max_pressure_protection = 20 * ONE_ATMOSPHERE body_parts_covered = HEAD|FACE|EYES + heat_protection = HEAD cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE flash_protection = FLASH_PROTECTION_MODERATE diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 59541aebc2..b98e333e38 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -11,7 +11,7 @@ permeability_coefficient = 0.01 siemens_coefficient = 0.9 var/gas_filter_strength = 1 //For gas mask filters - var/list/filtered_gases = list("phoron", "nitrous_oxide") + var/list/filtered_gases = list(GAS_PHORON, GAS_N2O) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 75, rad = 0) pickup_sound = 'sound/items/pickup/rubber.ogg' @@ -88,7 +88,7 @@ flags = PHORONGUARD item_flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT species_restricted = list(SPECIES_VOX) - filtered_gases = list("oxygen", "nitrous_oxide") + filtered_gases = list(GAS_O2, GAS_N2O) var/mask_open = FALSE // Controls if the Vox can eat through this mask actions_types = list(/datum/action/item_action/toggle_feeding_port) @@ -115,7 +115,7 @@ //body_parts_covered = 0 species_restricted = list(SPECIES_ZADDAT) flags_inv = HIDEEARS //semi-transparent - filtered_gases = list("phoron", "nitrogen", "nitrous_oxide") + filtered_gases = list(GAS_PHORON, GAS_N2, GAS_N2O) /obj/item/clothing/mask/gas/syndicate name = "tactical mask" diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index aa6e0649ea..85e61c4052 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -183,7 +183,7 @@ var/global/list/breach_burn_descriptors = list( switch(W.get_material_name()) if(MAT_STEEL) repair_power = 2 - if("plastic") + if(MAT_PLASTIC) repair_power = 1 if(!repair_power) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm index 4018b5cb53..3a2d29c9e3 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm @@ -13,14 +13,14 @@ interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream." charges = list( - list("tricordrazine", "tricordrazine", 0, 80), - list("tramadol", "tramadol", 0, 80), - list("dexalin plus", "dexalinp", 0, 80), - list("antibiotics", "spaceacillin", 0, 80), - list("antitoxins", "anti_toxin", 0, 80), - list("nutrients", "glucose", 0, 80), - list("hyronalin", "hyronalin", 0, 80), - list("radium", "radium", 0, 80) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 80), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 80), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 80), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 80), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 80), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 80), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 80) ) var/max_reagent_volume = 80 //Used when refilling. @@ -30,17 +30,17 @@ //Want more? Go refill. Gives the ninja another reason to have to show their face. charges = list( - list("tricordrazine", "tricordrazine", 0, 30), - list("tramadol", "tramadol", 0, 30), - list("dexalin plus", "dexalinp", 0, 30), - list("antibiotics", "spaceacillin", 0, 30), - list("antitoxins", "anti_toxin", 0, 60), - list("nutrients", "glucose", 0, 80), - list("bicaridine", "bicaridine", 0, 30), - list("clotting agent", "myelamine", 0, 30), - list("peridaxon", "peridaxon", 0, 30), - list("hyronalin", "hyronalin", 0, 30), - list("radium", "radium", 0, 30) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 30), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 30), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 30), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 30), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 60), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_BICARIDINE, REAGENT_ID_BICARIDINE, 0, 30), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 30), + list(REAGENT_ID_PERIDAXON, REAGENT_ID_PERIDAXON, 0, 30), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 30), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 30) ) /obj/item/rig_module/chem_dispenser/accepts_item(var/obj/item/input_item, var/mob/living/user) @@ -124,11 +124,11 @@ desc = "A complex web of tubing and needles suitable for hardsuit use." charges = list( - list("synaptizine", "synaptizine", 0, 30), - list("hyperzine", "hyperzine", 0, 30), - list("oxycodone", "oxycodone", 0, 30), - list("nutrients", "glucose", 0, 80), - list("clotting agent", "myelamine", 0, 80) + list(REAGENT_ID_SYNAPTIZINE, REAGENT_ID_SYNAPTIZINE, 0, 30), + list(REAGENT_ID_HYPERZINE, REAGENT_ID_HYPERZINE, 0, 30), + list(REAGENT_ID_OXYCODONE, REAGENT_ID_OXYCODONE, 0, 30), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 80) ) interface_name = "combat chem dispenser" @@ -149,26 +149,26 @@ /obj/item/rig_module/chem_dispenser/injector/advanced charges = list( - list("tricordrazine", "tricordrazine", 0, 80), - list("tramadol", "tramadol", 0, 80), - list("dexalin plus", "dexalinp", 0, 80), - list("antibiotics", "spaceacillin", 0, 80), - list("antitoxins", "anti_toxin", 0, 80), - list("nutrients", "glucose", 0, 80), - list("hyronalin", "hyronalin", 0, 80), - list("radium", "radium", 0, 80), - list("clotting agent", "myelamine", 0, 80) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 80), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 80), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 80), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 80), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 80), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 80), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 80), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 80) ) /obj/item/rig_module/chem_dispenser/injector/advanced/empty charges = list( - list("tricordrazine", "tricordrazine", 0, 0), - list("tramadol", "tramadol", 0, 0), - list("dexalin plus", "dexalinp", 0, 0), - list("antibiotics", "spaceacillin", 0, 0), - list("antitoxins", "anti_toxin", 0, 0), - list("nutrients", "glucose", 0, 0), - list("hyronalin", "hyronalin", 0, 0), - list("radium", "radium", 0, 0), - list("clotting agent", "myelamine", 0, 0) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 0), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 0), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 0), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 0), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 0), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 0), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 0), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 0), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 0) ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm index 0b54dd879b..1e74c2dae2 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm @@ -19,10 +19,10 @@ var/chems_to_use = 5 //Per injection charges = list( - list("inaprovaline", "inaprovaline", 0, 20), - list("anti_toxin", "anti_toxin", 0, 20), - list("paracetamol", "paracetamol", 0, 20), - list("dexalin", "dexalin", 0, 20) + list(REAGENT_ID_INAPROVALINE, REAGENT_ID_INAPROVALINE, 0, 20), + list(REAGENT_ID_ANTITOXIN, REAGENT_ID_ANTITOXIN, 0, 20), + list(REAGENT_ID_PARACETAMOL, REAGENT_ID_PARACETAMOL, 0, 20), + list(REAGENT_ID_DEXALIN, REAGENT_ID_DEXALIN, 0, 20) ) /obj/item/rig_module/rescue_pharm/process() diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 6e66d2504f..2bf7344c97 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -143,14 +143,14 @@ interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream." charges = list( - list("tricordrazine", "tricordrazine", 0, 80), - list("tramadol", "tramadol", 0, 80), - list("dexalin plus", "dexalinp", 0, 80), - list("antibiotics", "spaceacillin", 0, 80), - list("antitoxins", "anti_toxin", 0, 80), - list("nutrients", "glucose", 0, 80), - list("hyronalin", "hyronalin", 0, 80), - list("radium", "radium", 0, 80) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 80), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 80), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 80), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 80), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 80), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 80), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 80) ) var/max_reagent_volume = 80 //Used when refilling. @@ -160,17 +160,17 @@ //Want more? Go refill. Gives the ninja another reason to have to show their face. charges = list( - list("tricordrazine", "tricordrazine", 0, 30), - list("tramadol", "tramadol", 0, 30), - list("dexalin plus", "dexalinp", 0, 30), - list("antibiotics", "spaceacillin", 0, 30), - list("antitoxins", "anti_toxin", 0, 60), - list("nutrients", "glucose", 0, 80), - list("bicaridine", "bicaridine", 0, 30), - list("clotting agent", "myelamine", 0, 30), - list("peridaxon", "peridaxon", 0, 30), - list("hyronalin", "hyronalin", 0, 30), - list("radium", "radium", 0, 30) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 30), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 30), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 30), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 30), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 60), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_BICARIDINE, REAGENT_ID_BICARIDINE, 0, 30), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 30), + list(REAGENT_ID_PERIDAXON, REAGENT_ID_PERIDAXON, 0, 30), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 30), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 30) ) /obj/item/rig_module/chem_dispenser/accepts_item(var/obj/item/input_item, var/mob/living/user) @@ -254,11 +254,11 @@ desc = "A complex web of tubing and needles suitable for hardsuit use." charges = list( - list("synaptizine", "synaptizine", 0, 30), - list("hyperzine", "hyperzine", 0, 30), - list("oxycodone", "oxycodone", 0, 30), - list("nutrients", "glucose", 0, 80), - list("clotting agent", "myelamine", 0, 80) + list(REAGENT_ID_SYNAPTIZINE, REAGENT_ID_SYNAPTIZINE, 0, 30), + list(REAGENT_ID_HYPERZINE, REAGENT_ID_HYPERZINE, 0, 30), + list(REAGENT_ID_OXYCODONE, REAGENT_ID_OXYCODONE, 0, 30), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 80) ) interface_name = "combat chem dispenser" @@ -279,15 +279,15 @@ /obj/item/rig_module/chem_dispenser/injector/advanced charges = list( - list("tricordrazine", "tricordrazine", 0, 80), - list("tramadol", "tramadol", 0, 80), - list("dexalin plus", "dexalinp", 0, 80), - list("antibiotics", "spaceacillin", 0, 80), - list("antitoxins", "anti_toxin", 0, 80), - list("nutrients", "glucose", 0, 80), - list("hyronalin", "hyronalin", 0, 80), - list("radium", "radium", 0, 80), - list("clotting agent", "myelamine", 0, 80) + list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_TRICORDRAZINE, 0, 80), + list(REAGENT_ID_TRAMADOL, REAGENT_ID_TRAMADOL, 0, 80), + list("dexalin plus", REAGENT_ID_DEXALINP, 0, 80), + list("antibiotics", REAGENT_ID_SPACEACILLIN, 0, 80), + list("antitoxins", REAGENT_ID_ANTITOXIN, 0, 80), + list("nutrients", REAGENT_ID_GLUCOSE, 0, 80), + list(REAGENT_ID_HYRONALIN, REAGENT_ID_HYRONALIN, 0, 80), + list(REAGENT_ID_RADIUM, REAGENT_ID_RADIUM, 0, 80), + list("clotting agent", REAGENT_ID_MYELAMINE, 0, 80) ) /obj/item/rig_module/voice diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 6dba8b8f05..3ae320e490 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -536,10 +536,9 @@ to_chat(wearer, span_danger("The suit optics flicker and die, leaving you with restricted vision.")) else if(offline_vision_restriction == 2) to_chat(wearer, span_danger("The suit optics drop out completely, drowning you in darkness.")) - if(!offline) - offline = 1 - else - if(offline) + if(!offline) + offline = 1 + else if (offline) offline = 0 if(istype(wearer) && !wearer.wearing_rig) wearer.wearing_rig = src diff --git a/code/modules/detectivework/tools/luminol.dm b/code/modules/detectivework/tools/luminol.dm index 560522508d..b2ba49d4cf 100644 --- a/code/modules/detectivework/tools/luminol.dm +++ b/code/modules/detectivework/tools/luminol.dm @@ -10,4 +10,4 @@ /obj/item/reagent_containers/spray/luminol/Initialize() . = ..() - reagents.add_reagent("luminol", 250) \ No newline at end of file + reagents.add_reagent(REAGENT_ID_LUMINOL, 250) diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 52ccc6558c..f9dbcf34fa 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -168,8 +168,8 @@ //rag must have a minimum of 2 units welder fuel or ehtanol based reagents and at least 80% of the reagents must so. /obj/item/reagent_containers/glass/rag/proc/can_ignite() var/fuel - if(reagents.get_reagent_amount("fuel")) - fuel += reagents.get_reagent_amount("fuel") + if(reagents.get_reagent_amount(REAGENT_ID_FUEL)) + fuel += reagents.get_reagent_amount(REAGENT_ID_FUEL) else for(var/datum/reagent/ethanol/R in reagents.reagent_list) @@ -184,10 +184,10 @@ return //also copied from matches - if(reagents.get_reagent_amount("phoron")) // the phoron explodes when exposed to fire + if(reagents.get_reagent_amount(REAGENT_ID_PHORON)) // the phoron explodes when exposed to fire visible_message(span_danger("\The [src] conflagrates violently!")) var/datum/effect/effect/system/reagents_explosion/e = new() - e.set_up(round(reagents.get_reagent_amount("phoron") / 2.5, 1), get_turf(src), 0, 0) + e.set_up(round(reagents.get_reagent_amount(REAGENT_ID_PHORON) / 2.5, 1), get_turf(src), 0, 0) e.start() qdel(src) return @@ -231,7 +231,7 @@ qdel(src) return - reagents.remove_reagent("fuel", reagents.maximum_volume/25) + reagents.remove_reagent(REAGENT_ID_FUEL, reagents.maximum_volume/25) for(var/datum/reagent/ethanol/R in reagents.reagent_list) if(istype(R, /datum/reagent/ethanol)) reagents.remove_reagent(R.id, reagents.maximum_volume/25) diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index cd9f84f3d7..33350e6a50 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -78,7 +78,7 @@ var/dat = span_bold("[eftpos_name]") + "
    " dat += "This terminal is [machine_id]. Report this code when contacting IT Support
    " if(transaction_locked) - dat += "Back[transaction_paid ? "" : " (authentication required)"]

    " + dat += "Back[transaction_paid ? "" : " (authentication required)"]

    " dat += "Transaction purpose: [transaction_purpose]
    " dat += "Value: $[transaction_amount]
    " @@ -87,16 +87,16 @@ dat += "This transaction has been processed successfully.
    " else dat += "Swipe your card below the line to finish this transaction.
    " - dat += "\[------\]" + dat += "\[------\]" else - dat += "Lock in new transaction

    " + dat += "Lock in new transaction

    " - dat += "Transaction purpose: [transaction_purpose]
    " - dat += "Value: $[transaction_amount]
    " - dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " - dat += "Change access code
    " - dat += "Change EFTPOS ID
    " - dat += "Scan card to reset access code \[------\]" + dat += "Transaction purpose: [transaction_purpose]
    " + dat += "Value: $[transaction_amount]
    " + dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " + dat += "Change access code
    " + dat += "Change EFTPOS ID
    " + dat += "Scan card to reset access code \[------\]" user << browse(dat,"window=eftpos") else user << browse(null,"window=eftpos") diff --git a/code/modules/economy/cash_register.dm b/code/modules/economy/cash_register.dm index 17b1327ebf..8f2e72c834 100644 --- a/code/modules/economy/cash_register.dm +++ b/code/modules/economy/cash_register.dm @@ -66,14 +66,14 @@ /obj/machinery/cash_register/interact(mob/user as mob) var/dat = "

    Cash Register

    " if (locked) - dat += "Unlock
    " + dat += "Unlock
    " dat += "Linked account: " + span_bold("[linked_account ? linked_account.owner_name : "None"]") + "
    " dat += span_bold("[cash_locked? "Unlock" : "Lock"] Cash Box") + " | " else - dat += "Lock
    " - dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " - dat += "[cash_locked? "Unlock" : "Lock"] Cash Box | " - dat += "Custom Order
    " + dat += "Lock
    " + dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " + dat += "[cash_locked? "Unlock" : "Lock"] Cash Box | " + dat += "Custom Order
    " if(item_list.len) dat += get_current_transaction() @@ -83,7 +83,7 @@ dat += "[transaction_logs[i]]
    " if(transaction_logs.len) - dat += locked ? "
    " : "Reset Log
    " + dat += locked ? "
    " : "Reset Log
    " dat += "
    " dat += "Device ID: [machine_id]" user << browse(dat, "window=cash_register;size=350x500") @@ -397,9 +397,9 @@ var/item_name for(var/i=1, i<=item_list.len, i++) item_name = item_list[i] - dat += "[item_list[item_name] ? "- Set + [item_list[item_name]] x " : ""][item_name] Remove[price_list[item_name] * item_list[item_name]] þ" + dat += "[item_list[item_name] ? "- Set + [item_list[item_name]] x " : ""][item_name] Remove[price_list[item_name] * item_list[item_name]] þ" dat += "" - dat += "" + dat += "" dat += "
    Clear Entry" + span_bold("Total Amount: [transaction_amount] þ") + "
    Clear Entry" + span_bold("Total Amount: [transaction_amount] þ") + "
    " return dat diff --git a/code/modules/economy/mint.dm b/code/modules/economy/mint.dm index 179228a050..55086056be 100644 --- a/code/modules/economy/mint.dm +++ b/code/modules/economy/mint.dm @@ -7,7 +7,7 @@ density = TRUE anchored = TRUE var/coinsToProduce = 6 //how many coins do we make per sheet? a sheet is 2000 units whilst a coin is 250, and some material should be lost in the process - var/list/validMats = list("silver", "gold", "diamond", "iron", "phoron", "uranium") //what's valid stuff to make coins out of? + var/list/validMats = list(MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_IRON, MAT_PHORON, MAT_URANIUM) //what's valid stuff to make coins out of? /obj/machinery/mineral/mint/attackby(obj/item/stack/material/M as obj, mob/user as mob) if(M.default_type in validMats) @@ -16,22 +16,22 @@ icon_state = "coinpress1" if(do_after(user, 2 SECONDS, src)) M.amount-- - if(M.default_type == "silver") + if(M.default_type == MAT_SILVER) while(coinsToProduce-- > 0) new /obj/item/coin/silver(user.loc) - else if(M.default_type == "gold") + else if(M.default_type == MAT_GOLD) while(coinsToProduce-- > 0) new /obj/item/coin/gold(user.loc) - else if(M.default_type == "diamond") + else if(M.default_type == MAT_DIAMOND) while(coinsToProduce-- > 0) new /obj/item/coin/diamond(user.loc) - else if(M.default_type == "iron") + else if(M.default_type == MAT_IRON) while(coinsToProduce-- > 0) new /obj/item/coin/iron(user.loc) - else if(M.default_type == "phoron") + else if(M.default_type == MAT_PHORON) while(coinsToProduce-- > 0) new /obj/item/coin/phoron(user.loc) - else if(M.default_type == "uranium") + else if(M.default_type == MAT_URANIUM) while(coinsToProduce-- > 0) new /obj/item/coin/uranium(user.loc) src.visible_message(span_notice("\The [src] rattles and dispenses several [M.default_type] coins!")) diff --git a/code/modules/economy/money_bag.dm b/code/modules/economy/money_bag.dm index 65bfe9cd6f..bb143f69bb 100644 --- a/code/modules/economy/money_bag.dm +++ b/code/modules/economy/money_bag.dm @@ -32,17 +32,17 @@ var/dat = span_bold("The contents of the moneybag reveal...") + "
    " if (amt_gold) - dat += text("Gold coins: [amt_gold] Remove one
    ") + dat += text("Gold coins: [amt_gold] Remove one
    ") if (amt_silver) - dat += text("Silver coins: [amt_silver] Remove one
    ") + dat += text("Silver coins: [amt_silver] Remove one
    ") if (amt_iron) - dat += text("Metal coins: [amt_iron] Remove one
    ") + dat += text("Metal coins: [amt_iron] Remove one
    ") if (amt_diamond) - dat += text("Diamond coins: [amt_diamond] Remove one
    ") + dat += text("Diamond coins: [amt_diamond] Remove one
    ") if (amt_phoron) - dat += text("Phoron coins: [amt_phoron] Remove one
    ") + dat += text("Phoron coins: [amt_phoron] Remove one
    ") if (amt_uranium) - dat += text("Uranium coins: [amt_uranium] Remove one
    ") + dat += text("Uranium coins: [amt_uranium] Remove one
    ") user << browse("[dat]", "window=moneybag") /obj/item/moneybag/attackby(obj/item/W as obj, mob/user as mob) @@ -67,17 +67,17 @@ if(href_list["remove"]) var/obj/item/coin/COIN switch(href_list["remove"]) - if("gold") + if(MAT_GOLD) COIN = locate(/obj/item/coin/gold,src.contents) - if("silver") + if(MAT_SILVER) COIN = locate(/obj/item/coin/silver,src.contents) - if("iron") + if(MAT_IRON) COIN = locate(/obj/item/coin/iron,src.contents) - if("diamond") + if(MAT_DIAMOND) COIN = locate(/obj/item/coin/diamond,src.contents) - if("phoron") + if(MAT_URANIUM) COIN = locate(/obj/item/coin/phoron,src.contents) - if("uranium") + if(MAT_URANIUM) COIN = locate(/obj/item/coin/uranium,src.contents) if(!COIN) return diff --git a/code/modules/economy/retail_scanner.dm b/code/modules/economy/retail_scanner.dm index 1b981dc679..aa0c245b62 100644 --- a/code/modules/economy/retail_scanner.dm +++ b/code/modules/economy/retail_scanner.dm @@ -64,12 +64,12 @@ /obj/item/retail_scanner/interact(mob/user as mob) var/dat = "

    Retail Scanner

    " if (locked) - dat += "Unlock
    " + dat += "Unlock
    " dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " else - dat += "Lock
    " - dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " - dat += "Custom Order
    " + dat += "Lock
    " + dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
    " + dat += "Custom Order
    " if(item_list.len) dat += get_current_transaction() @@ -79,7 +79,7 @@ dat += "[transaction_logs[i]]
    " if(transaction_logs.len) - dat += locked ? "
    " : "Reset Log
    " + dat += locked ? "
    " : "Reset Log
    " dat += "
    " dat += "Device ID: [machine_id]" user << browse(dat, "window=retail;size=350x500") @@ -333,9 +333,9 @@ var/item_name for(var/i=1, i<=item_list.len, i++) item_name = item_list[i] - dat += "[item_list[item_name] ? "- Set + [item_list[item_name]] x " : ""][item_name] Remove[price_list[item_name] * item_list[item_name]] þ" + dat += "[item_list[item_name] ? "- Set + [item_list[item_name]] x " : ""][item_name] Remove[price_list[item_name] * item_list[item_name]] þ" dat += "" - dat += "" + dat += "" dat += "
    Clear EntryTotal Amount: [transaction_amount] þ
    Clear EntryTotal Amount: [transaction_amount] þ
    " return dat diff --git a/code/modules/economy/trader.dm b/code/modules/economy/trader.dm index bbc1807465..8249250a0a 100644 --- a/code/modules/economy/trader.dm +++ b/code/modules/economy/trader.dm @@ -258,7 +258,7 @@ dir = dt.dir log_admin("[src] has been placed at [loc], [x],[y],[z]") else - log_and_message_admins("[src] tried to move itself but its target pick list was empty, so it was not moved. (JMP)") + log_and_message_admins("[src] tried to move itself but its target pick list was empty, so it was not moved. (JMP)") /obj/move_trader_landmark //You need to place the trader somewhere in the world and enable the 'move_trader' var. When the trader initializes, it will make a list of these landmarks and then move itself. name = "trader mover" diff --git a/code/modules/entrepreneur/entrepreneur_items.dm b/code/modules/entrepreneur/entrepreneur_items.dm index b365089cfb..6ed0fdab16 100644 --- a/code/modules/entrepreneur/entrepreneur_items.dm +++ b/code/modules/entrepreneur/entrepreneur_items.dm @@ -407,7 +407,7 @@ desc = "A small bottle of various plant extracts said to improve upon a person's health as an alternative form of medicine." icon = 'icons/obj/entrepreneur.dmi' icon_state = "oil" - prefill = list("essential_oil" = 60) + prefill = list(REAGENT_ID_ESSENTIALOIL = 60) // Masseuse diff --git a/code/modules/env_message/env_message.dm b/code/modules/env_message/env_message.dm index 69e1364b7b..2ddc3c0afb 100644 --- a/code/modules/env_message/env_message.dm +++ b/code/modules/env_message/env_message.dm @@ -124,7 +124,7 @@ var/global/list/env_messages = list() /client/proc/create_gm_message() set name = "Map Message - Create" set desc = "Create an ooc message in the environment for other players to see." - set category = "EventKit" + set category = "Fun.Event Kit" if(!check_rights(R_FUN)) return @@ -154,7 +154,7 @@ var/global/list/env_messages = list() /client/proc/remove_gm_message() set name = "Map Message - Remove" set desc = "Remove any env/map message." - set category = "EventKit" + set category = "Fun.Event Kit" if(!istype(src) || !src.ckey) return diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index 91bb51eb95..8687e9bd66 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -71,7 +71,7 @@ var/global/datum/ErrorViewer/ErrorCache/error_cache = null back_to_param = ";viewruntime_backto=\ref[back_to]" if(linear) back_to_param += ";viewruntime_linear=1" - return "[html_encode(linktext)]" + return "[html_encode(linktext)]" /datum/ErrorViewer/Topic(href, href_list) if(..()) @@ -183,20 +183,20 @@ var/global/datum/ErrorViewer/ErrorCache/error_cache = null var/html = buildHeader(back_to, linear) html += "
    [html_encode(name)]
    [desc]
    " if(srcRef) - html += "
    src: VV" + html += "
    src: VV" if(ispath(srcType, /mob)) - html += " PP" - html += " Follow" + html += " PP" + html += " Follow" if(istype(srcLoc)) - html += "
    src.loc: VV" - html += " JMP" + html += "
    src.loc: VV" + html += " JMP" if(usrRef) - html += "
    usr: VV" - html += " PP" - html += " Follow" + html += "
    usr: VV" + html += " PP" + html += " Follow" if(istype(usrLoc)) - html += "
    usr.loc: VV" - html += " JMP" + html += "
    usr.loc: VV" + html += " JMP" browseTo(user, html) /datum/ErrorViewer/ErrorEntry/makeLink(var/linktext, var/datum/ErrorViewer/back_to, var/linear) diff --git a/code/modules/eventkit/generic_objects/generic_item.dm b/code/modules/eventkit/generic_objects/generic_item.dm index a3f7e84ec0..fd1b7d9e20 100644 --- a/code/modules/eventkit/generic_objects/generic_item.dm +++ b/code/modules/eventkit/generic_objects/generic_item.dm @@ -90,7 +90,7 @@ return ..() /client/proc/generic_item() - set category = "EventKit" + set category = "Fun.Event Kit" set name = "Spawn Generic Item" set desc = "Spawn a customisable item with a range of different options." diff --git a/code/modules/eventkit/generic_objects/generic_structure.dm b/code/modules/eventkit/generic_objects/generic_structure.dm index 7461079067..83acb8ada0 100644 --- a/code/modules/eventkit/generic_objects/generic_structure.dm +++ b/code/modules/eventkit/generic_objects/generic_structure.dm @@ -108,7 +108,7 @@ anchored = !anchored /client/proc/generic_structure() - set category = "EventKit" + set category = "Fun.Event Kit" set name = "Spawn Generic Structure" set desc = "Spawn a customisable structure with a range of different options." diff --git a/code/modules/events/atmos_leak.dm b/code/modules/events/atmos_leak.dm index 7d08a2e196..b9ca0ca20f 100644 --- a/code/modules/events/atmos_leak.dm +++ b/code/modules/events/atmos_leak.dm @@ -19,11 +19,11 @@ // Decide which area will be targeted! /datum/event/atmos_leak/setup() - var/gas_choices = list("carbon_dioxide", "nitrous_oxide") // Annoying + var/gas_choices = list(GAS_CO2, GAS_N2O) // Annoying if(severity >= EVENT_LEVEL_MODERATE) - gas_choices += "phoron" // Dangerous + gas_choices += GAS_PHORON // Dangerous // if(severity >= EVENT_LEVEL_MAJOR) - // gas_choices += "volatile_fuel" // Dangerous and no default atmos setup! + // gas_choices += GAS_VOLATILE_FUEL // Dangerous and no default atmos setup! gas_type = pick(gas_choices) var/list/area/grand_list_of_areas = get_station_areas(excluded) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 6416a583a0..96e69623dc 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -18,12 +18,12 @@ popup.open() /datum/controller/subsystem/events/proc/GetInteractWindow() - var/html = "Refresh" - html += "Pause All - [CONFIG_GET(flag/allow_random_events) ? "Pause" : "Resume"]" + var/html = "Refresh" + html += "Pause All - [CONFIG_GET(flag/allow_random_events) ? "Pause" : "Resume"]" if(selected_event_container) var/event_time = max(0, selected_event_container.next_event_time - world.time) - html += "Back
    " + html += "Back
    " html += "Time till start: [round(event_time / 600, 0.1)]
    " html += "
    " html += "

    Available [severity_to_string[selected_event_container.severity]] Events (queued & running events will not be displayed)

    " @@ -33,13 +33,13 @@ for(var/datum/event_meta/EM in selected_event_container.available_events) html += "" html += "[EM.name]" - html += "[EM.weight]" + html += "[EM.weight]" html += "[EM.min_weight]" html += "[EM.max_weight]" - html += "[EM.one_shot]" - html += "[EM.enabled]" + html += "[EM.one_shot]" + html += "[EM.enabled]" html += "" + span_alert("[selected_event_container.get_weight(EM, active_with_role)]") + "" - html += "Remove" + html += "Remove" html += "" html += "" html += "
    " @@ -49,16 +49,16 @@ html += "" html += "NameTypeWeightOneShot" html += "" - html += "[new_event.name ? new_event.name : "Enter Event"]" - html += "[new_event.event_type ? new_event.event_type : "Select Type"]" - html += "[new_event.weight ? new_event.weight : 0]" - html += "[new_event.one_shot]" + html += "[new_event.name ? new_event.name : "Enter Event"]" + html += "[new_event.event_type ? new_event.event_type : "Select Type"]" + html += "[new_event.weight ? new_event.weight : 0]" + html += "[new_event.one_shot]" html += "" html += "" - html += "Add
    " + html += "Add
    " html += "" else - html += "Round End Report: [report_at_round_end ? "On": "Off"]
    " + html += "Round End Report: [report_at_round_end ? "On": "Off"]
    " html += "
    " html += "

    Event Start

    " @@ -72,16 +72,16 @@ html += "[worldtime2stationtime(max(EC.next_event_time, world.time))]" html += "[round(next_event_at / 600, 0.1)]" html += "" - html += "--" - html += "-" - html += "+" - html += "++" + html += "--" + html += "-" + html += "+" + html += "++" html += "" html += "" - html += "[EC.delayed ? "Resume" : "Pause"]" + html += "[EC.delayed ? "Resume" : "Pause"]" html += "" html += "" - html += "[EC.delay_modifier]" + html += "[EC.delay_modifier]" html += "" html += "" html += "" @@ -96,9 +96,9 @@ var/datum/event_meta/EM = EC.next_event html += "" html += "[severity_to_string[severity]]" - html += "[EM ? EM.name : "Random"]" - html += "View" - html += "Clear" + html += "[EM ? EM.name : "Random"]" + html += "View" + html += "Clear" html += "" html += "" html += "
    " @@ -119,7 +119,7 @@ html += "[EM.name]" html += "[worldtime2stationtime(ends_at)]" html += "[ends_in]" - html += "Stop" + html += "Stop" html += "" html += "" html += "" diff --git a/code/modules/events/spontaneous_appendicitis.dm b/code/modules/events/spontaneous_appendicitis.dm index 2009e17467..7052a2a9b5 100644 --- a/code/modules/events/spontaneous_appendicitis.dm +++ b/code/modules/events/spontaneous_appendicitis.dm @@ -1,4 +1,13 @@ /datum/event/spontaneous_appendicitis/start() for(var/mob/living/carbon/human/H in shuffle(living_mob_list)) + var/area/A = get_area(H) + if(!A) + continue + if(!(A.z in using_map.station_levels)) + continue + if(A.flag_check(AREA_FORBID_EVENTS)) + continue + if(isbelly(H.loc)) + continue if(H.client && H.appendicitis()) break diff --git a/code/modules/events/spontaneous_appendicitis_vr.dm b/code/modules/events/spontaneous_appendicitis_vr.dm deleted file mode 100644 index 0d5cf212e9..0000000000 --- a/code/modules/events/spontaneous_appendicitis_vr.dm +++ /dev/null @@ -1,13 +0,0 @@ -/datum/event/spontaneous_appendicitis/vorestation/start() - for(var/mob/living/carbon/human/H in shuffle(living_mob_list)) - var/area/A = get_area(H) - if(!A) - continue - if(!(A.z in using_map.station_levels)) - continue - if(A.flag_check(RAD_SHIELDED)) - continue - if(isbelly(H.loc)) - continue - if(H.client && H.appendicitis()) - break diff --git a/code/modules/events/supply_demand_vr.dm b/code/modules/events/supply_demand_vr.dm index 5520f5502b..ff1b1978a0 100644 --- a/code/modules/events/supply_demand_vr.dm +++ b/code/modules/events/supply_demand_vr.dm @@ -315,7 +315,7 @@ var/datum/gas_mixture/mixture = new mixture.temperature = T20C var/unpickedTypes = gas_data.gases.Copy() - unpickedTypes -= "volatile_fuel" // Don't do that one + unpickedTypes -= GAS_VOLATILE_FUEL // Don't do that one for(var/i in 1 to differentTypes) var/gasId = pick(unpickedTypes) unpickedTypes -= gasId diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm index 6806fa7494..e7aae83bc5 100644 --- a/code/modules/events/viral_infection.dm +++ b/code/modules/events/viral_infection.dm @@ -58,7 +58,7 @@ var/global/list/event_viruses = list() // so that event viruses are kept around var/list/used_viruses_links = list() var/list/used_viruses_text = list() for(var/datum/disease2/disease/D in used_viruses) - used_viruses_links += "[D.name()]" + used_viruses_links += "[D.name()]" used_viruses_text += D.name() var/list/used_candidates_links = list() diff --git a/code/modules/examine/descriptions/telecomms.dm b/code/modules/examine/descriptions/telecomms.dm index 9096a6b1a4..7e86084daf 100644 --- a/code/modules/examine/descriptions/telecomms.dm +++ b/code/modules/examine/descriptions/telecomms.dm @@ -11,7 +11,7 @@ Internet (sometimes referred to as the InterPlaNet), which was conceived and developed due to the limitations of the terrestrial Internet, mainly because \ the IP protocol was unsuitable for long range communications in space, due to the massive delays associated with lightspeed being unable to overcome \ the massive distances between planets in a timely manner. It was a store-and-forward network of smaller internets, distributed between various nodes, \ - and was designed to be error, fault, and delay tolerant. The first nodes were put into space around the time when colonization had begun, to service humanitys \ + and was designed to be error, fault, and delay tolerant. The first nodes were put into space around the time when colonization had begun, to service humanity's \ close holdings, such as Luna and Mars.
    \
    \ By 2104, the Interplanetary Internet had coverage within most of Sol, but the network of networks were limited by the speed of light, and due \ @@ -33,4 +33,4 @@ This node is privately owned and maintained by NanoTrasen, and allows the crew of the station to have access to the Exonet." description_antag = "An EMP will disable this device for a short period of time. A longer downage can be achieved by turning it off, or rigging \ - the APC it uses to turn off remotely, such as with a signaler in the right wire." \ No newline at end of file + the APC it uses to turn off remotely, such as with a signaler in the right wire." diff --git a/code/modules/fishing/fishing_net.dm b/code/modules/fishing/fishing_net.dm index da46ae0e3c..63c35ec843 100644 --- a/code/modules/fishing/fishing_net.dm +++ b/code/modules/fishing/fishing_net.dm @@ -18,7 +18,7 @@ reach = 2 - default_material = "cloth" + default_material = MAT_CLOTH var/list/accepted_mobs = list(/mob/living/simple_mob/animal/passive/fish) @@ -125,7 +125,7 @@ reach = 1 - default_material = "cloth" + default_material = MAT_CLOTH accepted_mobs = list(/mob/living/simple_mob/animal/sif/glitterfly, /mob/living/carbon/human) diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 6c3d6161d5..f741d6b888 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -17,7 +17,7 @@ attack_verb = list("whipped", "battered", "slapped", "fished", "hooked") hitsound = 'sound/weapons/punchmiss.ogg' applies_material_colour = TRUE - default_material = "wood" + default_material = MAT_WOOD can_dull = FALSE var/strung = TRUE var/line_break = TRUE @@ -87,7 +87,7 @@ if(istype(Bait, bait_type)) var/foodvolume for(var/datum/reagent/re in Bait.reagents.reagent_list) - if(re.id == "nutriment" || re.id == "protein" || re.id == "glucose" || re.id == "fishbait") + if(re.id == REAGENT_ID_NUTRIMENT || re.id == REAGENT_ID_PROTEIN || re.id == REAGENT_ID_GLUCOSE || re.id == REAGENT_ID_FISHBAIT) foodvolume += re.volume toolspeed = initial(toolspeed) * 10*(0.01/(0.2*(foodvolume/Bait.reagents.maximum_volume + 0.5))) //VOREStation edit: gives fishing a universal formula because Polaris' doesn't work here. Min value of 1, max value of 1/3, 0.5 at 1/2 filled with bait reagents. @@ -116,7 +116,7 @@ item_state = "fishing_rod" reach = 4 attackspeed = 2 SECONDS - default_material = "titanium" + default_material = MAT_TITANIUM toolspeed = 0.75 @@ -126,6 +126,6 @@ /obj/item/material/fishing_rod/modern/cheap //A rod sold by the fishing vendor. Done so that the rod sold by mining reward vendors doesn't loose its value. name = "cheap fishing rod" desc = "Mass produced, but somewhat reliable." - default_material = "plastic" + default_material = MAT_PLASTIC toolspeed = 0.9 diff --git a/code/modules/fishing/fishing_rod_vr.dm b/code/modules/fishing/fishing_rod_vr.dm index e10a1069a1..1fdaf07074 100644 --- a/code/modules/fishing/fishing_rod_vr.dm +++ b/code/modules/fishing/fishing_rod_vr.dm @@ -1,5 +1,5 @@ /obj/item/material/fishing_rod/modern/strong desc = "A extremely refined rod for catching fish." - default_material = "durasteel" + default_material = MAT_DURASTEEL - toolspeed = 0.5 \ No newline at end of file + toolspeed = 0.5 diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 24a297954f..dd715d4b21 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -3,7 +3,7 @@ var/list/dreams = list( "an ID card","a bottle","a familiar face","a crewmember","a toolbox","a " + JOB_SECURITY_OFFICER,"the " + JOB_SITE_MANAGER, "voices from all around","deep space","a doctor","the engine","a traitor","an ally","darkness", "light","a scientist","a monkey","a catastrophe","a loved one","a gun","warmth","freezing","the sun", - "a hat","the Luna","a ruined station","a planet","phoron","air","the medical bay","the bridge","blinking lights", + "a hat","the Luna","a ruined station","a planet",GAS_PHORON,"air","the medical bay","the bridge","blinking lights", "a blue light","an abandoned laboratory","NanoTrasen","mercenaries","blood","healing","power","respect", "riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying","the eggs","money", "the " + JOB_HEAD_OF_PERSONNEL,"the " + JOB_HEAD_OF_SECURITY,"the " + JOB_CHIEF_ENGINEER,"the " + JOB_RESEARCH_DIRECTOR,"the " + JOB_CHIEF_MEDICAL_OFFICER, diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index cbf879c03d..af6d407639 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -204,7 +204,7 @@ Gunshots/explosions/opening doors/less rare audio (done) var/button_txt = pick(possible_txt) - mocktxt += "[button_txt]
    " + mocktxt += "[button_txt]
    " buttons -= button possible_txt -= button_txt diff --git a/code/modules/food/drinkingglass/drinkingglass.dm b/code/modules/food/drinkingglass/drinkingglass.dm index 2e5b5035dd..cb9f4ffb8b 100644 --- a/code/modules/food/drinkingglass/drinkingglass.dm +++ b/code/modules/food/drinkingglass/drinkingglass.dm @@ -45,8 +45,8 @@ /obj/item/reagent_containers/food/drinks/glass2/proc/has_ice() if(reagents.reagent_list.len > 0) var/datum/reagent/R = reagents.get_master_reagent() - if(!((R.id == "ice") || ("ice" in R.glass_special))) // if it's not a cup of ice, and it's not already supposed to have ice in, see if the bartender's put ice in it - if(reagents.has_reagent("ice", reagents.total_volume / 10)) // 10% ice by volume + if(!((R.id == REAGENT_ID_ICE) || (REAGENT_ID_ICE in R.glass_special))) // if it's not a cup of ice, and it's not already supposed to have ice in, see if the bartender's put ice in it + if(reagents.has_reagent(REAGENT_ID_ICE, reagents.total_volume / 10)) // 10% ice by volume return 1 return 0 diff --git a/code/modules/food/drinkingglass/extras.dm b/code/modules/food/drinkingglass/extras.dm index afcd7044a3..501b00fe76 100644 --- a/code/modules/food/drinkingglass/extras.dm +++ b/code/modules/food/drinkingglass/extras.dm @@ -75,7 +75,7 @@ if(ismob(target) && proximity_flag) // Clicked protean blob if(istype(target, /mob/living/simple_mob/protean_blob)) - sipp_mob(target, user, "liquid_protean") + sipp_mob(target, user, REAGENT_ID_LIQUIDPROTEAN) return // Clicked humanoid else if(ishuman(target)) @@ -83,14 +83,14 @@ var/speciesname = H.species?.name switch(speciesname) if(SPECIES_PROTEAN) - sipp_mob(target, user, "liquid_protean") + sipp_mob(target, user, REAGENT_ID_LIQUIDPROTEAN) return if(SPECIES_PROMETHEAN) - sipp_mob(target, user, "nutriment") + sipp_mob(target, user, REAGENT_ID_NUTRIMENT) return return ..() -/obj/item/glass_extra/straw/proc/sipp_mob(mob/living/victim, mob/user, reagent_type = "nutriment") +/obj/item/glass_extra/straw/proc/sipp_mob(mob/living/victim, mob/user, reagent_type = REAGENT_ID_NUTRIMENT) if(victim.health <= 0) to_chat(user, span_warning("There's not enough of [victim] left to sip on!")) return diff --git a/code/modules/food/drinkingglass/glass_boxes.dm b/code/modules/food/drinkingglass/glass_boxes.dm index 978f964bd7..f618e9bc69 100644 --- a/code/modules/food/drinkingglass/glass_boxes.dm +++ b/code/modules/food/drinkingglass/glass_boxes.dm @@ -18,7 +18,11 @@ /obj/item/storage/box/glasses name = "box of glasses" - can_hold = list(/obj/item/reagent_containers/food/drinks/glass2) + can_hold = list(/obj/item/reagent_containers/food/drinks/glass2, + /obj/item/reagent_containers/food/drinks/cup, + /obj/item/reagent_containers/food/drinks/tall, + /obj/item/reagent_containers/food/drinks/grande, + /obj/item/reagent_containers/food/drinks/venti) starts_with = list(/obj/item/reagent_containers/food/drinks/glass2 = 7) /obj/item/storage/box/glasses/square diff --git a/code/modules/food/drinkingglass/metaglass_vr.dm b/code/modules/food/drinkingglass/metaglass_vr.dm index ebaf4670e6..579a0cea87 100644 --- a/code/modules/food/drinkingglass/metaglass_vr.dm +++ b/code/modules/food/drinkingglass/metaglass_vr.dm @@ -241,5 +241,5 @@ glass_icon_file = 'icons/obj/drinks_vr.dmi' /datum/reagent/ethanol/manager_summoner - glass_icon_state = "manager_summoner" + glass_icon_state = REAGENT_ID_MANAGERSUMMONER glass_icon_file = 'icons/obj/drinks_vr.dmi' diff --git a/code/modules/food/drinkingglass/shaker.dm b/code/modules/food/drinkingglass/shaker.dm index 8d9ff65249..4ed66b69f5 100644 --- a/code/modules/food/drinkingglass/shaker.dm +++ b/code/modules/food/drinkingglass/shaker.dm @@ -32,10 +32,10 @@ /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake/Initialize() . = ..() cut_overlays() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("iron", 10) - reagents.add_reagent("protein", 35) - reagents.add_reagent("water", 25) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 30) + reagents.add_reagent(REAGENT_ID_IRON, 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 35) + reagents.add_reagent(REAGENT_ID_WATER, 25) /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteinshake/update_icon() - return \ No newline at end of file + return diff --git a/code/modules/food/drinkingglass/shaker_vr.dm b/code/modules/food/drinkingglass/shaker_vr.dm index 2bc6528b38..4d2782a877 100644 --- a/code/modules/food/drinkingglass/shaker_vr.dm +++ b/code/modules/food/drinkingglass/shaker_vr.dm @@ -8,8 +8,8 @@ /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteanshake/Initialize() . = ..() cut_overlays() - reagents.add_reagent("liquid_protean", 50) - reagents.add_reagent("nutriment", 50) + reagents.add_reagent(REAGENT_ID_LIQUIDPROTEAN, 50) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 50) /obj/item/reagent_containers/food/drinks/glass2/fitnessflask/proteanshake/update_icon() - return \ No newline at end of file + return diff --git a/code/modules/food/food/cans.dm b/code/modules/food/food/cans.dm index 4a175222a5..c6799bb3a5 100644 --- a/code/modules/food/food/cans.dm +++ b/code/modules/food/food/cans.dm @@ -17,7 +17,7 @@ /obj/item/reagent_containers/food/drinks/cans/cola/Initialize() . = ..() - reagents.add_reagent("cola", 30) + reagents.add_reagent(REAGENT_ID_COLA, 30) /obj/item/reagent_containers/food/drinks/cans/decaf_cola name = "\improper Space Cola Free" @@ -28,7 +28,7 @@ /obj/item/reagent_containers/food/drinks/cans/decaf_cola/Initialize() . = ..() - reagents.add_reagent("decafcola", 30) + reagents.add_reagent(REAGENT_ID_DECAFCOLA, 30) /obj/item/reagent_containers/food/drinks/cans/waterbottle name = "bottled water" @@ -41,7 +41,7 @@ /obj/item/reagent_containers/food/drinks/cans/waterbottle/Initialize() . = ..() - reagents.add_reagent("water", 30) + reagents.add_reagent(REAGENT_ID_WATER, 30) /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind name = "\improper Space Mountain Wind" @@ -52,7 +52,7 @@ /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind/Initialize() . = ..() - reagents.add_reagent("spacemountainwind", 30) + reagents.add_reagent(REAGENT_ID_SPACEMOUNTAINWIND, 30) /obj/item/reagent_containers/food/drinks/cans/thirteenloko name = "\improper Thirteen Loko" @@ -62,7 +62,7 @@ /obj/item/reagent_containers/food/drinks/cans/thirteenloko/Initialize() . = ..() - reagents.add_reagent("thirteenloko", 30) + reagents.add_reagent(REAGENT_ID_THIRTEENLOKO, 30) /obj/item/reagent_containers/food/drinks/cans/dr_gibb name = "\improper Dr. Gibb" @@ -73,7 +73,7 @@ /obj/item/reagent_containers/food/drinks/cans/dr_gibb/Initialize() ..() - reagents.add_reagent("dr_gibb", 30) + reagents.add_reagent(REAGENT_ID_DRGIBB, 30) /obj/item/reagent_containers/food/drinks/cans/dr_gibb_diet name = "\improper Diet Dr. Gibb" @@ -84,7 +84,7 @@ /obj/item/reagent_containers/food/drinks/cans/dr_gibb_diet/Initialize() ..() - reagents.add_reagent("diet_dr_gibb", 30) + reagents.add_reagent(REAGENT_ID_DIETDRGIBB, 30) /obj/item/reagent_containers/food/drinks/cans/starkist name = "\improper Star-kist" @@ -95,7 +95,7 @@ /obj/item/reagent_containers/food/drinks/cans/starkist/Initialize() . = ..() - reagents.add_reagent("brownstar", 30) + reagents.add_reagent(REAGENT_ID_BROWNSTAR, 30) /obj/item/reagent_containers/food/drinks/cans/starkistdecaf name = "\improper Star-kist Classic" @@ -106,7 +106,7 @@ /obj/item/reagent_containers/food/drinks/cans/starkistdecaf/Initialize() . = ..() - reagents.add_reagent("brownstar_decaf", 30) + reagents.add_reagent(REAGENT_ID_BROWNSTARDECAF, 30) /obj/item/reagent_containers/food/drinks/cans/space_up name = "\improper Space-Up" @@ -117,7 +117,7 @@ /obj/item/reagent_containers/food/drinks/cans/space_up/Initialize() . = ..() - reagents.add_reagent("space_up", 30) + reagents.add_reagent(REAGENT_ID_SPACEUP, 30) /obj/item/reagent_containers/food/drinks/cans/lemon_lime name = "\improper Lemon-Lime" @@ -128,7 +128,7 @@ /obj/item/reagent_containers/food/drinks/cans/lemon_lime/Initialize() . = ..() - reagents.add_reagent("lemon_lime", 30) + reagents.add_reagent(REAGENT_ID_LEMONLIME, 30) /obj/item/reagent_containers/food/drinks/cans/iced_tea name = "\improper Vrisk Serket Iced Tea" @@ -139,7 +139,7 @@ /obj/item/reagent_containers/food/drinks/cans/iced_tea/Initialize() . = ..() - reagents.add_reagent("icetea", 30) + reagents.add_reagent(REAGENT_ID_ICETEA, 30) /obj/item/reagent_containers/food/drinks/cans/grape_juice name = "\improper Grapel Juice" @@ -150,7 +150,7 @@ /obj/item/reagent_containers/food/drinks/cans/grape_juice/Initialize() . = ..() - reagents.add_reagent("grapejuice", 30) + reagents.add_reagent(REAGENT_ID_GRAPEJUICE, 30) /obj/item/reagent_containers/food/drinks/cans/tonic name = "\improper T-Borg's Tonic Water" @@ -161,7 +161,7 @@ /obj/item/reagent_containers/food/drinks/cans/tonic/Initialize() . = ..() - reagents.add_reagent("tonic", 30) + reagents.add_reagent(REAGENT_ID_TONIC, 30) /obj/item/reagent_containers/food/drinks/cans/sodawater name = "soda water" @@ -171,7 +171,7 @@ /obj/item/reagent_containers/food/drinks/cans/sodawater/Initialize() . = ..() - reagents.add_reagent("sodawater", 30) + reagents.add_reagent(REAGENT_ID_SODAWATER, 30) /obj/item/reagent_containers/food/drinks/cans/gingerale name = "\improper Classic Ginger Ale" @@ -182,7 +182,7 @@ /obj/item/reagent_containers/food/drinks/cans/gingerale/Initialize() . = ..() - reagents.add_reagent("gingerale", 30) + reagents.add_reagent(REAGENT_ID_GINGERALE, 30) /obj/item/reagent_containers/food/drinks/cans/root_beer name = "\improper R&D Root Beer" @@ -193,7 +193,7 @@ /obj/item/reagent_containers/food/drinks/cans/root_beer/Initialize() . = ..() - reagents.add_reagent("rootbeer", 30) + reagents.add_reagent(REAGENT_ID_ROOTBEER, 30) /////////////////////////BODA VENDOR DRINKS///////////////////////// @@ -206,7 +206,7 @@ /obj/item/reagent_containers/food/drinks/cans/kvass/Initialize() . = ..() - reagents.add_reagent("kvass", 30) + reagents.add_reagent(REAGENT_ID_KVASS, 30) /obj/item/reagent_containers/food/drinks/cans/kompot name = "\improper Kompot" @@ -217,7 +217,7 @@ /obj/item/reagent_containers/food/drinks/cans/kompot/Initialize() . = ..() - reagents.add_reagent("kompot", 30) + reagents.add_reagent(REAGENT_ID_KOMPOT, 30) /obj/item/reagent_containers/food/drinks/cans/boda name = "\improper Boda" @@ -227,7 +227,7 @@ /obj/item/reagent_containers/food/drinks/cans/boda/Initialize() . = ..() - reagents.add_reagent("sodawater", 30) + reagents.add_reagent(REAGENT_ID_SODAWATER, 30) /obj/item/reagent_containers/food/drinks/cans/bodaplus name = "\improper Boda-Plyus" @@ -237,16 +237,16 @@ /obj/item/reagent_containers/food/drinks/cans/bodaplus/Initialize() . = ..() - reagents.add_reagent("sodawater", 15) + reagents.add_reagent(REAGENT_ID_SODAWATER, 15) reagents.add_reagent(pick(list( - "applejuice", - "grapejuice", - "lemonjuice", - "limejuice", - "watermelonjuice", - "banana", - "berryjuice", - "pineapplejuice")), 15) + REAGENT_ID_APPLEJUICE, + REAGENT_ID_GRAPEJUICE, + REAGENT_ID_LEMONJUICE, + REAGENT_ID_LIMEJUICE, + REAGENT_ID_WATERMELONJUICE, + REAGENT_ID_BANANA, + REAGENT_ID_BERRYJUICE, + REAGENT_ID_PINEAPPLEJUICE)), 15) /obj/item/reagent_containers/food/drinks/cans/redarmy name = "\improper Red Army Twist" @@ -256,8 +256,8 @@ /obj/item/reagent_containers/food/drinks/cans/redarmy/Initialize() . = ..() - reagents.add_reagent("potatojuice", 15) - reagents.add_reagent("sodawater", 15) + reagents.add_reagent(REAGENT_ID_POTATOJUICE, 15) + reagents.add_reagent(REAGENT_ID_SODAWATER, 15) /obj/item/reagent_containers/food/drinks/cans/arstbru name = "\improper Arstotzka Brü" @@ -267,7 +267,7 @@ /obj/item/reagent_containers/food/drinks/cans/arstbru/Initialize() . = ..() - reagents.add_reagent("turnipjuice", 30) + reagents.add_reagent(REAGENT_ID_TURNIPJUICE, 30) /obj/item/reagent_containers/food/drinks/cans/terra_cola name = "\improper Terra-Cola" @@ -278,8 +278,8 @@ /obj/item/reagent_containers/food/drinks/cans/terra_cola/Initialize() . = ..() - reagents.add_reagent("water", 25) - reagents.add_reagent("iron", 5) + reagents.add_reagent(REAGENT_ID_WATER, 25) + reagents.add_reagent(REAGENT_ID_IRON, 5) /////////////////////////MISC VENDOR DRINKS///////////////////////// @@ -291,7 +291,7 @@ /obj/item/reagent_containers/food/drinks/cans/straw_cola/Initialize() . = ..() - reagents.add_reagent("strawsoda", 30) + reagents.add_reagent(REAGENT_ID_STRAWSODA, 30) /obj/item/reagent_containers/food/drinks/cans/apple_cola name = "\improper Andromeda Apple" @@ -301,7 +301,7 @@ /obj/item/reagent_containers/food/drinks/cans/apple_cola/Initialize() . = ..() - reagents.add_reagent("applesoda", 30) + reagents.add_reagent(REAGENT_ID_APPLESODA, 30) /obj/item/reagent_containers/food/drinks/cans/lemon_cola name = "\improper Lunar Lemon" @@ -311,7 +311,7 @@ /obj/item/reagent_containers/food/drinks/cans/lemon_cola/Initialize() . = ..() - reagents.add_reagent("lemonsoda", 30) + reagents.add_reagent(REAGENT_ID_LEMONSODA, 30) /obj/item/reagent_containers/food/drinks/cans/sarsaparilla name = "\improper Starship Sarsaparilla" @@ -321,7 +321,7 @@ /obj/item/reagent_containers/food/drinks/cans/sarsaparilla/Initialize() . = ..() - reagents.add_reagent("sarsaparilla", 30) + reagents.add_reagent(REAGENT_ID_SARSAPARILLA, 30) /obj/item/reagent_containers/food/drinks/cans/grape_cola name = "\improper Gravity Grape" @@ -331,7 +331,7 @@ /obj/item/reagent_containers/food/drinks/cans/grape_cola/Initialize() . = ..() - reagents.add_reagent("grapesoda", 30) + reagents.add_reagent(REAGENT_ID_GRAPESODA, 30) /obj/item/reagent_containers/food/drinks/cans/orange_cola name = "\improper Orion Orange" @@ -341,7 +341,7 @@ /obj/item/reagent_containers/food/drinks/cans/orange_cola/Initialize() . = ..() - reagents.add_reagent("orangesoda", 30) + reagents.add_reagent(REAGENT_ID_ORANGESODA, 30) /obj/item/reagent_containers/food/drinks/cans/baconsoda name = "\improper Bacon Soda" @@ -351,7 +351,7 @@ /obj/item/reagent_containers/food/drinks/cans/baconsoda/Initialize() . = ..() - reagents.add_reagent("porksoda", 30) + reagents.add_reagent(REAGENT_ID_PORKSODA, 30) /obj/item/reagent_containers/food/drinks/cans/bepis name = "\improper Bepis" @@ -365,7 +365,7 @@ /obj/item/reagent_containers/food/drinks/cans/bepis/Initialize() . = ..() - reagents.add_reagent("bepis", 30) + reagents.add_reagent(REAGENT_ID_BEPIS, 30) /obj/item/reagent_containers/food/drinks/cans/astrodew name = "\improper Astro Dew Spring Water" @@ -376,7 +376,7 @@ /obj/item/reagent_containers/food/drinks/cans/astrodew/Initialize() . = ..() - reagents.add_reagent("water", 30) + reagents.add_reagent(REAGENT_ID_WATER, 30) /obj/item/reagent_containers/food/drinks/cans/icecoffee name = "\improper Café Del Consumir" @@ -392,7 +392,7 @@ /obj/item/reagent_containers/food/drinks/cans/icecoffee/Initialize() . = ..() - reagents.add_reagent("icecoffee", 30) + reagents.add_reagent(REAGENT_ID_ICECOFFEE, 30) /obj/item/reagent_containers/food/drinks/cans/buzz name = "\improper Buzz Fuzz" @@ -403,7 +403,7 @@ /obj/item/reagent_containers/food/drinks/cans/buzz/Initialize() . = ..() - reagents.add_reagent("buzz_fuzz", 30) + reagents.add_reagent(REAGENT_ID_BUZZFUZZ, 30) /obj/item/reagent_containers/food/drinks/cans/shambler name = "\improper Shambler's Juice" @@ -414,7 +414,7 @@ /obj/item/reagent_containers/food/drinks/cans/shambler/Initialize() . = ..() - reagents.add_reagent("shamblers", 30) + reagents.add_reagent(REAGENT_ID_SHAMBLERS, 30) /obj/item/reagent_containers/food/drinks/cans/cranberry name = "\improper Sprited Cranberry" @@ -425,7 +425,7 @@ /obj/item/reagent_containers/food/drinks/cans/cranberry/Initialize() . = ..() - reagents.add_reagent("sprited_cranberry", 30) + reagents.add_reagent(REAGENT_ID_SPRITEDCRANBERRY, 30) /////////////////////////CANNED BOOZE DRINKS///////////////////////// @@ -437,7 +437,7 @@ /obj/item/reagent_containers/food/drinks/cans/beercan/Initialize() . = ..() - reagents.add_reagent("beer", 30) + reagents.add_reagent(REAGENT_ID_BEER, 30) /obj/item/reagent_containers/food/drinks/cans/alecan name = "\improper Spacecastle Pale Ale" @@ -447,7 +447,7 @@ /obj/item/reagent_containers/food/drinks/cans/alecan/Initialize() . = ..() - reagents.add_reagent("ale", 30) + reagents.add_reagent(REAGENT_ID_ALE, 30) /////////////////////////ENERGY DRINKS///////////////////////// @@ -460,7 +460,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_peach/Initialize() . = ..() - reagents.add_reagent("nukie_peach", 60) + reagents.add_reagent(REAGENT_ID_NUKIEPEACH, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_pear name = "\improper Nukies - Great Pear" @@ -471,7 +471,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_pear/Initialize() . = ..() - reagents.add_reagent("nukie_pear", 60) + reagents.add_reagent(REAGENT_ID_NUKIEPEAR, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_cherry name = "\improper Nukies - Popping Cherry" @@ -482,7 +482,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_cherry/Initialize() . = ..() - reagents.add_reagent("nukie_cherry", 60) + reagents.add_reagent(REAGENT_ID_NUKIECHERRY, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_melon name = "\improper Nukies - Melon Squirter" @@ -493,7 +493,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_melon/Initialize() . = ..() - reagents.add_reagent("nukie_melon", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMELON, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_banana name = "\improper Nukies - Bursting Banana" @@ -504,7 +504,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_banana/Initialize() . = ..() - reagents.add_reagent("nukie_banana", 60) + reagents.add_reagent(REAGENT_ID_NUKIEBANANA, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_rose name = "\improper Nukies - Insatiable Rose" @@ -515,7 +515,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_rose/Initialize() . = ..() - reagents.add_reagent("nukie_rose", 60) + reagents.add_reagent(REAGENT_ID_NUKIEROSE, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_lemon name = "\improper Nukies - Citrus Got Real" @@ -526,7 +526,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_lemon/Initialize() . = ..() - reagents.add_reagent("nukie_lemon", 60) + reagents.add_reagent(REAGENT_ID_NUKIELEMON, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_fruit name = "\improper Nukies - Swelling Fruit" @@ -537,7 +537,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_fruit/Initialize() . = ..() - reagents.add_reagent("nukie_fruit", 60) + reagents.add_reagent(REAGENT_ID_NUKIEFRUIT, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_special name = "\improper Nukies - Limited Edition" @@ -548,7 +548,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_special/Initialize() . = ..() - reagents.add_reagent("nukie_special", 60) + reagents.add_reagent(REAGENT_ID_NUKIESPECIAL, 60) /////////////////////////MEGA NUKIES///////////////////////// //Rare loot energy drinks with special properties, for the funnies. @@ -562,7 +562,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_sight/Initialize() . = ..() - reagents.add_reagent("nukie_mega_sight", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGASIGHT, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_heart name = "\improper Nukies Mega - Juice Pumper" @@ -573,7 +573,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_heart/Initialize() . = ..() - reagents.add_reagent("nukie_mega_heart", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGAHEART, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_sleep name = "\improper Nukies Nega - Vibrating Nights" @@ -584,7 +584,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_sleep/Initialize() . = ..() - reagents.add_reagent("nukie_mega_sleep", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGASLEEP, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_shock name = "\improper Nukies Mega - Jolt Railer" @@ -595,7 +595,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_shock/Initialize() . = ..() - reagents.add_reagent("nukie_mega_shock", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGASHOCK, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_fast name = "\improper Nukies Mega - Rapid Rager" @@ -606,7 +606,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_fast/Initialize() . = ..() - reagents.add_reagent("nukie_mega_fast", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGAFAST, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_high name = "\improper Nukies Mega - Diamond Sky" @@ -617,7 +617,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_high/Initialize() . = ..() - reagents.add_reagent("nukie_mega_high", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGAHIGH, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_shrink name = "\improper Nukies Mega - Shrinking Flower" @@ -628,7 +628,7 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_shrink/Initialize() . = ..() - reagents.add_reagent("nukie_mega_shrink", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGASHRINK, 60) /obj/item/reagent_containers/food/drinks/cans/nukie_mega_grow name = "\improper Nukies Mega - Growing Geyser" @@ -639,4 +639,4 @@ /obj/item/reagent_containers/food/drinks/cans/nukie_mega_grow/Initialize() . = ..() - reagents.add_reagent("nukie_mega_growth", 60) + reagents.add_reagent(REAGENT_ID_NUKIEMEGAGROWTH, 60) diff --git a/code/modules/food/food/condiment.dm b/code/modules/food/food/condiment.dm index 0eb6cb0408..419443ffcf 100644 --- a/code/modules/food/food/condiment.dm +++ b/code/modules/food/food/condiment.dm @@ -56,87 +56,87 @@ /obj/item/reagent_containers/food/condiment/on_reagent_change() if(reagents.reagent_list.len > 0) switch(reagents.get_master_reagent_id()) - if("ketchup") - name = "Ketchup" + if(REAGENT_ID_KETCHUP) + name = REAGENT_KETCHUP desc = "You feel more American already." icon_state = "ketchup" center_of_mass = list("x"=16, "y"=6) - if("mustard") - name = "Mustard" + if(REAGENT_ID_MUSTARD) + name = REAGENT_MUSTARD desc = "A somewhat bitter topping." icon_state = "mustard" center_of_mass = list("x"=16, "y"=6) - if("capsaicin") + if(REAGENT_ID_CAPSAICIN) name = "Hotsauce" desc = "You can almost TASTE the stomach ulcers now!" icon_state = "hotsauce" center_of_mass = list("x"=16, "y"=6) - if("enzyme") - name = "Universal Enzyme" + if(REAGENT_ID_ENZYME) + name = REAGENT_ENZYME desc = "Used in cooking various dishes." icon_state = "enzyme" center_of_mass = list("x"=16, "y"=6) - if("soysauce") - name = "Soy Sauce" + if(REAGENT_ID_SOYSAUCE) + name = REAGENT_SOYSAUCE desc = "A salty soy-based flavoring." icon_state = "soysauce" center_of_mass = list("x"=16, "y"=6) - if("vinegar") - name = "Vinegar" + if(REAGENT_ID_VINEGAR) + name = REAGENT_VINEGAR desc = "An acetic acid used in various dishes." icon_state = "vinegar" center_of_mass = list("x"=16, "y"=6) - if("frostoil") + if(REAGENT_ID_FROSTOIL) name = "Coldsauce" desc = "Leaves the tongue numb in its passage." icon_state = "coldsauce" center_of_mass = list("x"=16, "y"=6) - if("sodiumchloride") + if(REAGENT_ID_SODIUMCHLORIDE) name = "Salt Shaker" desc = "Salt. From space oceans, presumably." icon_state = "saltshaker" center_of_mass = list("x"=17, "y"=11) - if("blackpepper") + if(REAGENT_ID_BLACKPEPPER) name = "Pepper Mill" desc = "Often used to flavor food or make people sneeze." icon_state = "peppermillsmall" center_of_mass = list("x"=17, "y"=11) - if("cookingoil") - name = "Cooking Oil" + if(REAGENT_ID_COOKINGOIL) + name = REAGENT_COOKINGOIL desc = "A delicious oil used in cooking. General purpose." icon_state = "oliveoil" center_of_mass = list("x"=16, "y"=6) - if("sugar") - name = "Sugar" + if(REAGENT_ID_SUGAR) + name = REAGENT_SUGAR desc = "Tastey space sugar!" center_of_mass = list("x"=16, "y"=6) - if("peanutbutter") - name = "Peanut Butter" + if(REAGENT_ID_PEANUTBUTTER) + name = REAGENT_PEANUTBUTTER desc = "A jar of smooth peanut butter." icon_state = "peanutbutter" center_of_mass = list("x"=16, "y"=6) - if("mayo") - name = "Mayonnaise" + if(REAGENT_ID_MAYO) + name = REAGENT_MAYO desc = "A jar of mayonnaise!" icon_state = "mayo" center_of_mass = list("x"=16, "y"=6) - if("yeast") - name = "Yeast" + if(REAGENT_ID_YEAST) + name = REAGENT_YEAST desc = "This is what you use to make bread fluffy." icon_state = "yeast" center_of_mass = list("x"=16, "y"=6) - if("spacespice") + if(REAGENT_ID_SPACESPICE) name = "bottle of space spice" desc = "An exotic blend of spices for cooking. Definitely not worms." icon_state = "spacespicebottle" center_of_mass = list("x"=16, "y"=6) - if("barbecue") + if(REAGENT_ID_BARBECUE) name = "barbecue sauce" desc = "Barbecue sauce, it's labeled 'sweet and spicy'." icon_state = "barbecue" center_of_mass = list("x"=16, "y"=6) - if("sprinkles") - name = "sprinkles" + if(REAGENT_ID_SPRINKLES) + name = REAGENT_ID_SPRINKLES desc = "Bottle of sprinkles, colourful!" icon_state= "sprinkles" center_of_mass = list("x"=16, "y"=6) @@ -156,69 +156,69 @@ return /obj/item/reagent_containers/food/condiment/enzyme - name = "Universal Enzyme" + name = REAGENT_ENZYME desc = "Used in cooking various dishes." icon_state = "enzyme" /obj/item/reagent_containers/food/condiment/enzyme/Initialize() . = ..() - reagents.add_reagent("enzyme", 50) + reagents.add_reagent(REAGENT_ID_ENZYME, 50) /obj/item/reagent_containers/food/condiment/sugar/Initialize() . = ..() - reagents.add_reagent("sugar", 50) + reagents.add_reagent(REAGENT_ID_SUGAR, 50) /obj/item/reagent_containers/food/condiment/ketchup/Initialize() . = ..() - reagents.add_reagent("ketchup", 50) + reagents.add_reagent(REAGENT_ID_KETCHUP, 50) /obj/item/reagent_containers/food/condiment/mustard/Initialize() . = ..() - reagents.add_reagent("mustard", 50) + reagents.add_reagent(REAGENT_ID_MUSTARD, 50) /obj/item/reagent_containers/food/condiment/hotsauce/Initialize() . = ..() - reagents.add_reagent("capsaicin", 50) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 50) /obj/item/reagent_containers/food/condiment/cookingoil - name = "Cooking Oil" + name = REAGENT_COOKINGOIL /obj/item/reagent_containers/food/condiment/cookingoil/Initialize() . = ..() - reagents.add_reagent("cookingoil", 50) + reagents.add_reagent(REAGENT_ID_COOKINGOIL, 50) /obj/item/reagent_containers/food/condiment/cornoil - name = "Corn Oil" + name = REAGENT_CORNOIL /obj/item/reagent_containers/food/condiment/cornoil/Initialize() . = ..() - reagents.add_reagent("cornoil", 50) + reagents.add_reagent(REAGENT_ID_CORNOIL, 50) /obj/item/reagent_containers/food/condiment/coldsauce/Initialize() . = ..() - reagents.add_reagent("frostoil", 50) + reagents.add_reagent(REAGENT_ID_FROSTOIL, 50) /obj/item/reagent_containers/food/condiment/soysauce/Initialize() . = ..() - reagents.add_reagent("soysauce", 50) + reagents.add_reagent(REAGENT_ID_SOYSAUCE, 50) /obj/item/reagent_containers/food/condiment/vinegar/Initialize() . = ..() - reagents.add_reagent("vinegar", 50) + reagents.add_reagent(REAGENT_ID_VINEGAR, 50) /obj/item/reagent_containers/food/condiment/yeast - name = "Yeast" + name = REAGENT_YEAST /obj/item/reagent_containers/food/condiment/yeast/Initialize() . = ..() - reagents.add_reagent("yeast", 50) + reagents.add_reagent(REAGENT_ID_YEAST, 50) /obj/item/reagent_containers/food/condiment/sprinkles - name = "Sprinkles" + name = REAGENT_SPRINKLES /obj/item/reagent_containers/food/condiment/sprinkles/Initialize() . = ..() - reagents.add_reagent("sprinkles", 50) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 50) /obj/item/reagent_containers/food/condiment/small possible_transfer_amounts = list(1,20) @@ -237,7 +237,7 @@ /obj/item/reagent_containers/food/condiment/small/saltshaker/Initialize() . = ..() - reagents.add_reagent("sodiumchloride", 20) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 20) /obj/item/reagent_containers/food/condiment/small/peppermill //Keeping name here to save map based headaches name = "pepper shaker" @@ -247,7 +247,7 @@ /obj/item/reagent_containers/food/condiment/small/peppermill/Initialize() . = ..() - reagents.add_reagent("blackpepper", 20) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 20) /obj/item/reagent_containers/food/condiment/small/peppergrinder name = "pepper mill" @@ -257,16 +257,16 @@ /obj/item/reagent_containers/food/condiment/small/peppermill/Initialize() . = ..() - reagents.add_reagent("blackpepper", 30) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 30) /obj/item/reagent_containers/food/condiment/small/sugar - name = "sugar" + name = REAGENT_ID_SUGAR desc = "Sweetness in a bottle" icon_state = "sugarsmall" /obj/item/reagent_containers/food/condiment/small/sugar/Initialize() . = ..() - reagents.add_reagent("sugar", 20) + reagents.add_reagent(REAGENT_ID_SUGAR, 20) //MRE condiments and drinks. @@ -284,7 +284,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/salt/Initialize() . = ..() - reagents.add_reagent("sodiumchloride", 5) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 5) /obj/item/reagent_containers/food/condiment/small/packet/pepper name = "pepper packet" @@ -293,7 +293,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/pepper/Initialize() . = ..() - reagents.add_reagent("blackpepper", 5) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 5) /obj/item/reagent_containers/food/condiment/small/packet/sugar name = "sugar packet" @@ -302,7 +302,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/sugar/Initialize() . = ..() - reagents.add_reagent("sugar", 5) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) /obj/item/reagent_containers/food/condiment/small/packet/jelly name = "jelly packet" @@ -312,7 +312,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/jelly/Initialize() . = ..() - reagents.add_reagent("cherryjelly", 10) + reagents.add_reagent(REAGENT_ID_CHERRYJELLY, 10) /obj/item/reagent_containers/food/condiment/small/packet/honey name = "honey packet" @@ -322,7 +322,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/honey/Initialize() . = ..() - reagents.add_reagent("honey", 10) + reagents.add_reagent(REAGENT_ID_HONEY, 10) /obj/item/reagent_containers/food/condiment/small/packet/capsaicin name = "hot sauce packet" @@ -331,7 +331,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/capsaicin/Initialize() . = ..() - reagents.add_reagent("capsaicin", 5) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 5) /obj/item/reagent_containers/food/condiment/small/packet/ketchup name = "ketchup packet" @@ -340,7 +340,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/ketchup/Initialize() . = ..() - reagents.add_reagent("ketchup", 5) + reagents.add_reagent(REAGENT_ID_KETCHUP, 5) /obj/item/reagent_containers/food/condiment/small/packet/mayo name = "mayonnaise packet" @@ -349,7 +349,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/mayo/Initialize() . = ..() - reagents.add_reagent("mayo", 5) + reagents.add_reagent(REAGENT_ID_MAYO, 5) /obj/item/reagent_containers/food/condiment/small/packet/soy name = "soy sauce packet" @@ -358,7 +358,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/soy/Initialize() . = ..() - reagents.add_reagent("soysauce", 5) + reagents.add_reagent(REAGENT_ID_SOYSAUCE, 5) /obj/item/reagent_containers/food/condiment/small/packet/coffee name = "coffee powder packet" @@ -366,7 +366,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/coffee/Initialize() . = ..() - reagents.add_reagent("coffeepowder", 5) + reagents.add_reagent(REAGENT_ID_COFFEEPOWDER, 5) /obj/item/reagent_containers/food/condiment/small/packet/tea name = "tea powder packet" @@ -374,7 +374,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/tea/Initialize() . = ..() - reagents.add_reagent("tea", 5) + reagents.add_reagent(REAGENT_ID_TEA, 5) /obj/item/reagent_containers/food/condiment/small/packet/cocoa name = "cocoa powder packet" @@ -382,7 +382,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/cocoa/Initialize() . = ..() - reagents.add_reagent("coco", 5) + reagents.add_reagent(REAGENT_ID_COCO, 5) /obj/item/reagent_containers/food/condiment/small/packet/grape name = "grape juice powder packet" @@ -390,7 +390,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/grape/Initialize() . = ..() - reagents.add_reagent("instantgrape", 5) + reagents.add_reagent(REAGENT_ID_INSTANTGRAPE, 5) /obj/item/reagent_containers/food/condiment/small/packet/orange name = "orange juice powder packet" @@ -398,7 +398,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/orange/Initialize() . = ..() - reagents.add_reagent("instantorange", 5) + reagents.add_reagent(REAGENT_ID_INSTANTORANGE, 5) /obj/item/reagent_containers/food/condiment/small/packet/watermelon name = "watermelon juice powder packet" @@ -406,7 +406,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/watermelon/Initialize() . = ..() - reagents.add_reagent("instantwatermelon", 5) + reagents.add_reagent(REAGENT_ID_INSTANTWATERMELON, 5) /obj/item/reagent_containers/food/condiment/small/packet/apple name = "apple juice powder packet" @@ -414,7 +414,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/apple/Initialize() . = ..() - reagents.add_reagent("instantapple", 5) + reagents.add_reagent(REAGENT_ID_INSTANTAPPLE, 5) /obj/item/reagent_containers/food/condiment/small/packet/protein name = "protein powder packet" @@ -424,7 +424,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon name = "crayon powder packet" @@ -432,31 +432,31 @@ volume = 10 /obj/item/reagent_containers/food/condiment/small/packet/crayon/generic/Initialize() . = ..() - reagents.add_reagent("crayon_dust", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUST, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/red/Initialize() . = ..() - reagents.add_reagent("crayon_dust_red", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTRED, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/orange/Initialize() . = ..() - reagents.add_reagent("crayon_dust_orange", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTORANGE, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/yellow/Initialize() . = ..() - reagents.add_reagent("crayon_dust_yellow", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTYELLOW, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/green/Initialize() . = ..() - reagents.add_reagent("crayon_dust_green", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTGREEN, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/blue/Initialize() . = ..() - reagents.add_reagent("crayon_dust_blue", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTBLUE, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/purple/Initialize() . = ..() - reagents.add_reagent("crayon_dust_purple", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTPURPLE, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/grey/Initialize() . = ..() - reagents.add_reagent("crayon_dust_grey", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTGREY, 10) /obj/item/reagent_containers/food/condiment/small/packet/crayon/brown/Initialize() . = ..() - reagents.add_reagent("crayon_dust_brown", 10) + reagents.add_reagent(REAGENT_ID_CRAYONDUSTBROWN, 10) //End of MRE stuff. @@ -474,7 +474,7 @@ /obj/item/reagent_containers/food/condiment/carton/flour/Initialize() . = ..() - reagents.add_reagent("flour", 200) + reagents.add_reagent(REAGENT_ID_FLOUR, 200) randpixel_xy() /obj/item/reagent_containers/food/condiment/carton/update_icon() @@ -495,7 +495,7 @@ /obj/item/reagent_containers/food/condiment/carton/sugar name = "sugar carton" desc = "A big carton of sugar. Sweet!" - icon_state = "sugar" + icon_state = REAGENT_ID_SUGAR volume = 120 center_of_mass = list("x"=16, "y"=8) @@ -505,7 +505,7 @@ /obj/item/reagent_containers/food/condiment/carton/sugar/Initialize() . = ..() - reagents.add_reagent("sugar", 100) + reagents.add_reagent(REAGENT_ID_SUGAR, 100) /obj/item/reagent_containers/food/condiment/carton/sugar/rustic name = "sugar sack" @@ -525,7 +525,7 @@ /obj/item/reagent_containers/food/condiment/spacespice/Initialize() . = ..() - reagents.add_reagent("spacespice", 40) + reagents.add_reagent(REAGENT_ID_SPACESPICE, 40) /obj/item/reagent_containers/food/condiment/small/packet/protein_powder name = "protein powder packet" @@ -534,7 +534,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/Initialize() . = ..() - reagents.add_reagent("protein_powder", 5) + reagents.add_reagent(REAGENT_ID_PROTEINPOWDER, 5) /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/vanilla name = "vanilla protein powder packet" @@ -543,7 +543,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/vanilla/Initialize() . = ..() - reagents.add_reagent("vanilla_protein_powder", 5) + reagents.add_reagent(REAGENT_ID_VANILLAPROTEINPOWDER, 5) /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/banana name = "banana protein powder packet" @@ -552,7 +552,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/banana/Initialize() . = ..() - reagents.add_reagent("banana_protein_powder", 5) + reagents.add_reagent(REAGENT_ID_BANANAPROTEINPOWDER, 5) /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/chocolate name = "chocolate protein powder packet" @@ -561,7 +561,7 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/chocolate/Initialize() . = ..() - reagents.add_reagent("chocolate_protein_powder", 5) + reagents.add_reagent(REAGENT_ID_CHOCOLATEPROTEINPOWDER, 5) /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/strawberry name = "strawberry protein powder packet" @@ -570,4 +570,4 @@ /obj/item/reagent_containers/food/condiment/small/packet/protein_powder/strawberry/Initialize() . = ..() - reagents.add_reagent("strawberry_protein_powder", 5) + reagents.add_reagent(REAGENT_ID_STRAWBERRYPROTEINPOWDER, 5) diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 50216ed927..700659cab9 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -252,7 +252,7 @@ /obj/item/reagent_containers/food/drinks/milk/Initialize() . = ..() - reagents.add_reagent("milk", 50) + reagents.add_reagent(REAGENT_ID_MILK, 50) /obj/item/reagent_containers/food/drinks/soymilk name = "soymilk carton" @@ -266,7 +266,7 @@ /obj/item/reagent_containers/food/drinks/soymilk/Initialize() . = ..() - reagents.add_reagent("soymilk", 50) + reagents.add_reagent(REAGENT_ID_SOYMILK, 50) /obj/item/reagent_containers/food/drinks/smallmilk name = "small milk carton" @@ -281,7 +281,7 @@ /obj/item/reagent_containers/food/drinks/smallmilk/Initialize() . = ..() - reagents.add_reagent("milk", 30) + reagents.add_reagent(REAGENT_ID_MILK, 30) /obj/item/reagent_containers/food/drinks/smallchocmilk name = "small chocolate milk carton" @@ -296,7 +296,7 @@ /obj/item/reagent_containers/food/drinks/smallchocmilk/Initialize() . = ..() - reagents.add_reagent("chocolate_milk", 30) + reagents.add_reagent(REAGENT_ID_CHOCOLATEMILK, 30) /obj/item/reagent_containers/food/drinks/coffee name = "\improper Robust Coffee" @@ -310,7 +310,7 @@ /obj/item/reagent_containers/food/drinks/coffee/Initialize() . = ..() - reagents.add_reagent("coffee", 30) + reagents.add_reagent(REAGENT_ID_COFFEE, 30) /obj/item/reagent_containers/food/drinks/tea name = "cup of Duke Purple tea" @@ -325,7 +325,7 @@ /obj/item/reagent_containers/food/drinks/tea/Initialize() . = ..() - reagents.add_reagent("tea", 30) + reagents.add_reagent(REAGENT_ID_TEA, 30) /obj/item/reagent_containers/food/drinks/decaf_tea name = "cup of Count Mauve decaffeinated tea" @@ -340,7 +340,7 @@ /obj/item/reagent_containers/food/drinks/decaf_tea/Initialize() . = ..() - reagents.add_reagent("teadecaf", 30) + reagents.add_reagent(REAGENT_ID_TEADECAF, 30) /obj/item/reagent_containers/food/drinks/ice name = "cup of ice" @@ -349,7 +349,7 @@ center_of_mass = list("x"=15, "y"=10) /obj/item/reagent_containers/food/drinks/ice/Initialize() . = ..() - reagents.add_reagent("ice", 30) + reagents.add_reagent(REAGENT_ID_ICE, 30) /obj/item/reagent_containers/food/drinks/h_chocolate name = "cup of Counselor's Choice hot cocoa" @@ -364,7 +364,7 @@ /obj/item/reagent_containers/food/drinks/h_chocolate/Initialize() . = ..() - reagents.add_reagent("hot_coco", 30) + reagents.add_reagent(REAGENT_ID_HOTCOCO, 30) /obj/item/reagent_containers/food/drinks/greentea name = "cup of green tea" @@ -379,7 +379,7 @@ /obj/item/reagent_containers/food/drinks/greentea/Initialize() . = ..() - reagents.add_reagent("greentea", 30) + reagents.add_reagent(REAGENT_ID_GREENTEA, 30) /obj/item/reagent_containers/food/drinks/chaitea name = "cup of chai tea" @@ -394,7 +394,7 @@ /obj/item/reagent_containers/food/drinks/chaitea/Initialize() . = ..() - reagents.add_reagent("chaitea", 30) + reagents.add_reagent(REAGENT_ID_CHAITEA, 30) /obj/item/reagent_containers/food/drinks/decaf name = "cup of decaf coffee" @@ -409,7 +409,7 @@ /obj/item/reagent_containers/food/drinks/decaf/Initialize() . = ..() - reagents.add_reagent("decaf", 30) + reagents.add_reagent(REAGENT_ID_DECAF, 30) /obj/item/reagent_containers/food/drinks/dry_ramen name = "Cup Ramen" @@ -423,7 +423,7 @@ /obj/item/reagent_containers/food/drinks/dry_ramen/Initialize() . = ..() - reagents.add_reagent("dry_ramen", 30) + reagents.add_reagent(REAGENT_ID_DRYRAMEN, 30) /obj/item/reagent_containers/food/drinks/sillycup name = "paper cup" diff --git a/code/modules/food/food/drinks/bottle.dm b/code/modules/food/food/drinks/bottle.dm index 1409d0d17a..2eebe2f38d 100644 --- a/code/modules/food/food/drinks/bottle.dm +++ b/code/modules/food/food/drinks/bottle.dm @@ -228,7 +228,7 @@ /obj/item/reagent_containers/food/drinks/bottle/gin/Initialize() . = ..() - reagents.add_reagent("gin", 100) + reagents.add_reagent(REAGENT_ID_GIN, 100) /obj/item/reagent_containers/food/drinks/bottle/whiskey name = "Uncle Git's Special Reserve" @@ -238,17 +238,17 @@ /obj/item/reagent_containers/food/drinks/bottle/whiskey/Initialize() . = ..() - reagents.add_reagent("whiskey", 100) + reagents.add_reagent(REAGENT_ID_WHISKEY, 100) /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey - name = "Special Blend Whiskey" + name = REAGENT_SPECIALWHISKEY desc = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything." icon_state = "whiskeybottle2" center_of_mass = list("x"=16, "y"=3) /obj/item/reagent_containers/food/drinks/bottle/specialwhiskey/Initialize() . = ..() - reagents.add_reagent("specialwhiskey", 100) + reagents.add_reagent(REAGENT_ID_SPECIALWHISKEY, 100) /obj/item/reagent_containers/food/drinks/bottle/vodka name = "Tunguska Triple Distilled" @@ -258,7 +258,7 @@ /obj/item/reagent_containers/food/drinks/bottle/vodka/Initialize() . = ..() - reagents.add_reagent("vodka", 100) + reagents.add_reagent(REAGENT_ID_VODKA, 100) /obj/item/reagent_containers/food/drinks/bottle/tequilla name = "Caccavo Guaranteed Quality Tequilla" @@ -268,7 +268,7 @@ /obj/item/reagent_containers/food/drinks/bottle/tequilla/Initialize() . = ..() - reagents.add_reagent("tequilla", 100) + reagents.add_reagent(REAGENT_ID_TEQUILLA, 100) /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing name = "Bottle of Nothing" @@ -278,7 +278,7 @@ /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing/Initialize() . = ..() - reagents.add_reagent("nothing", 100) + reagents.add_reagent(REAGENT_ID_NOTHING, 100) /obj/item/reagent_containers/food/drinks/bottle/patron name = "Wrapp Artiste Patron" @@ -288,7 +288,7 @@ /obj/item/reagent_containers/food/drinks/bottle/patron/Initialize() . = ..() - reagents.add_reagent("patron", 100) + reagents.add_reagent(REAGENT_ID_PATRON, 100) /obj/item/reagent_containers/food/drinks/bottle/rum name = "Captain Pete's Cuban Spiced Rum" @@ -298,7 +298,7 @@ /obj/item/reagent_containers/food/drinks/bottle/rum/Initialize() . = ..() - reagents.add_reagent("rum", 100) + reagents.add_reagent(REAGENT_ID_RUM, 100) /obj/item/reagent_containers/food/drinks/bottle/holywater name = "Flask of Holy Water" @@ -308,7 +308,7 @@ /obj/item/reagent_containers/food/drinks/bottle/holywater/Initialize() . = ..() - reagents.add_reagent("holywater", 100) + reagents.add_reagent(REAGENT_ID_HOLYWATER, 100) /obj/item/reagent_containers/food/drinks/bottle/vermouth name = "Goldeneye Vermouth" @@ -318,7 +318,7 @@ /obj/item/reagent_containers/food/drinks/bottle/vermouth/Initialize() . = ..() - reagents.add_reagent("vermouth", 100) + reagents.add_reagent(REAGENT_ID_VERMOUTH, 100) /obj/item/reagent_containers/food/drinks/bottle/kahlua name = "Robert Robust's Coffee Liqueur" @@ -328,7 +328,7 @@ /obj/item/reagent_containers/food/drinks/bottle/kahlua/Initialize() . = ..() - reagents.add_reagent("kahlua", 100) + reagents.add_reagent(REAGENT_ID_KAHLUA, 100) /obj/item/reagent_containers/food/drinks/bottle/goldschlager name = "College Girl Goldschlager" @@ -338,7 +338,7 @@ /obj/item/reagent_containers/food/drinks/bottle/goldschlager/Initialize() . = ..() - reagents.add_reagent("goldschlager", 100) + reagents.add_reagent(REAGENT_ID_GOLDSCHLAGER, 100) /obj/item/reagent_containers/food/drinks/bottle/cognac name = "Chateau De Baton Premium Cognac" @@ -348,7 +348,7 @@ /obj/item/reagent_containers/food/drinks/bottle/cognac/Initialize() . = ..() - reagents.add_reagent("cognac", 100) + reagents.add_reagent(REAGENT_ID_COGNAC, 100) /obj/item/reagent_containers/food/drinks/bottle/absinthe name = "Jailbreaker Verte" @@ -358,7 +358,7 @@ /obj/item/reagent_containers/food/drinks/bottle/absinthe/Initialize() . = ..() - reagents.add_reagent("absinthe", 100) + reagents.add_reagent(REAGENT_ID_ABSINTHE, 100) /obj/item/reagent_containers/food/drinks/bottle/melonliquor //MODIFIED ON 04/21/2021 name = "Emeraldine Melon Liqueur" @@ -368,7 +368,7 @@ /obj/item/reagent_containers/food/drinks/bottle/melonliquor/Initialize() . = ..() - reagents.add_reagent("melonliquor", 100) + reagents.add_reagent(REAGENT_ID_MELONLIQUOR, 100) /obj/item/reagent_containers/food/drinks/bottle/bluecuracao //MODIFIED ON 04/21/2021 name = "Miss Blue Curacao" @@ -378,17 +378,17 @@ /obj/item/reagent_containers/food/drinks/bottle/bluecuracao/Initialize() . = ..() - reagents.add_reagent("bluecuracao", 100) + reagents.add_reagent(REAGENT_ID_BLUECURACAO, 100) /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew - name = "Redeemer's Brew" + name = REAGENT_UNATHILIQUOR desc = "Just opening the top of this bottle makes you feel a bit tipsy. Not for the faint of heart." icon_state = "redeemersbrew" center_of_mass = list("x"=16, "y"=3) /obj/item/reagent_containers/food/drinks/bottle/redeemersbrew/Initialize() . = ..() - reagents.add_reagent("unathiliquor", 100) + reagents.add_reagent(REAGENT_ID_UNATHILIQUOR, 100) /obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps name = "Dr. Bone's Peppermint Schnapps" @@ -398,7 +398,7 @@ /obj/item/reagent_containers/food/drinks/bottle/peppermintschnapps/Initialize() . = ..() - reagents.add_reagent("schnapps_pep", 100) + reagents.add_reagent(REAGENT_ID_SCHNAPPSPEP, 100) /obj/item/reagent_containers/food/drinks/bottle/peachschnapps name = "Dr. Bone's Peach Schnapps" @@ -408,7 +408,7 @@ /obj/item/reagent_containers/food/drinks/bottle/peachschnapps/Initialize() . = ..() - reagents.add_reagent("schnapps_pea", 100) + reagents.add_reagent(REAGENT_ID_SCHNAPPSPEA, 100) /obj/item/reagent_containers/food/drinks/bottle/lemonadeschnapps name = "Dr. Bone's Lemonade Schnapps" @@ -418,7 +418,7 @@ /obj/item/reagent_containers/food/drinks/bottle/lemonadeschnapps/Initialize() . = ..() - reagents.add_reagent("schnapps_lem", 100) + reagents.add_reagent(REAGENT_ID_SCHNAPPSLEM, 100) /obj/item/reagent_containers/food/drinks/bottle/jager name = "Schusskonig" @@ -428,7 +428,7 @@ /obj/item/reagent_containers/food/drinks/bottle/jager/Initialize() . = ..() - reagents.add_reagent("jager", 100) + reagents.add_reagent(REAGENT_ID_JAGER, 100) /////////////////////////WINES///////////////////////// @@ -440,7 +440,7 @@ /obj/item/reagent_containers/food/drinks/bottle/wine/Initialize() . = ..() - reagents.add_reagent("redwine", 100) + reagents.add_reagent(REAGENT_ID_REDWINE, 100) /obj/item/reagent_containers/food/drinks/bottle/whitewine name = "Doublebeard Bearded Special White" @@ -450,7 +450,7 @@ /obj/item/reagent_containers/food/drinks/bottle/whitewine/Initialize() . = ..() - reagents.add_reagent("whitewine", 100) + reagents.add_reagent(REAGENT_ID_WHITEWINE, 100) /obj/item/reagent_containers/food/drinks/bottle/carnoth //anagram of 'ntcahors' where the bottle sprite originated from name = "NanoTrasen Carnoth Red" @@ -460,7 +460,7 @@ /obj/item/reagent_containers/food/drinks/bottle/carnoth/Initialize() . = ..() - reagents.add_reagent("carnoth", 100) + reagents.add_reagent(REAGENT_ID_CARNOTH, 100) /obj/item/reagent_containers/food/drinks/bottle/pwine name = "Warlock's Velvet" @@ -470,7 +470,7 @@ /obj/item/reagent_containers/food/drinks/bottle/pwine/Initialize() . = ..() - reagents.add_reagent("pwine", 100) + reagents.add_reagent(REAGENT_ID_PWINE, 100) /obj/item/reagent_containers/food/drinks/bottle/champagne name = "Gilthari Luxury Champagne" @@ -480,7 +480,7 @@ /obj/item/reagent_containers/food/drinks/bottle/champagne/Initialize() . = ..() - reagents.add_reagent("champagne", 100) + reagents.add_reagent(REAGENT_ID_CHAMPAGNE, 100) /obj/item/reagent_containers/food/drinks/bottle/sake name = "Mono-No-Aware Luxury Sake" @@ -490,7 +490,7 @@ /obj/item/reagent_containers/food/drinks/bottle/sake/Initialize() . = ..() - reagents.add_reagent("sake", 100) + reagents.add_reagent(REAGENT_ID_SAKE, 100) //////////////////////////JUICES AND STUFF/////////////////////// @@ -502,7 +502,7 @@ /obj/item/reagent_containers/food/drinks/bottle/cola/Initialize() . = ..() - reagents.add_reagent("cola", 100) + reagents.add_reagent(REAGENT_ID_COLA, 100) /obj/item/reagent_containers/food/drinks/bottle/decaf_cola name = "\improper two-liter Space Cola Free" @@ -512,7 +512,7 @@ /obj/item/reagent_containers/food/drinks/bottle/decaf_cola/Initialize() . = ..() - reagents.add_reagent("decafcola", 100) + reagents.add_reagent(REAGENT_ID_DECAFCOLA, 100) /obj/item/reagent_containers/food/drinks/bottle/space_up name = "\improper two-liter Space-Up" @@ -522,7 +522,7 @@ /obj/item/reagent_containers/food/drinks/bottle/space_up/Initialize() . = ..() - reagents.add_reagent("space_up", 100) + reagents.add_reagent(REAGENT_ID_SPACEUP, 100) /obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind name = "\improper two-liter Space Mountain Wind" @@ -532,7 +532,7 @@ /obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind/Initialize() . = ..() - reagents.add_reagent("spacemountainwind", 100) + reagents.add_reagent(REAGENT_ID_SPACEMOUNTAINWIND, 100) /obj/item/reagent_containers/food/drinks/bottle/dr_gibb name = "\improper two-liter Dr. Gibb" @@ -542,7 +542,7 @@ /obj/item/reagent_containers/food/drinks/bottle/dr_gibb/Initialize() . = ..() - reagents.add_reagent("dr_gibb", 100) + reagents.add_reagent(REAGENT_ID_DRGIBB, 100) /obj/item/reagent_containers/food/drinks/bottle/orangejuice name = "Orange Juice" @@ -554,10 +554,10 @@ /obj/item/reagent_containers/food/drinks/bottle/orangejuice/Initialize() . = ..() - reagents.add_reagent("orangejuice", 100) + reagents.add_reagent(REAGENT_ID_ORANGEJUICE, 100) /obj/item/reagent_containers/food/drinks/bottle/applejuice - name = "Apple Juice" + name = REAGENT_APPLEJUICE desc = "Squeezed, pressed and ground to perfection!" icon_state = "applejuice" item_state = "carton" @@ -566,7 +566,7 @@ /obj/item/reagent_containers/food/drinks/bottle/applejuice/Initialize() . = ..() - reagents.add_reagent("applejuice", 100) + reagents.add_reagent(REAGENT_ID_APPLEJUICE, 100) /obj/item/reagent_containers/food/drinks/bottle/milk name = "Large Milk Carton" @@ -578,7 +578,7 @@ /obj/item/reagent_containers/food/drinks/bottle/milk/Initialize() . = ..() - reagents.add_reagent("milk", 100) + reagents.add_reagent(REAGENT_ID_MILK, 100) /obj/item/reagent_containers/food/drinks/bottle/cream name = "Milk Cream" @@ -590,10 +590,10 @@ /obj/item/reagent_containers/food/drinks/bottle/cream/Initialize() . = ..() - reagents.add_reagent("cream", 100) + reagents.add_reagent(REAGENT_ID_CREAM, 100) /obj/item/reagent_containers/food/drinks/bottle/tomatojuice - name = "Tomato Juice" + name = REAGENT_TOMATOJUICE desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." icon_state = "tomatojuice" item_state = "carton" @@ -602,10 +602,10 @@ /obj/item/reagent_containers/food/drinks/bottle/tomatojuice/Initialize() . = ..() - reagents.add_reagent("tomatojuice", 100) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 100) /obj/item/reagent_containers/food/drinks/bottle/limejuice - name = "Lime Juice" + name = REAGENT_LIMEJUICE desc = "Sweet-sour goodness." icon_state = "limejuice" item_state = "carton" @@ -614,10 +614,10 @@ /obj/item/reagent_containers/food/drinks/bottle/limejuice/Initialize() . = ..() - reagents.add_reagent("limejuice", 100) + reagents.add_reagent(REAGENT_ID_LIMEJUICE, 100) /obj/item/reagent_containers/food/drinks/bottle/lemonjuice - name = "Lemon Juice" + name = REAGENT_LEMONJUICE desc = "Sweet-sour goodness. Minus the sweet." icon_state = "lemonjuice" item_state = "carton" @@ -626,7 +626,7 @@ /obj/item/reagent_containers/food/drinks/bottle/lemonjuice/Initialize() . = ..() - reagents.add_reagent("lemonjuice", 100) + reagents.add_reagent(REAGENT_ID_LEMONJUICE, 100) /obj/item/reagent_containers/food/drinks/bottle/grenadine name = "Briar Rose Grenadine Syrup" @@ -636,7 +636,7 @@ /obj/item/reagent_containers/food/drinks/bottle/grenadine/Initialize() . = ..() - reagents.add_reagent("grenadine", 100) + reagents.add_reagent(REAGENT_ID_GRENADINE, 100) /obj/item/reagent_containers/food/drinks/bottle/grapejuice name = "Special Blend Grapejuice" @@ -646,7 +646,7 @@ /obj/item/reagent_containers/food/drinks/bottle/grapejuice/Initialize() . = ..() - reagents.add_reagent("grapejuice", 100) + reagents.add_reagent(REAGENT_ID_GRAPEJUICE, 100) //////////////////////////SMALL BOTTLES/////////////////////// @@ -665,7 +665,7 @@ /obj/item/reagent_containers/food/drinks/bottle/small/beer/Initialize() . = ..() - reagents.add_reagent("beer", 50) + reagents.add_reagent(REAGENT_ID_BEER, 50) /obj/item/reagent_containers/food/drinks/bottle/small/beer/silverdragon name = "Silver Dragon pilsner" @@ -687,7 +687,7 @@ /obj/item/reagent_containers/food/drinks/bottle/small/litebeer/Initialize() . = ..() - reagents.add_reagent("litebeer", 50) + reagents.add_reagent(REAGENT_ID_LITEBEER, 50) /obj/item/reagent_containers/food/drinks/bottle/small/cider name = "Crisp's Cider" @@ -697,7 +697,7 @@ /obj/item/reagent_containers/food/drinks/bottle/small/cider/Initialize() . = ..() - reagents.add_reagent("cider", 50) + reagents.add_reagent(REAGENT_ID_CIDER, 50) /obj/item/reagent_containers/food/drinks/bottle/small/ale name = "\improper Magm-Ale" @@ -708,7 +708,7 @@ /obj/item/reagent_containers/food/drinks/bottle/small/ale/Initialize() . = ..() - reagents.add_reagent("ale", 50) + reagents.add_reagent(REAGENT_ID_ALE, 50) /obj/item/reagent_containers/food/drinks/bottle/small/ale/hushedwhisper name = "Hushed Whisper IPA" @@ -718,29 +718,29 @@ /obj/item/reagent_containers/food/drinks/bottle/small/ale/hushedwhisper/Initialize() . = ..() - reagents.add_reagent("ale", 50) + reagents.add_reagent(REAGENT_ID_ALE, 50) //////////////////////////SMALL BOTTLED SODA/////////////////////// /obj/item/reagent_containers/food/drinks/bottle/small/cola - name = "Space Cola" + name = REAGENT_COLA desc = "Cola. In space." icon_state = "colabottle2" center_of_mass = list("x"=16, "y"=6) /obj/item/reagent_containers/food/drinks/bottle/small/cola/Initialize() . = ..() - reagents.add_reagent("cola", 50) + reagents.add_reagent(REAGENT_ID_COLA, 50) /obj/item/reagent_containers/food/drinks/bottle/small/space_up - name = "Space-Up" + name = REAGENT_SPACEUP desc = "Tastes like a hull breach in your mouth." icon_state = "space-up_bottle2" center_of_mass = list("x"=16, "y"=6) /obj/item/reagent_containers/food/drinks/bottle/small/space_up/Initialize() . = ..() - reagents.add_reagent("space_up", 50) + reagents.add_reagent(REAGENT_ID_SPACEUP, 50) /obj/item/reagent_containers/food/drinks/bottle/small/space_mountain_wind name = "Space Mountain Wind" @@ -750,14 +750,14 @@ /obj/item/reagent_containers/food/drinks/bottle/small/space_mountain_wind/Initialize() . = ..() - reagents.add_reagent("spacemountainwind", 50) + reagents.add_reagent(REAGENT_ID_SPACEMOUNTAINWIND, 50) /obj/item/reagent_containers/food/drinks/bottle/small/dr_gibb - name = "Dr. Gibb" + name = REAGENT_DRGIBB desc = "A delicious mixture of 42 different flavors." icon_state = "dr_gibb_bottle2" center_of_mass = list("x"=16, "y"=6) /obj/item/reagent_containers/food/drinks/bottle/small/dr_gibb/Initialize() . = ..() - reagents.add_reagent("dr_gibb", 50) + reagents.add_reagent(REAGENT_ID_DRGIBB, 50) diff --git a/code/modules/food/food/drinks/drinkingglass.dm b/code/modules/food/food/drinks/drinkingglass.dm index 2e7eff1850..f33e5ef78d 100644 --- a/code/modules/food/food/drinks/drinkingglass.dm +++ b/code/modules/food/food/drinks/drinkingglass.dm @@ -94,11 +94,11 @@ // for /obj/machinery/vending/sovietsoda /obj/item/reagent_containers/food/drinks/drinkingglass/soda/New() ..() - reagents.add_reagent("sodawater", 50) + reagents.add_reagent(REAGENT_ID_SODAWATER, 50) /obj/item/reagent_containers/food/drinks/drinkingglass/cola/New() ..() - reagents.add_reagent("cola", 50) + reagents.add_reagent(REAGENT_ID_COLA, 50) /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass name = "shot glass" @@ -162,10 +162,10 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/proteinshake/Initialize() . = ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("iron", 10) - reagents.add_reagent("protein", 15) - reagents.add_reagent("water", 45) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 30) + reagents.add_reagent(REAGENT_ID_IRON, 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 15) + reagents.add_reagent(REAGENT_ID_WATER, 45) ////////////////Fancy coffee cups diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 814ce55adc..60d3ae2867 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -53,7 +53,7 @@ /obj/item/reagent_containers/food/snacks/Initialize() . = ..() if(nutriment_amt) - reagents.add_reagent("nutriment",(nutriment_amt*2),nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT,(nutriment_amt*2),nutriment_desc) //Placeholder for effect that trigger on eating that aren't tied to reagents. /obj/item/reagent_containers/food/snacks/proc/On_Consume(var/mob/living/M) @@ -116,7 +116,7 @@ var/swallow_whole = FALSE var/obj/belly/belly_target // These are surprise tools that will help us later - var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) + var/fullness = M.nutrition + (M.reagents.get_reagent_amount(REAGENT_ID_NUTRIMENT) * 25) if(M == user) //If you're eating it yourself if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M @@ -447,8 +447,8 @@ /obj/item/reagent_containers/food/snacks/aesirsalad/Initialize() . = ..() - reagents.add_reagent("doctorsdelight", 8) - reagents.add_reagent("tricordrazine", 8) + reagents.add_reagent(REAGENT_ID_DOCTORSDELIGHT, 8) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 8) /obj/item/reagent_containers/food/snacks/candy/donor name = "Donor Candy" @@ -460,7 +460,7 @@ /obj/item/reagent_containers/food/snacks/candy/donor/Initialize() . = ..() - reagents.add_reagent("sugar", 3) + reagents.add_reagent(REAGENT_ID_SUGAR, 3) /obj/item/reagent_containers/food/snacks/candy_corn name = "candy corn" @@ -475,7 +475,7 @@ /obj/item/reagent_containers/food/snacks/candy_corn/Initialize() . = ..() - reagents.add_reagent("sugar", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) /obj/item/reagent_containers/food/snacks/chocolatebar //not a vending item name = "Chocolate Bar" @@ -484,13 +484,13 @@ filling_color = "#7D5F46" center_of_mass = list("x"=15, "y"=15) nutriment_amt = 2 - nutriment_desc = list("chocolate" = 5) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 5) bitesize = 2 /obj/item/reagent_containers/food/snacks/chocolatebar/Initialize() . = ..() - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) + reagents.add_reagent(REAGENT_ID_COCO, 2) /obj/item/reagent_containers/food/snacks/chocolatepiece name = "chocolate piece" @@ -499,7 +499,7 @@ filling_color = "#7D5F46" center_of_mass = list("x"=15, "y"=15) nutriment_amt = 1 - nutriment_desc = list("chocolate" = 3, "caramel" = 2, "lusciousness" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 3, "caramel" = 2, "lusciousness" = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/chocolatepiece/white @@ -513,7 +513,7 @@ name = "chocolate truffle" desc = "A bite-sized milk chocolate truffle that could buy anyone's love." icon_state = "chocolatepiece_truffle" - nutriment_desc = list("chocolate" = 3, "undying devotion" = 3) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 3, "undying devotion" = 3) /obj/item/reagent_containers/food/snacks/chocolateegg name = "Chocolate Egg" @@ -522,13 +522,13 @@ filling_color = "#7D5F46" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 3 - nutriment_desc = list("chocolate" = 5) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 5) bitesize = 2 /obj/item/reagent_containers/food/snacks/chocolateegg/Initialize() . = ..() - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) + reagents.add_reagent(REAGENT_ID_COCO, 2) /obj/item/reagent_containers/food/snacks/donut name = "donut" @@ -548,7 +548,7 @@ desc = "A plain ol' donut." /obj/item/reagent_containers/food/snacks/donut/plain/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/plain/jelly name = "plain jelly donut" @@ -556,8 +556,8 @@ desc = "At least this one has jelly!" /obj/item/reagent_containers/food/snacks/donut/plain/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/pink name = "pink frosted donut" @@ -566,7 +566,7 @@ overlay_state = "donut_pink_inbox" /obj/item/reagent_containers/food/snacks/donut/pink/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/pink/jelly name = "pink frosted jelly donut" @@ -574,8 +574,8 @@ desc = "This one has pink frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/pink/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/purple name = "purple frosted donut" @@ -584,7 +584,7 @@ overlay_state = "donut_purple_inbox" /obj/item/reagent_containers/food/snacks/donut/purple/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/purple/jelly name = "purple frosted jelly donut" @@ -592,8 +592,8 @@ desc = "This one has purple frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/purple/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/green name = "green frosted donut" @@ -602,7 +602,7 @@ overlay_state = "donut_green_inbox" /obj/item/reagent_containers/food/snacks/donut/green/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/green/jelly name = "green frosted jelly donut" @@ -610,8 +610,8 @@ desc = "This one has green frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/green/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/beige name = "beige frosted donut" @@ -620,7 +620,7 @@ overlay_state = "donut_beige_inbox" /obj/item/reagent_containers/food/snacks/donut/beige/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/beige/jelly name = "beige frosted jelly donut" @@ -628,8 +628,8 @@ desc = "This one has beige frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/beige/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/choc name = "chocolate frosted donut" @@ -638,8 +638,8 @@ overlay_state = "donut_choc_inbox" /obj/item/reagent_containers/food/snacks/donut/choc/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("chocolate", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_CHOCOLATE, 5) /obj/item/reagent_containers/food/snacks/donut/choc/jelly name = "chocolate frosted jelly donut" @@ -647,9 +647,9 @@ desc = "This one has chocolate frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/choc/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) - reagents.add_reagent("chocolate", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) + reagents.add_reagent(REAGENT_ID_CHOCOLATE, 5) /obj/item/reagent_containers/food/snacks/donut/blue name = "blue frosted donut" @@ -658,7 +658,7 @@ overlay_state = "donut_blue_inbox" /obj/item/reagent_containers/food/snacks/donut/blue/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/blue/jelly name = "blue frosted jelly donut" @@ -666,8 +666,8 @@ desc = "This one has blue frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/blue/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/yellow name = "yellow frosted donut" @@ -676,7 +676,7 @@ overlay_state = "donut_yellow_inbox" /obj/item/reagent_containers/food/snacks/donut/yellow/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/yellow/jelly name = "yellow frosted jelly donut" @@ -684,8 +684,8 @@ desc = "This one has yellow frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/yellow/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/olive name = "olive frosted donut" @@ -694,7 +694,7 @@ overlay_state = "donut_olive_inbox" /obj/item/reagent_containers/food/snacks/donut/olive/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/olive/jelly name = "olive frosted jelly donut" @@ -702,8 +702,8 @@ desc = "This one has olive frosting and a jelly filling!" /obj/item/reagent_containers/food/snacks/donut/olive/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/homer name = "frosted donut with sprinkles" @@ -712,8 +712,8 @@ overlay_state = "donut_homer_inbox" /obj/item/reagent_containers/food/snacks/donut/homer/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("sprinkles", 1) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 1) /obj/item/reagent_containers/food/snacks/donut/homer/jelly name = "frosted jelly donut with sprinkles" @@ -721,9 +721,9 @@ desc = "It's a d'ohnut with jelly filling!" /obj/item/reagent_containers/food/snacks/donut/homer/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 1) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles name = "chocolate sprinkles donut" @@ -732,9 +732,9 @@ overlay_state = "donut_choc_sprinkles_inbox" /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("chocolate", 1) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 1) + reagents.add_reagent(REAGENT_ID_CHOCOLATE, 1) /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles/jelly name = "chocolate sprinkles jelly donut" @@ -742,10 +742,10 @@ desc = "Pretty sure this is the most sugar you can pack into a donut." /obj/item/reagent_containers/food/snacks/donut/choc_sprinkles/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("berryjuice", 5) - reagents.add_reagent("chocolate", 1) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 1) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) + reagents.add_reagent(REAGENT_ID_CHOCOLATE, 1) /obj/item/reagent_containers/food/snacks/donut/meat name = "meat donut" @@ -754,7 +754,7 @@ overlay_state = "donut_meat_inbox" /obj/item/reagent_containers/food/snacks/donut/meat/Initialize() . = ..() - reagents.add_reagent("protein", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/laugh name = "laugh donut" @@ -763,7 +763,7 @@ overlay_state = "donut_laugh_inbox" /obj/item/reagent_containers/food/snacks/donut/laugh/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/donut/laugh/jelly name = "laugh jelly donut" @@ -771,8 +771,8 @@ desc = "Try not to be jelly." /obj/item/reagent_containers/food/snacks/donut/laugh/jelly/Initialize() . = ..() - reagents.add_reagent("nutriment", 3, nutriment_desc) - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/chaos @@ -786,49 +786,49 @@ /obj/item/reagent_containers/food/snacks/donut/chaos/Initialize() . = ..() - reagents.add_reagent("sprinkles", 1) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 1) switch(rand(1,10)) if(1) - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) if(2) - reagents.add_reagent("capsaicin", 3) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 3) if(3) - reagents.add_reagent("frostoil", 3) + reagents.add_reagent(REAGENT_ID_FROSTOIL, 3) if(4) - reagents.add_reagent("sprinkles", 3) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 3) if(5) - reagents.add_reagent("phoron", 3) + reagents.add_reagent(REAGENT_ID_PHORON, 3) if(6) - reagents.add_reagent("coco", 3) + reagents.add_reagent(REAGENT_ID_COCO, 3) if(7) - reagents.add_reagent("slimejelly", 3) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 3) if(8) - reagents.add_reagent("banana", 3) + reagents.add_reagent(REAGENT_ID_BANANA, 3) if(9) - reagents.add_reagent("berryjuice", 3) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 3) if(10) - reagents.add_reagent("tricordrazine", 3) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 3) /obj/item/reagent_containers/food/snacks/donut/plain/jelly/poisonberry filling_color = "#ED1169" /obj/item/reagent_containers/food/snacks/donut/plain/jelly/poisonberry/Initialize() . = ..() - reagents.add_reagent("poisonberryjuice", 5) + reagents.add_reagent(REAGENT_ID_POISONBERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/donut/plain/jelly/slimejelly filling_color = "#ED1169" /obj/item/reagent_containers/food/snacks/donut/plain/jelly/slimejelly/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) /obj/item/reagent_containers/food/snacks/donut/plain/jelly/cherryjelly filling_color = "#ED1169" /obj/item/reagent_containers/food/snacks/donut/plain/jelly/cherryjelly/Initialize() . = ..() - reagents.add_reagent("cherryjelly", 5) + reagents.add_reagent(REAGENT_ID_CHERRYJELLY, 5) /obj/item/reagent_containers/food/snacks/egg @@ -841,7 +841,7 @@ /obj/item/reagent_containers/food/snacks/egg/Initialize() . = ..() - reagents.add_reagent("egg", 3) + reagents.add_reagent(REAGENT_ID_EGG, 3) /obj/item/reagent_containers/food/snacks/egg/afterattack(obj/O as obj, mob/user as mob, proximity) if(istype(O,/obj/machinery/microwave)) @@ -908,9 +908,9 @@ /obj/item/reagent_containers/food/snacks/friedegg/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) /obj/item/reagent_containers/food/snacks/boiledegg name = "Boiled egg" @@ -920,7 +920,7 @@ /obj/item/reagent_containers/food/snacks/boiledegg/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/organ name = "organ" @@ -933,17 +933,17 @@ /obj/item/reagent_containers/food/snacks/organ/Initialize() . = ..() - reagents.add_reagent("protein", rand(3,5)) - reagents.add_reagent("toxin", rand(1,3)) + reagents.add_reagent(REAGENT_ID_PROTEIN, rand(3,5)) + reagents.add_reagent(REAGENT_ID_TOXIN, rand(1,3)) /obj/item/reagent_containers/food/snacks/tofu name = "Tofu" - icon_state = "tofu" + icon_state = REAGENT_ID_TOFU desc = "We all love tofu." filling_color = "#FFFEE0" center_of_mass = list("x"=17, "y"=10) nutriment_amt = 3 - nutriment_desc = list("tofu" = 3, "goeyness" = 3) + nutriment_desc = list(REAGENT_ID_TOFU = 3, "goeyness" = 3) bitesize = 3 /obj/item/reagent_containers/food/snacks/tofurkey @@ -953,7 +953,7 @@ filling_color = "#FFFEE0" center_of_mass = list("x"=16, "y"=8) nutriment_amt = 12 - nutriment_desc = list("turkey" = 3, "tofu" = 5, "goeyness" = 4) + nutriment_desc = list("turkey" = 3, REAGENT_ID_TOFU = 5, "goeyness" = 4) bitesize = 3 /obj/item/reagent_containers/food/snacks/stuffing @@ -974,12 +974,12 @@ center_of_mass = list("x"=17, "y"=13) bitesize = 6 - var/toxin_type = "carpotoxin" + var/toxin_type = REAGENT_ID_CARPOTOXIN var/toxin_amount = 3 /obj/item/reagent_containers/food/snacks/carpmeat/Initialize() . = ..() - reagents.add_reagent("seafood", 3) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 3) if(toxin_type && toxin_amount) reagents.add_reagent(toxin_type, toxin_amount) @@ -994,7 +994,7 @@ /obj/item/reagent_containers/food/snacks/carpmeat/ray desc = "A fillet of space ray meat." - toxin_type = "stoxin" + toxin_type = REAGENT_ID_STOXIN /obj/item/reagent_containers/food/snacks/carpmeat/gnat desc = "A paltry sample of space-gnat meat. It looks pretty stringy and unpleasant, honestly." @@ -1015,8 +1015,8 @@ /obj/item/reagent_containers/food/snacks/crab_legs/Initialize() . = ..() - reagents.add_reagent("seafood", 6) - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 6) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) /obj/item/reagent_containers/food/snacks/fishfingers name = "Fish Fingers" @@ -1028,7 +1028,7 @@ /obj/item/reagent_containers/food/snacks/fishfingers/Initialize() . = ..() - reagents.add_reagent("seafood", 4) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 4) /obj/item/reagent_containers/food/snacks/zestfish name = "Zesty Fish" @@ -1040,7 +1040,7 @@ /obj/item/reagent_containers/food/snacks/zestfish/Initialize() . = ..() - reagents.add_reagent("seafood", 4) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 4) /obj/item/reagent_containers/food/snacks/mushroomslice name = "mushroom slice" @@ -1049,12 +1049,12 @@ filling_color = "#E0D7C5" center_of_mass = list("x"=17, "y"=16) nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "mushroom" = 2) + nutriment_desc = list("raw" = 2, PLANT_MUSHROOMS = 2) bitesize = 6 /obj/item/reagent_containers/food/snacks/mushroomslice/Initialize() . = ..() - reagents.add_reagent("psilocybin", 3) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 3) /obj/item/reagent_containers/food/snacks/tomatomeat name = "tomato slice" @@ -1063,7 +1063,7 @@ filling_color = "#DB0000" center_of_mass = list("x"=17, "y"=16) nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "tomato" = 3) + nutriment_desc = list("raw" = 2, PLANT_TOMATO = 3) bitesize = 6 /obj/item/reagent_containers/food/snacks/bearmeat @@ -1076,8 +1076,8 @@ /obj/item/reagent_containers/food/snacks/bearmeat/Initialize() . = ..() - reagents.add_reagent("protein", 12) - reagents.add_reagent("hyperzine", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 12) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 5) /obj/item/reagent_containers/food/snacks/xenomeat name = "xenomeat" @@ -1089,8 +1089,8 @@ /obj/item/reagent_containers/food/snacks/xenomeat/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("pacid",6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_PACID,6) /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat. name = "spider meat" @@ -1102,8 +1102,8 @@ /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize() . = ..() - reagents.add_reagent("spidertoxin",6) - reagents.remove_reagent("pacid",6) + reagents.add_reagent(REAGENT_ID_SPIDERTOXIN,6) + reagents.remove_reagent(REAGENT_ID_PACID,6) /obj/item/reagent_containers/food/snacks/meatball name = "meatball" @@ -1115,7 +1115,7 @@ /obj/item/reagent_containers/food/snacks/meatball/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/sausage name = "Sausage" @@ -1127,7 +1127,7 @@ /obj/item/reagent_containers/food/snacks/sausage/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/donkpocket name = "\improper Donk-pocket" @@ -1139,11 +1139,11 @@ nutriment_amt = 2 nutriment_desc = list("heartiness" = 1, "dough" = 2) var/warm = FALSE - var/list/heated_reagents = list("tricordrazine" = 5) + var/list/heated_reagents = list(REAGENT_ID_TRICORDRAZINE = 5) /obj/item/reagent_containers/food/snacks/donkpocket/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/donkpocket/proc/heat() warm = 1 @@ -1183,14 +1183,14 @@ desc = "Delicious, cheesy and surprisingly filling." icon_state = "donkpocketpizza" nutriment_amt = 2 - nutriment_desc = list("meat" = 1, "dough" = 2, "cheese"= 2) + nutriment_desc = list("meat" = 1, "dough" = 2, REAGENT_ID_CHEESE= 2) /obj/item/reagent_containers/food/snacks/donkpocket/honk name = "\improper Honk-pocket" desc = "The award-winning donk-pocket that won the hearts of clowns and humans alike." icon_state = "donkpocketbanana" nutriment_amt = 2 - nutriment_desc = list("banana" = 1, "dough" = 2, "children's antibiotics"= 1) + nutriment_desc = list(REAGENT_ID_BANANA = 1, "dough" = 2, "children's antibiotics"= 1) /obj/item/reagent_containers/food/snacks/donkpocket/berry name = "\improper Berry-pocket" @@ -1212,13 +1212,13 @@ icon_state = "dankpocket" nutriment_amt = 2 nutriment_desc = list("heartiness" = 1, "dough" = 2) - heated_reagents = list("bliss" = 5) + heated_reagents = list(REAGENT_ID_BLISS = 5) /obj/item/reagent_containers/food/snacks/donkpocket/sinpocket name = "\improper Sin-pocket" desc = "The food of choice for the veteran. Do NOT overconsume." filling_color = "#6D6D00" - heated_reagents = list("doctorsdelight" = 5, "hyperzine" = 0.75, "synaptizine" = 0.25) + heated_reagents = list(REAGENT_ID_DOCTORSDELIGHT = 5, REAGENT_ID_HYPERZINE = 0.75, REAGENT_ID_SYNAPTIZINE = 0.25) var/has_been_heated = 0 /obj/item/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user) @@ -1243,8 +1243,8 @@ /obj/item/reagent_containers/food/snacks/brainburger/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("alkysine", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_ALKYSINE, 6) /obj/item/reagent_containers/food/snacks/ghostburger name = "Ghost Burger" @@ -1270,7 +1270,7 @@ /obj/item/reagent_containers/food/snacks/human/burger/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/cheeseburger name = "cheeseburger" @@ -1278,11 +1278,11 @@ icon_state = "cheeseburger" center_of_mass = list("x"=16, "y"=11) nutriment_amt = 2 - nutriment_desc = list("cheese" = 2, "bun" = 2) + nutriment_desc = list(REAGENT_ID_CHEESE = 2, "bun" = 2) /obj/item/reagent_containers/food/snacks/cheeseburger/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/monkeyburger name = "burger" @@ -1296,7 +1296,7 @@ /obj/item/reagent_containers/food/snacks/monkeyburger/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/fishburger name = "Fillet -o- Carp Sandwich" @@ -1308,7 +1308,7 @@ /obj/item/reagent_containers/food/snacks/fishburger/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/tofuburger name = "Tofu Burger" @@ -1349,7 +1349,7 @@ /obj/item/reagent_containers/food/snacks/xenoburger/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/clownburger name = JOB_CLOWN + " Burger" @@ -1383,7 +1383,7 @@ /obj/item/reagent_containers/food/snacks/omelette/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/muffin name = "Muffin" @@ -1404,12 +1404,12 @@ filling_color = "#FBFFB8" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 4 - nutriment_desc = list("pie" = 3, "cream" = 2) + nutriment_desc = list("pie" = 3, REAGENT_ID_CREAM = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/pie/Initialize() . = ..() - reagents.add_reagent("banana",5) + reagents.add_reagent(REAGENT_ID_BANANA,5) /obj/item/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) . = ..() @@ -1429,11 +1429,11 @@ /obj/item/reagent_containers/food/snacks/berryclafoutis/berry/Initialize() . = ..() - reagents.add_reagent("berryjuice", 5) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/berryclafoutis/poison/Initialize() . = ..() - reagents.add_reagent("poisonberryjuice", 5) + reagents.add_reagent(REAGENT_ID_POISONBERRYJUICE, 5) /obj/item/reagent_containers/food/snacks/waffles name = "waffles" @@ -1454,7 +1454,7 @@ filling_color = "#4D2F5E" center_of_mass = list("x"=16, "y"=11) nutriment_amt = 6 - nutriment_desc = list("cheese" = 3, "eggplant" = 3) + nutriment_desc = list(REAGENT_ID_CHEESE = 3, PLANT_EGGPLANT = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/soylentgreen @@ -1468,7 +1468,7 @@ /obj/item/reagent_containers/food/snacks/soylentgreen/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/soylenviridians name = "Soylen Virdians" @@ -1492,7 +1492,7 @@ /obj/item/reagent_containers/food/snacks/meatpie/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/tofupie name = "Tofu-pie" @@ -1502,7 +1502,7 @@ filling_color = "#FFFEE0" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 10 - nutriment_desc = list("tofu" = 2, "pie" = 8) + nutriment_desc = list(REAGENT_ID_TOFU = 2, "pie" = 8) bitesize = 2 /obj/item/reagent_containers/food/snacks/amanita_pie @@ -1512,13 +1512,13 @@ filling_color = "#FFCCCC" center_of_mass = list("x"=17, "y"=9) nutriment_amt = 5 - nutriment_desc = list("sweetness" = 3, "mushroom" = 3, "pie" = 2) + nutriment_desc = list("sweetness" = 3, PLANT_MUSHROOMS = 3, "pie" = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/amanita_pie/Initialize() . = ..() - reagents.add_reagent("amatoxin", 3) - reagents.add_reagent("psilocybin", 1) + reagents.add_reagent(REAGENT_ID_AMATOXIN, 3) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 1) /obj/item/reagent_containers/food/snacks/plump_pie name = "plump pie" @@ -1527,7 +1527,7 @@ filling_color = "#B8279B" center_of_mass = list("x"=17, "y"=9) nutriment_amt = 8 - nutriment_desc = list("heartiness" = 2, "mushroom" = 3, "pie" = 3) + nutriment_desc = list("heartiness" = 2, PLANT_MUSHROOMS = 3, "pie" = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/plump_pie/Initialize() @@ -1535,8 +1535,8 @@ if(prob(10)) name = "exceptional plump pie" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" - reagents.add_reagent("nutriment", 8, nutriment_desc) - reagents.add_reagent("tricordrazine", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 8, nutriment_desc) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 5) /obj/item/reagent_containers/food/snacks/xemeatpie name = "Xeno-pie" @@ -1549,7 +1549,7 @@ /obj/item/reagent_containers/food/snacks/xemeatpie/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/wingfangchu name = "Wing Fang Chu" @@ -1562,7 +1562,7 @@ /obj/item/reagent_containers/food/snacks/wingfangchu/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/human/kabob name = "-kabob" @@ -1575,7 +1575,7 @@ /obj/item/reagent_containers/food/snacks/human/kabob/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/monkeykabob name = "Meat-kabob" @@ -1588,7 +1588,7 @@ /obj/item/reagent_containers/food/snacks/monkeykabob/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/tofukabob name = "Tofu-kabob" @@ -1599,7 +1599,7 @@ bitesize = 2 center_of_mass = list("x"=17, "y"=15) nutriment_amt = 8 - nutriment_desc = list("tofu" = 3, "metal" = 1) + nutriment_desc = list(REAGENT_ID_TOFU = 3, "metal" = 1) /obj/item/reagent_containers/food/snacks/cubancarp name = "Cuban Carp" @@ -1614,8 +1614,8 @@ /obj/item/reagent_containers/food/snacks/cubancarp/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("capsaicin", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 3) /obj/item/reagent_containers/food/snacks/popcorn name = "Popcorn" @@ -1659,7 +1659,7 @@ /obj/item/reagent_containers/food/snacks/fries/Initialize() . = ..() - reagents.add_reagent("oil", 1.2)//This is mainly for the benefit of adminspawning + reagents.add_reagent(REAGENT_ID_OIL, 1.2)//This is mainly for the benefit of adminspawning /obj/item/reagent_containers/food/snacks/onionrings name = "onion rings" @@ -1701,12 +1701,12 @@ filling_color = "#FAA005" center_of_mass = list("x"=16, "y"=11) nutriment_amt = 3 - nutriment_desc = list("carrot" = 3, "salt" = 1) + nutriment_desc = list(PLANT_CARROT = 3, "salt" = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/carrotfries/Initialize() . = ..() - reagents.add_reagent("imidazoline", 3) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 3) /obj/item/reagent_containers/food/snacks/cheesyfries @@ -1717,12 +1717,12 @@ filling_color = "#EDDD00" center_of_mass = list("x"=16, "y"=11) nutriment_amt = 4 - nutriment_desc = list("fresh fries" = 3, "cheese" = 3) + nutriment_desc = list("fresh fries" = 3, REAGENT_ID_CHEESE = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/cheesyfries/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/chilicheesefries name = "chili cheese fries" @@ -1738,8 +1738,8 @@ /obj/item/reagent_containers/food/snacks/chilicheesefries/Initialize() . = ..() - reagents.add_reagent("protein", 2) - reagents.add_reagent("capsaicin", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 2) /obj/item/reagent_containers/food/snacks/blackpudding name = "Black Pudding" @@ -1751,8 +1751,8 @@ /obj/item/reagent_containers/food/snacks/blackpudding/Initialize() . = ..() - reagents.add_reagent("protein", 2) - reagents.add_reagent("blood", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) + reagents.add_reagent(REAGENT_ID_BLOOD, 5) /obj/item/reagent_containers/food/snacks/soydope name = "Soy Dope" @@ -1785,8 +1785,8 @@ /obj/item/reagent_containers/food/snacks/badrecipe/Initialize() . = ..() - reagents.add_reagent("toxin", 1) - reagents.add_reagent("carbon", 3) + reagents.add_reagent(REAGENT_ID_SALMONELLA, 1) + reagents.add_reagent(REAGENT_ID_CARBON, 3) /obj/item/reagent_containers/food/snacks/meatsteak name = "Meat steak" @@ -1799,9 +1799,9 @@ /obj/item/reagent_containers/food/snacks/meatsteak/Initialize() . = ..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) /obj/item/reagent_containers/food/snacks/spacylibertyduff name = "Spacy Liberty Duff" @@ -1811,12 +1811,12 @@ filling_color = "#42B873" center_of_mass = list("x"=16, "y"=8) nutriment_amt = 6 - nutriment_desc = list("mushroom" = 6) + nutriment_desc = list(PLANT_MUSHROOMS = 6) bitesize = 3 /obj/item/reagent_containers/food/snacks/spacylibertyduff/Initialize() . = ..() - reagents.add_reagent("psilocybin", 6) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 6) /obj/item/reagent_containers/food/snacks/amanitajelly name = "Amanita Jelly" @@ -1826,13 +1826,13 @@ filling_color = "#ED0758" center_of_mass = list("x"=16, "y"=5) nutriment_amt = 6 - nutriment_desc = list("jelly" = 3, "mushroom" = 3) + nutriment_desc = list("jelly" = 3, PLANT_MUSHROOMS = 3) bitesize = 3 /obj/item/reagent_containers/food/snacks/amanitajelly/Initialize() . = ..() - reagents.add_reagent("amatoxin", 6) - reagents.add_reagent("psilocybin", 3) + reagents.add_reagent(REAGENT_ID_AMATOXIN, 6) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 3) /obj/item/reagent_containers/food/snacks/poppypretzel name = "Poppy pretzel" @@ -1859,7 +1859,7 @@ /obj/item/reagent_containers/food/snacks/monkeycube/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/monkeycube/attack_self(mob/user as mob) if(wrapped) @@ -1895,7 +1895,7 @@ Expand() /obj/item/reagent_containers/food/snacks/monkeycube/on_reagent_change() - if(reagents.has_reagent("water")) + if(reagents.has_reagent(REAGENT_ID_WATER)) Expand() /obj/item/reagent_containers/food/snacks/monkeycube/wrapped @@ -1949,7 +1949,7 @@ /obj/item/reagent_containers/food/snacks/bigbiteburger/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/enchiladas name = "Enchiladas" @@ -1959,13 +1959,13 @@ filling_color = "#A36A1F" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 2 - nutriment_desc = list("tortilla" = 3, "corn" = 3) + nutriment_desc = list("tortilla" = 3, PLANT_CORN = 3) bitesize = 4 /obj/item/reagent_containers/food/snacks/enchiladas/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("capsaicin", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 6) /obj/item/reagent_containers/food/snacks/monkeysdelight name = "monkey's Delight" @@ -1978,10 +1978,10 @@ /obj/item/reagent_containers/food/snacks/monkeysdelight/Initialize() . = ..() - reagents.add_reagent("protein", 10) - reagents.add_reagent("banana", 5) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) + reagents.add_reagent(REAGENT_ID_BANANA, 5) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) /obj/item/reagent_containers/food/snacks/baguette name = "Baguette" @@ -1995,8 +1995,8 @@ /obj/item/reagent_containers/food/snacks/baguette/Initialize() . = ..() - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) /obj/item/reagent_containers/food/snacks/fishandchips name = "Fish and Chips" @@ -2010,7 +2010,7 @@ /obj/item/reagent_containers/food/snacks/fishandchips/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/rofflewaffles name = "Roffle Waffles" @@ -2025,7 +2025,7 @@ /obj/item/reagent_containers/food/snacks/rofflewaffles/Initialize() . = ..() - reagents.add_reagent("psilocybin", 8) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 8) /obj/item/reagent_containers/food/snacks/jelliedtoast name = "Jellied Toast" @@ -2039,11 +2039,11 @@ /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry/Initialize() . = ..() - reagents.add_reagent("cherryjelly", 5) + reagents.add_reagent(REAGENT_ID_CHERRYJELLY, 5) /obj/item/reagent_containers/food/snacks/jelliedtoast/slime/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) /obj/item/reagent_containers/food/snacks/honeytoast name = "Honeyed Toast" @@ -2077,11 +2077,11 @@ /obj/item/reagent_containers/food/snacks/jellyburger/slime/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) /obj/item/reagent_containers/food/snacks/jellyburger/cherry/Initialize() . = ..() - reagents.add_reagent("cherryjelly", 5) + reagents.add_reagent(REAGENT_ID_CHERRYJELLY, 5) /obj/item/reagent_containers/food/snacks/stewedsoymeat name = "Stewed Soy Meat" @@ -2090,7 +2090,7 @@ trash = /obj/item/trash/plate center_of_mass = list("x"=16, "y"=10) nutriment_amt = 8 - nutriment_desc = list("soy" = 4, "tomato" = 4) + nutriment_desc = list("soy" = 4, PLANT_TOMATO = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/boiledspagetti @@ -2112,7 +2112,7 @@ filling_color = "#FFFBDB" center_of_mass = list("x"=17, "y"=11) nutriment_amt = 2 - nutriment_desc = list("rice" = 2) + nutriment_desc = list(REAGENT_ID_RICE = 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/ricepudding @@ -2123,7 +2123,7 @@ filling_color = "#FFFBDB" center_of_mass = list("x"=17, "y"=11) nutriment_amt = 4 - nutriment_desc = list("rice" = 2) + nutriment_desc = list(REAGENT_ID_RICE = 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/kudzudonburi @@ -2134,12 +2134,12 @@ filling_color = "#FFFBDB" center_of_mass = list("x"=17, "y"=11) nutriment_amt = 16 - nutriment_desc = list("rice" = 2, "gauze" = 4, "fish" = 10) + nutriment_desc = list(REAGENT_ID_RICE = 2, "gauze" = 4, "fish" = 10) bitesize = 2 /obj/item/reagent_containers/food/snacks/kudzudonburi/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/pastatomato name = "Spaghetti" @@ -2149,12 +2149,12 @@ filling_color = "#DE4545" center_of_mass = list("x"=16, "y"=10) nutriment_amt = 6 - nutriment_desc = list("tomato" = 3, "noodles" = 3) + nutriment_desc = list(PLANT_TOMATO = 3, "noodles" = 3) bitesize = 4 /obj/item/reagent_containers/food/snacks/pastatomato/Initialize() . = ..() - reagents.add_reagent("tomatojuice", 10) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 10) /obj/item/reagent_containers/food/snacks/meatballspagetti name = "Spaghetti & Meatballs" @@ -2169,7 +2169,7 @@ /obj/item/reagent_containers/food/snacks/meatballspagetti/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/spesslaw name = "Spesslaw" @@ -2183,7 +2183,7 @@ /obj/item/reagent_containers/food/snacks/spesslaw/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/superbiteburger name = "Super Bite Burger" @@ -2197,7 +2197,7 @@ /obj/item/reagent_containers/food/snacks/superbiteburger/Initialize() . = ..() - reagents.add_reagent("protein", 25) + reagents.add_reagent(REAGENT_ID_PROTEIN, 25) /obj/item/reagent_containers/food/snacks/caramelapple name = "Caramel Apple" @@ -2207,7 +2207,7 @@ filling_color = "#F21873" center_of_mass = list("x"=15, "y"=13) nutriment_amt = 3 - nutriment_desc = list("apple" = 3, "caramel" = 3, "sweetness" = 2) + nutriment_desc = list(PLANT_APPLE = 3, "caramel" = 3, "sweetness" = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/candiedapple @@ -2218,7 +2218,7 @@ filling_color = "#F21873" center_of_mass = list("x"=15, "y"=13) nutriment_amt = 3 - nutriment_desc = list("apple" = 3, "sweetness" = 2) + nutriment_desc = list(PLANT_APPLE = 3, "sweetness" = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/applepie @@ -2228,7 +2228,7 @@ filling_color = "#E0EDC5" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 4 - nutriment_desc = list("sweetness" = 2, "apple" = 2, "pie" = 2) + nutriment_desc = list("sweetness" = 2, PLANT_APPLE = 2, "pie" = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/cherrypie @@ -2238,7 +2238,7 @@ filling_color = "#FF525A" center_of_mass = list("x"=16, "y"=11) nutriment_amt = 4 - nutriment_desc = list("sweetness" = 2, "cherry" = 2, "pie" = 2) + nutriment_desc = list("sweetness" = 2, PLANT_CHERRY = 2, "pie" = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/twobread @@ -2261,12 +2261,12 @@ filling_color = "#D9BE29" center_of_mass = list("x"=16, "y"=4) nutriment_amt = 3 - nutriment_desc = list("bread" = 3, "cheese" = 3) + nutriment_desc = list("bread" = 3, REAGENT_ID_CHEESE = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/sandwich/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/clubsandwich name = "Club Sandwich" @@ -2284,13 +2284,13 @@ filling_color = "#D9BE29" center_of_mass = list("x"=16, "y"=4) nutriment_amt = 3 - nutriment_desc = list("toasted bread" = 3, "cheese" = 3) + nutriment_desc = list("toasted bread" = 3, REAGENT_ID_CHEESE = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/toastedsandwich/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("carbon", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_CARBON, 2) /obj/item/reagent_containers/food/snacks/grilledcheese name = "Grilled Cheese Sandwich" @@ -2298,12 +2298,12 @@ icon_state = "toastedsandwich" filling_color = "#D9BE29" nutriment_amt = 3 - nutriment_desc = list("toasted bread" = 3, "cheese" = 3) + nutriment_desc = list("toasted bread" = 3, REAGENT_ID_CHEESE = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/grilledcheese/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/jellysandwich name = "Jelly Sandwich" @@ -2317,11 +2317,11 @@ /obj/item/reagent_containers/food/snacks/jellysandwich/slime/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) /obj/item/reagent_containers/food/snacks/jellysandwich/cherry/Initialize() . = ..() - reagents.add_reagent("cherryjelly", 5) + reagents.add_reagent(REAGENT_ID_CHERRYJELLY, 5) /obj/item/reagent_containers/food/snacks/jellysandwich/peanutbutter desc = "You wish you had some peanut butter to go with this... Oh wait!" @@ -2329,7 +2329,7 @@ /obj/item/reagent_containers/food/snacks/jellysandwich/peanutbutter/Initialize() . = ..() - reagents.add_reagent("peanutbutter", 5) + reagents.add_reagent(REAGENT_ID_PEANUTBUTTER, 5) // End Sandwiches ////////////////////////////////////////////// @@ -2341,7 +2341,7 @@ /obj/item/reagent_containers/food/snacks/boiledslimecore/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit name = "plump helmet biscuit" @@ -2350,7 +2350,7 @@ filling_color = "#CFB4C4" center_of_mass = list("x"=16, "y"=13) nutriment_amt = 5 - nutriment_desc = list("mushroom" = 4) + nutriment_desc = list(PLANT_MUSHROOMS = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit/Initialize() @@ -2358,7 +2358,7 @@ if(prob(10)) name = "exceptional plump helmet biscuit" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!" - reagents.add_reagent("nutriment", 3, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 3, nutriment_desc) /obj/item/reagent_containers/food/snacks/chawanmushi name = "chawanmushi" @@ -2371,7 +2371,7 @@ /obj/item/reagent_containers/food/snacks/chawanmushi/Initialize() . = ..() - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/tossedsalad name = "tossed salad" @@ -2381,7 +2381,7 @@ filling_color = "#76B87F" center_of_mass = list("x"=17, "y"=11) nutriment_amt = 8 - nutriment_desc = list("salad" = 2, "tomato" = 2, "carrot" = 2, "apple" = 2) + nutriment_desc = list("salad" = 2, PLANT_TOMATO = 2, PLANT_CARROT = 2, PLANT_APPLE = 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/validsalad @@ -2397,7 +2397,7 @@ /obj/item/reagent_containers/food/snacks/validsalad/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/appletart name = "golden apple streusel tart" @@ -2407,12 +2407,12 @@ filling_color = "#FFFF00" center_of_mass = list("x"=16, "y"=18) nutriment_amt = 8 - nutriment_desc = list("apple" = 8) + nutriment_desc = list(PLANT_APPLE = 8) bitesize = 3 /obj/item/reagent_containers/food/snacks/appletart/Initialize() . = ..() - reagents.add_reagent("gold", 5) + reagents.add_reagent(REAGENT_ID_GOLD, 5) /////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////Soups///////////////////////////////////////////////// @@ -2430,8 +2430,8 @@ /obj/item/reagent_containers/food/snacks/meatballsoup/Initialize() . = ..() - reagents.add_reagent("protein", 8) - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/slimesoup name = "slime soup" @@ -2443,8 +2443,8 @@ /obj/item/reagent_containers/food/snacks/slimesoup/Initialize() . = ..() - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 5) + reagents.add_reagent(REAGENT_ID_WATER, 10) /obj/item/reagent_containers/food/snacks/bloodsoup name = "Tomato soup" @@ -2457,9 +2457,9 @@ /obj/item/reagent_containers/food/snacks/bloodsoup/Initialize() . = ..() - reagents.add_reagent("protein", 2) - reagents.add_reagent("blood", 10) - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) + reagents.add_reagent(REAGENT_ID_BLOOD, 10) + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/clownstears name = JOB_CLOWN + "'s Tears" @@ -2474,8 +2474,8 @@ /obj/item/reagent_containers/food/snacks/clownstears/Initialize() . = ..() - reagents.add_reagent("banana", 5) - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_BANANA, 5) + reagents.add_reagent(REAGENT_ID_WATER, 10) /obj/item/reagent_containers/food/snacks/vegetablesoup name = "Vegetable soup" @@ -2484,13 +2484,13 @@ trash = /obj/item/trash/snack_bowl filling_color = "#AFC4B5" center_of_mass = list("x"=16, "y"=8) - nutriment_desc = list("carrot" = 2, "corn" = 2, "eggplant" = 2, "potato" = 2) + nutriment_desc = list(PLANT_CARROT = 2, PLANT_CORN = 2, PLANT_EGGPLANT = 2, PLANT_POTATO = 2) bitesize = 5 eating_sound = 'sound/items/drink.ogg' /obj/item/reagent_containers/food/snacks/vegetablesoup/Initialize() . = ..() - reagents.add_reagent("vegetable_soup", 10) + reagents.add_reagent(REAGENT_ID_VEGETABLESOUP, 10) /obj/item/reagent_containers/food/snacks/nettlesoup name = "Nettle soup" @@ -2500,14 +2500,14 @@ filling_color = "#AFC4B5" center_of_mass = list("x"=16, "y"=7) nutriment_amt = 8 - nutriment_desc = list("salad" = 4, "egg" = 2, "potato" = 2) + nutriment_desc = list("salad" = 4, REAGENT_ID_EGG = 2, PLANT_POTATO = 2) bitesize = 5 eating_sound = 'sound/items/drink.ogg' /obj/item/reagent_containers/food/snacks/nettlesoup/Initialize() . = ..() - reagents.add_reagent("water", 5) - reagents.add_reagent("tricordrazine", 5) + reagents.add_reagent(REAGENT_ID_WATER, 5) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 5) /obj/item/reagent_containers/food/snacks/mysterysoup name = "Mystery soup" @@ -2526,39 +2526,39 @@ var/mysteryselect = pick(1,2,3,4,5,6,7,8,9,10) switch(mysteryselect) if(1) - reagents.add_reagent("nutriment", 6, nutriment_desc) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 6, nutriment_desc) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 3) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 2) if(2) - reagents.add_reagent("nutriment", 6, nutriment_desc) - reagents.add_reagent("frostoil", 3) - reagents.add_reagent("tomatojuice", 2) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 6, nutriment_desc) + reagents.add_reagent(REAGENT_ID_FROSTOIL, 3) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 2) if(3) - reagents.add_reagent("nutriment", 5, nutriment_desc) - reagents.add_reagent("water", 5) - reagents.add_reagent("tricordrazine", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 5, nutriment_desc) + reagents.add_reagent(REAGENT_ID_WATER, 5) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 5) if(4) - reagents.add_reagent("nutriment", 5, nutriment_desc) - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 5, nutriment_desc) + reagents.add_reagent(REAGENT_ID_WATER, 10) if(5) - reagents.add_reagent("nutriment", 2, nutriment_desc) - reagents.add_reagent("banana", 10) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 2, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BANANA, 10) if(6) - reagents.add_reagent("nutriment", 6, nutriment_desc) - reagents.add_reagent("blood", 10) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 6, nutriment_desc) + reagents.add_reagent(REAGENT_ID_BLOOD, 10) if(7) - reagents.add_reagent("slimejelly", 10) - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 10) + reagents.add_reagent(REAGENT_ID_WATER, 10) if(8) - reagents.add_reagent("carbon", 10) - reagents.add_reagent("toxin", 10) + reagents.add_reagent(REAGENT_ID_CARBON, 10) + reagents.add_reagent(REAGENT_ID_TOXIN, 10) if(9) - reagents.add_reagent("nutriment", 5, nutriment_desc) - reagents.add_reagent("tomatojuice", 10) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 5, nutriment_desc) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 10) if(10) - reagents.add_reagent("nutriment", 6, nutriment_desc) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("imidazoline", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 6, nutriment_desc) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 5) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 5) /obj/item/reagent_containers/food/snacks/wishsoup name = "Wish Soup" @@ -2572,10 +2572,10 @@ /obj/item/reagent_containers/food/snacks/wishsoup/Initialize() . = ..() - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_WATER, 10) if(prob(25)) src.desc = "A wish come true!" - reagents.add_reagent("nutriment", 8, list("something good" = 8)) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 8, list("something good" = 8)) /obj/item/reagent_containers/food/snacks/tomatosoup name = "Tomato Soup" @@ -2589,7 +2589,7 @@ /obj/item/reagent_containers/food/snacks/tomatosoup/Initialize() . = ..() - reagents.add_reagent("tomato_soup", 10) + reagents.add_reagent(REAGENT_ID_TOMATOSOUP, 10) /obj/item/reagent_containers/food/snacks/mushroomsoup name = "chantrelle soup" @@ -2603,7 +2603,7 @@ /obj/item/reagent_containers/food/snacks/mushroomsoup/Initialize() . = ..() - reagents.add_reagent("mushroom_soup", 10) + reagents.add_reagent(REAGENT_ID_MUSHROOMSOUP, 10) /obj/item/reagent_containers/food/snacks/beetsoup name = "beet soup" @@ -2618,7 +2618,7 @@ /obj/item/reagent_containers/food/snacks/beetsoup/Initialize() . = ..() name = pick(list("borsch","bortsch","borstch","borsh","borshch","borscht")) - reagents.add_reagent("beet_soup", 10) + reagents.add_reagent(REAGENT_ID_BEETSOUP, 10) /obj/item/reagent_containers/food/snacks/soup/onion name = "onion soup" @@ -2632,7 +2632,7 @@ /obj/item/reagent_containers/food/snacks/soup/onion/Initialize() . = ..() - reagents.add_reagent("onion_soup", 10) + reagents.add_reagent(REAGENT_ID_ONIONSOUP, 10) /obj/item/reagent_containers/food/snacks/chickennoodlesoup name = "chicken noodle soup" @@ -2644,7 +2644,7 @@ /obj/item/reagent_containers/food/snacks/chickennoodlesoup/Initialize() . = ..() - reagents.add_reagent("chicken_noodle_soup", 10) + reagents.add_reagent(REAGENT_ID_CHICKENNOODLESOUP, 10) /obj/item/reagent_containers/food/snacks/stew name = "Stew" @@ -2653,7 +2653,7 @@ filling_color = "#9E673A" center_of_mass = list("x"=16, "y"=5) nutriment_amt = 6 - nutriment_desc = list("tomato" = 2, "potato" = 2, "carrot" = 2, "eggplant" = 2, "mushroom" = 2) + nutriment_desc = list(PLANT_TOMATO = 2, PLANT_POTATO = 2, PLANT_CARROT = 2, PLANT_EGGPLANT = 2, PLANT_MUSHROOMS = 2) drop_sound = 'sound/items/drop/shovel.ogg' pickup_sound = 'sound/items/pickup/shovel.ogg' bitesize = 10 @@ -2661,10 +2661,10 @@ /obj/item/reagent_containers/food/snacks/stew/Initialize() . = ..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("imidazoline", 5) - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 5) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 5) + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/bearstew name = "bear stew" @@ -2680,11 +2680,11 @@ /obj/item/reagent_containers/food/snacks/bearstew/Initialize() . = ..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("hyperzine", 5) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("imidazoline", 5) - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 5) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 5) + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/hotchili @@ -2701,9 +2701,9 @@ /obj/item/reagent_containers/food/snacks/hotchili/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 3) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 2) /obj/item/reagent_containers/food/snacks/coldchili name = "Cold Chili" @@ -2719,9 +2719,9 @@ /obj/item/reagent_containers/food/snacks/coldchili/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("frostoil", 3) - reagents.add_reagent("tomatojuice", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_FROSTOIL, 3) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 2) /obj/item/reagent_containers/food/snacks/bearchili @@ -2739,10 +2739,10 @@ /obj/item/reagent_containers/food/snacks/bearchili/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) - reagents.add_reagent("hyperzine", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 3) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 2) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 5) /////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////Sliceable///////////////////////////////////////////////// @@ -2798,7 +2798,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/meatbread/Initialize() . = ..() - reagents.add_reagent("protein", 20) + reagents.add_reagent(REAGENT_ID_PROTEIN, 20) /obj/item/reagent_containers/food/snacks/slice/meatbread name = "meatbread slice" @@ -2827,7 +2827,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/xenomeatbread/Initialize() . = ..() - reagents.add_reagent("protein", 20) + reagents.add_reagent(REAGENT_ID_PROTEIN, 20) /obj/item/reagent_containers/food/snacks/slice/xenomeatbread name = "xenomeatbread slice" @@ -2856,7 +2856,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/bananabread/Initialize() . = ..() - reagents.add_reagent("banana", 20) + reagents.add_reagent(REAGENT_ID_BANANA, 20) /obj/item/reagent_containers/food/snacks/slice/bananabread name = "Banana-nut bread slice" @@ -2878,7 +2878,7 @@ slices_num = 5 filling_color = "#F7FFE0" center_of_mass = list("x"=16, "y"=9) - nutriment_desc = list("tofu" = 10) + nutriment_desc = list(REAGENT_ID_TOFU = 10) nutriment_amt = 10 bitesize = 2 @@ -2916,13 +2916,13 @@ slices_num = 5 filling_color = "#FFF896" center_of_mass = list("x"=16, "y"=9) - nutriment_desc = list("bread" = 6, "cream" = 3, "cheese" = 3) + nutriment_desc = list("bread" = 6, REAGENT_ID_CREAM = 3, REAGENT_ID_CHEESE = 3) nutriment_amt = 5 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/creamcheesebread/Initialize() . = ..() - reagents.add_reagent("protein", 15) + reagents.add_reagent(REAGENT_ID_PROTEIN, 15) /obj/item/reagent_containers/food/snacks/slice/creamcheesebread name = "Cream Cheese Bread slice" @@ -2944,13 +2944,13 @@ slices_num = 5 filling_color = "#FFD675" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "carrot" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, PLANT_CARROT = 15) nutriment_amt = 25 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/carrotcake/Initialize() . = ..() - reagents.add_reagent("imidazoline", 10) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 10) /obj/item/reagent_containers/food/snacks/slice/carrotcake name = "Carrot Cake slice" @@ -2979,8 +2979,8 @@ /obj/item/reagent_containers/food/snacks/sliceable/braincake/Initialize() . = ..() - reagents.add_reagent("protein", 25) - reagents.add_reagent("alkysine", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 25) + reagents.add_reagent(REAGENT_ID_ALKYSINE, 10) /obj/item/reagent_containers/food/snacks/slice/braincake name = "Brain Cake slice" @@ -3003,13 +3003,13 @@ slices_num = 5 filling_color = "#FAF7AF" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "cream" = 10, "cheese" = 15) + nutriment_desc = list("cake" = 10, REAGENT_ID_CREAM = 10, REAGENT_ID_CHEESE = 15) nutriment_amt = 10 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/cheesecake/Initialize() . = ..() - reagents.add_reagent("protein", 15) + reagents.add_reagent(REAGENT_ID_PROTEIN, 15) /obj/item/reagent_containers/food/snacks/slice/cheesecake name = "Cheese Cake slice" @@ -3038,7 +3038,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/peanutcake/Initialize() . = ..() - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/slice/peanutcake name = "Peanut Cake slice" @@ -3061,7 +3061,7 @@ slices_num = 5 filling_color = "#F7EDD5" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "vanilla" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, REAGENT_ID_VANILLA = 15) nutriment_amt = 20 /obj/item/reagent_containers/food/snacks/slice/plaincake @@ -3085,7 +3085,7 @@ slices_num = 5 filling_color = "#FADA8E" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "orange" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, PLANT_ORANGE = 15) nutriment_amt = 20 /obj/item/reagent_containers/food/snacks/slice/orangecake @@ -3109,7 +3109,7 @@ slices_num = 5 filling_color = "#CBFA8E" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "lime" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, PLANT_LIME = 15) nutriment_amt = 20 /obj/item/reagent_containers/food/snacks/slice/limecake @@ -3133,7 +3133,7 @@ slices_num = 5 filling_color = "#FAFA8E" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "lemon" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, PLANT_LEMON = 15) nutriment_amt = 20 @@ -3158,7 +3158,7 @@ slices_num = 5 filling_color = "#805930" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "chocolate" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, REAGENT_ID_CHOCOLATE = 15) nutriment_amt = 20 /obj/item/reagent_containers/food/snacks/slice/chocolatecake @@ -3182,13 +3182,13 @@ slices_num = 5 filling_color = "#FFF700" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cheese" = 10) + nutriment_desc = list(REAGENT_ID_CHEESE = 10) nutriment_amt = 10 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/cheesewheel/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/cheesewedge name = "Cheese wedge" @@ -3212,7 +3212,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/birthdaycake/Initialize() . = ..() - reagents.add_reagent("sprinkles", 10) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 10) /obj/item/reagent_containers/food/snacks/slice/birthdaycake name = "Birthday Cake slice" @@ -3255,7 +3255,7 @@ slices_num = 5 filling_color = "#EBF5B8" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("cake" = 10, "sweetness" = 10, "apple" = 15) + nutriment_desc = list("cake" = 10, "sweetness" = 10, PLANT_APPLE = 15) nutriment_amt = 15 /obj/item/reagent_containers/food/snacks/slice/applecake @@ -3279,7 +3279,7 @@ slices_num = 5 filling_color = "#F5B951" center_of_mass = list("x"=16, "y"=10) - nutriment_desc = list("pie" = 5, "cream" = 5, "pumpkin" = 5) + nutriment_desc = list("pie" = 5, REAGENT_ID_CREAM = 5, PLANT_PUMPKIN = 5) nutriment_amt = 15 /obj/item/reagent_containers/food/snacks/slice/pumpkinpie @@ -3315,7 +3315,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/grilled_carp/Initialize() . = ..() - reagents.add_reagent("seafood", 12) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 12) /obj/item/reagent_containers/food/snacks/grilled_carp_slice name = "korlaaskak slice" @@ -3331,12 +3331,12 @@ slices_num = 5 filling_color = "#F5B951" nutriment_amt = 16 - nutriment_desc = list("lime" = 12, "graham crackers" = 4) + nutriment_desc = list(PLANT_LIME = 12, "graham crackers" = 4) center_of_mass = list("x"=16, "y"=10) /obj/item/reagent_containers/food/snacks/sliceable/keylimepie/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/keylimepieslice name = "slice of key lime pie" @@ -3345,7 +3345,7 @@ trash = /obj/item/trash/plate filling_color = "#F5B951" bitesize = 3 - nutriment_desc = list("lime" = 1) + nutriment_desc = list(PLANT_LIME = 1) center_of_mass = list("x"=16, "y"=12) /obj/item/reagent_containers/food/snacks/keylimepieslice/filled @@ -3359,12 +3359,12 @@ slices_num = 5 filling_color = "#F5B951" nutriment_amt = 10 - nutriment_desc = list("cheese" = 5, "egg" = 5) + nutriment_desc = list(REAGENT_ID_CHEESE = 5, REAGENT_ID_EGG = 5) center_of_mass = list("x"=16, "y"=10) /obj/item/reagent_containers/food/snacks/sliceable/quiche/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/quicheslice name = "slice of quiche" @@ -3381,7 +3381,7 @@ /obj/item/reagent_containers/food/snacks/quicheslice/filled/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/sliceable/brownies name = "brownies" @@ -3399,7 +3399,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/brownies/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/browniesslice name = "brownie" @@ -3416,7 +3416,7 @@ /obj/item/reagent_containers/food/snacks/browniesslice/filled/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/sliceable/cosmicbrownies name = "cosmic brownies" @@ -3434,11 +3434,11 @@ /obj/item/reagent_containers/food/snacks/sliceable/cosmicbrownies/Initialize() . = ..() - reagents.add_reagent("protein", 2) - reagents.add_reagent("ambrosia_extract", 2) - reagents.add_reagent("bicaridine", 1) - reagents.add_reagent("kelotane", 1) - reagents.add_reagent("toxin", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) + reagents.add_reagent(REAGENT_ID_AMBROSIAEXTRACT, 2) + reagents.add_reagent(REAGENT_ID_BICARIDINE, 1) + reagents.add_reagent(REAGENT_ID_KELOTANE, 1) + reagents.add_reagent(REAGENT_ID_TOXIN, 1) /obj/item/reagent_containers/food/snacks/cosmicbrowniesslice name = "cosmic brownie" @@ -3455,7 +3455,7 @@ /obj/item/reagent_containers/food/snacks/cosmicbrowniesslice/filled/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/lasagna name = "lasagna" @@ -3463,11 +3463,11 @@ icon = 'icons/obj/food.dmi' icon_state = "lasagna" nutriment_amt = 5 - nutriment_desc = list("tomato" = 4, "meat" = 2) + nutriment_desc = list(PLANT_TOMATO = 4, "meat" = 2) /obj/item/reagent_containers/food/snacks/lasagna/Initialize() . = ..() - reagents.add_reagent("protein", 2) //For meaty things. + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) //For meaty things. /obj/item/reagent_containers/food/snacks/gigapuddi name = "Astro-Pudding" @@ -3503,8 +3503,8 @@ /obj/item/reagent_containers/food/snacks/sliceable/buchedenoel/Initialize() . = ..() - reagents.add_reagent("sugar", 9) - reagents.add_reagent("coco", 5) + reagents.add_reagent(REAGENT_ID_SUGAR, 9) + reagents.add_reagent(REAGENT_ID_COCO, 5) /obj/item/reagent_containers/food/snacks/bucheslice name = "\improper Buche de Noel slice" @@ -3530,9 +3530,9 @@ /obj/item/reagent_containers/food/snacks/sliceable/turkey/Initialize() . = ..() - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("cookingoil", 1) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) + reagents.add_reagent(REAGENT_ID_COOKINGOIL, 1) /obj/item/reagent_containers/food/snacks/turkeyslice name = "turkey drumstick" @@ -3560,9 +3560,9 @@ /obj/item/reagent_containers/food/snacks/sliceable/turkey/Initialize() . = ..() - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("cookingoil", 1) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) + reagents.add_reagent(REAGENT_ID_COOKINGOIL, 1) /obj/item/reagent_containers/food/snacks/sliceable/turkey/on_slice_extra() for(var/i in extra_product) @@ -3656,14 +3656,14 @@ slice_path = /obj/item/reagent_containers/food/snacks/slice/margherita slices_num = 6 center_of_mass = list("x"=16, "y"=11) - nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15) + nutriment_desc = list("pizza crust" = 10, PLANT_TOMATO = 10, REAGENT_ID_CHEESE = 15) nutriment_amt = 35 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/pizza/margherita/Initialize() . = ..() - reagents.add_reagent("protein", 5) - reagents.add_reagent("tomatojuice", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 6) /obj/item/reagent_containers/food/snacks/slice/margherita name = "Margherita slice" @@ -3684,15 +3684,15 @@ slice_path = /obj/item/reagent_containers/food/snacks/pineappleslice slices_num = 6 center_of_mass = list("x"=16, "y"=11) - nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "ham" = 10) + nutriment_desc = list("pizza crust" = 10, PLANT_TOMATO = 10, "ham" = 10) nutriment_amt = 30 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/pizza/pineapple/Initialize() . = ..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("cheese", 5) - reagents.add_reagent("tomatojuice", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_CHEESE, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 6) /obj/item/reagent_containers/food/snacks/pineappleslice name = "ham & pineapple pizza slice" @@ -3703,7 +3703,7 @@ center_of_mass = list("x"=18, "y"=13) /obj/item/reagent_containers/food/snacks/pineappleslice/filled - nutriment_desc = list("pizza crust" = 5, "tomato" = 5) + nutriment_desc = list("pizza crust" = 5, PLANT_TOMATO = 5) nutriment_amt = 5 /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza @@ -3713,14 +3713,14 @@ slice_path = /obj/item/reagent_containers/food/snacks/slice/meatpizza slices_num = 6 center_of_mass = list("x"=16, "y"=11) - nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15, "meat" = 10) + nutriment_desc = list("pizza crust" = 10, PLANT_TOMATO = 10, REAGENT_ID_CHEESE = 15, "meat" = 10) nutriment_amt = 10 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/pizza/meatpizza/Initialize() . = ..() - reagents.add_reagent("protein", 34) - reagents.add_reagent("tomatojuice", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 34) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 6) /obj/item/reagent_containers/food/snacks/slice/meatpizza name = "Meatpizza slice" @@ -3741,13 +3741,13 @@ slice_path = /obj/item/reagent_containers/food/snacks/slice/mushroompizza slices_num = 6 center_of_mass = list("x"=16, "y"=11) - nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "mushroom" = 10) + nutriment_desc = list("pizza crust" = 10, PLANT_TOMATO = 10, REAGENT_ID_CHEESE = 5, PLANT_MUSHROOMS = 10) nutriment_amt = 35 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/Initialize() . = ..() - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/slice/mushroompizza name = "Mushroompizza slice" @@ -3768,15 +3768,15 @@ slice_path = /obj/item/reagent_containers/food/snacks/slice/vegetablepizza slices_num = 6 center_of_mass = list("x"=16, "y"=11) - nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "eggplant" = 5, "carrot" = 5, "corn" = 5) + nutriment_desc = list("pizza crust" = 10, PLANT_TOMATO = 10, REAGENT_ID_CHEESE = 5, PLANT_EGGPLANT = 5, PLANT_CARROT = 5, PLANT_CORN = 5) nutriment_amt = 25 bitesize = 2 /obj/item/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/Initialize() . = ..() - reagents.add_reagent("protein", 5) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("imidazoline", 12) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 6) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 12) /obj/item/reagent_containers/food/snacks/slice/vegetablepizza name = "Vegetable pizza slice" @@ -3822,9 +3822,9 @@ /obj/item/reagent_containers/food/snacks/sliceable/pizza/oldpizza/Initialize() . = ..() - reagents.add_reagent("protein", 5) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("mold", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 6) + reagents.add_reagent(REAGENT_ID_MOLD, 8) /obj/item/reagent_containers/food/snacks/slice/oldpizza name = "moldy pizza slice" @@ -4039,7 +4039,7 @@ /obj/item/reagent_containers/food/snacks/dionaroast/Initialize() . = ..() - reagents.add_reagent("radium", 2) + reagents.add_reagent(REAGENT_ID_RADIUM, 2) /obj/item/reagent_containers/food/snacks/dough name = "dough" @@ -4053,7 +4053,7 @@ /obj/item/reagent_containers/food/snacks/dough/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) // Dough + rolling pin = flat dough /obj/item/reagent_containers/food/snacks/dough/attackby(obj/item/W as obj, mob/user as mob) @@ -4076,7 +4076,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/flatdough/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/doughslice name = "dough slice" @@ -4160,11 +4160,11 @@ bitesize = 3 center_of_mass = list("x"=21, "y"=12) nutriment_amt = 4 - nutriment_desc = list("cheese" = 2,"taco shell" = 2) + nutriment_desc = list(REAGENT_ID_CHEESE = 2,"taco shell" = 2) /obj/item/reagent_containers/food/snacks/taco/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/rawcutlet name = "raw cutlet" @@ -4176,7 +4176,7 @@ /obj/item/reagent_containers/food/snacks/rawcutlet/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/cutlet name = "cutlet" @@ -4188,7 +4188,7 @@ /obj/item/reagent_containers/food/snacks/cutlet/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/rawmeatball name = "raw meatball" @@ -4200,7 +4200,7 @@ /obj/item/reagent_containers/food/snacks/rawmeatball/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/hotdog name = "hotdog" @@ -4211,7 +4211,7 @@ /obj/item/reagent_containers/food/snacks/hotdog/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) ///obj/item/reagent_containers/food/snacks/hotdog/old (Commented out on 4/23/2021 to make room for ancient hotdog) // name = "old hotdog" @@ -4219,7 +4219,7 @@ // ///obj/item/reagent_containers/food/snacks/hotdog/old/Initialize() // . = ..() -// reagents.add_reagent("mold", 6) +// reagents.add_reagent(REAGENT_ID_MOLD, 6) /obj/item/reagent_containers/food/snacks/flatbread name = "flatbread" @@ -4233,11 +4233,11 @@ // potato + knife = raw sticks /obj/item/reagent_containers/food/snacks/grown/attackby(obj/item/W, mob/user) - if(seed && seed.kitchen_tag && seed.kitchen_tag == "potato" && istype(W,/obj/item/material/knife)) + if(seed && seed.kitchen_tag && seed.kitchen_tag == PLANT_POTATO && istype(W,/obj/item/material/knife)) new /obj/item/reagent_containers/food/snacks/rawsticks(get_turf(src)) to_chat(user, span_notice("You cut the potato.")) qdel(src) - else if(seed && seed.kitchen_tag && seed.kitchen_tag == "sunflower" && istype(W,/obj/item/material/knife)) + else if(seed && seed.kitchen_tag && seed.kitchen_tag == PLANT_SUNFLOWERS && istype(W,/obj/item/material/knife)) new /obj/item/reagent_containers/food/snacks/rawsunflower(get_turf(src)) to_chat(user, span_notice("You remove the seeds from the flower, slightly damaging them.")) qdel(src) @@ -4279,9 +4279,9 @@ . = ..() set_light(1, 1, "#5dadcf") - reagents.add_reagent("oxycodone", 1) - reagents.add_reagent("sifsap", 5) - reagents.add_reagent("bliss", 5) + reagents.add_reagent(REAGENT_ID_OXYCODONE, 1) + reagents.add_reagent(REAGENT_ID_SIFSAP, 5) + reagents.add_reagent(REAGENT_ID_BLISS, 5) /obj/item/reagent_containers/food/snacks/bellefritter name = "frostbelle fritters" @@ -4294,8 +4294,8 @@ /obj/item/reagent_containers/food/snacks/bellefritter/Initialize() . = ..() - reagents.add_reagent("batter", 10) - reagents.add_reagent("sugar", 5) + reagents.add_reagent(REAGENT_ID_BATTER, 10) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) /obj/item/reagent_containers/food/snacks/roastedsunflower name = "sunflower seeds" @@ -4333,7 +4333,7 @@ /obj/item/reagent_containers/food/snacks/liquidfood/Initialize() . = ..() - reagents.add_reagent("iron", 3) + reagents.add_reagent(REAGENT_ID_IRON, 3) /obj/item/reagent_containers/food/snacks/liquidprotein name = "\improper LiquidProtein Ration" @@ -4348,8 +4348,8 @@ /obj/item/reagent_containers/food/snacks/liquidprotein/Initialize() . = ..() - reagents.add_reagent("protein", 30) - reagents.add_reagent("iron", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 30) + reagents.add_reagent(REAGENT_ID_IRON, 3) /obj/item/reagent_containers/food/snacks/liquidvitamin name = "\improper VitaPaste Ration" @@ -4364,11 +4364,11 @@ /obj/item/reagent_containers/food/snacks/liquidvitamin/Initialize() . = ..() - reagents.add_reagent("flour", 20) - reagents.add_reagent("tricordrazine", 5) - reagents.add_reagent("paracetamol", 5) - reagents.add_reagent("enzyme", 1) - reagents.add_reagent("iron", 3) + reagents.add_reagent(REAGENT_ID_FLOUR, 20) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 5) + reagents.add_reagent(REAGENT_ID_PARACETAMOL, 5) + reagents.add_reagent(REAGENT_ID_ENZYME, 1) + reagents.add_reagent(REAGENT_ID_IRON, 3) /obj/item/reagent_containers/food/snacks/meatcube name = "cubed meat" @@ -4380,7 +4380,7 @@ /obj/item/reagent_containers/food/snacks/meatcube/Initialize() . = ..() - reagents.add_reagent("protein", 15) + reagents.add_reagent(REAGENT_ID_PROTEIN, 15) /obj/item/reagent_containers/food/snacks/tastybread name = "bread tube" @@ -4405,7 +4405,7 @@ filling_color = "#A66829" center_of_mass = list("x"=15, "y"=12) nutriment_amt = 10 - nutriment_desc = list("mushroom" = 5, "salt" = 5) + nutriment_desc = list(PLANT_MUSHROOMS = 5, "salt" = 5) bitesize = 3 /obj/item/reagent_containers/food/snacks/unajerky @@ -4423,8 +4423,8 @@ /obj/item/reagent_containers/food/snacks/unajerky/Initialize() . =..() - reagents.add_reagent("protein", 8) - reagents.add_reagent("capsaicin", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 2) /obj/item/reagent_containers/food/snacks/sashimi name = "sashimi" @@ -4436,7 +4436,7 @@ /obj/item/reagent_containers/food/snacks/sashimi/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/benedict name = "eggs benedict" @@ -4444,12 +4444,12 @@ filling_color = "#FFDF78" icon_state = "benedict" nutriment_amt = 4 - nutriment_desc = list("bread" = 2, "bacon" = 2, "egg" = 2) + nutriment_desc = list("bread" = 2, "bacon" = 2, REAGENT_ID_EGG = 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/benedict/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/beans name = "baked beans" @@ -4460,7 +4460,7 @@ /obj/item/reagent_containers/food/snacks/beans/Initialize() . = ..() - reagents.add_reagent("bean_protein", 6) + reagents.add_reagent(REAGENT_ID_BEANPROTEIN, 6) /obj/item/reagent_containers/food/snacks/cookie name = "chocolate chip cookie" @@ -4468,7 +4468,7 @@ filling_color = "#DBC94F" icon_state = "cookie" nutriment_amt = 5 - nutriment_desc = list("sweetness" = 2, "cookie" = 1, "chocolate" = 2) + nutriment_desc = list("sweetness" = 2, "cookie" = 1, REAGENT_ID_CHOCOLATE = 2) bitesize = 1 /obj/item/reagent_containers/food/snacks/sugarcookie @@ -4497,16 +4497,16 @@ filling_color = "#E0CF9B" center_of_mass = list("x"=17, "y"=4) nutriment_amt = 6 - nutriment_desc = list("sweetness" = 2, "muffin" = 2, "berries" = 2) + nutriment_desc = list("sweetness" = 2, "muffin" = 2, PLANT_BERRIES = 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/berrymuffin/berry/Initialize() . = ..() - reagents.add_reagent("berryjuice", 3) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 3) /obj/item/reagent_containers/food/snacks/berrymuffin/poison/Initialize() . = ..() - reagents.add_reagent("poisonberryjuice", 3) + reagents.add_reagent(REAGENT_ID_POISONBERRYJUICE, 3) /obj/item/reagent_containers/food/snacks/ghostmuffin name = "booberry muffin" @@ -4515,16 +4515,16 @@ filling_color = "#799ACE" center_of_mass = list("x"=17, "y"=4) nutriment_amt = 6 - nutriment_desc = list("spookiness" = 4, "muffin" = 1, "berries" = 1) + nutriment_desc = list("spookiness" = 4, "muffin" = 1, PLANT_BERRIES = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/ghostmuffin/berry/Initialize() . = ..() - reagents.add_reagent("berryjuice", 3) + reagents.add_reagent(REAGENT_ID_BERRYJUICE, 3) /obj/item/reagent_containers/food/snacks/ghostmuffin/poison/Initialize() . = ..() - reagents.add_reagent("poisonberryjuice", 3) + reagents.add_reagent(REAGENT_ID_POISONBERRYJUICE, 3) /obj/item/reagent_containers/food/snacks/devilledegg name = "devilled eggs" @@ -4533,12 +4533,12 @@ filling_color = "#799ACE" center_of_mass = list("x"=17, "y"=16) nutriment_amt = 8 - nutriment_desc = list("egg" = 4, "chili" = 4) + nutriment_desc = list(REAGENT_ID_EGG = 4, PLANT_CHILI = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/devilledegg/Initialize() . = ..() - reagents.add_reagent("capsaicin", 2) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 2) /obj/item/reagent_containers/food/snacks/fruitsalad name = "fruit salad" @@ -4564,12 +4564,12 @@ icon_state = "rosesalad" filling_color = "#FF3867" nutriment_amt = 10 - nutriment_desc = list("bittersweet" = 10, "iron" = 5) + nutriment_desc = list("bittersweet" = 10, REAGENT_ID_IRON = 5) bitesize = 4 /obj/item/reagent_containers/food/snacks/rosesalad/Initialize() . = ..() - reagents.add_reagent("stoxin", 2) + reagents.add_reagent(REAGENT_ID_STOXIN, 2) /obj/item/reagent_containers/food/snacks/eggbowl name = "egg bowl" @@ -4578,12 +4578,12 @@ trash = /obj/item/trash/snack_bowl filling_color = "#FFFBDB" nutriment_amt = 6 - nutriment_desc = list("rice" = 2, "egg" = 4) + nutriment_desc = list(REAGENT_ID_RICE = 2, REAGENT_ID_EGG = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/eggbowl/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/tortilla name = "tortilla" @@ -4598,24 +4598,24 @@ desc = "That's some dangerously spicy nachos." icon_state = "cubannachos" nutriment_amt = 6 - nutriment_desc = list("salt" = 1, "cheese" = 2, "chili peppers" = 3) + nutriment_desc = list("salt" = 1, REAGENT_ID_CHEESE = 2, "chili peppers" = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/cubannachos/Initialize() . = ..() - reagents.add_reagent("capsaicin", 4) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 4) /obj/item/reagent_containers/food/snacks/curryrice name = "curry rice" desc = "That's some dangerously spicy rice." icon_state = "curryrice" nutriment_amt = 6 - nutriment_desc = list("salt" = 1, "rice" = 2, "chili peppers" = 3) + nutriment_desc = list("salt" = 1, REAGENT_ID_RICE = 2, "chili peppers" = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/curryrice/Initialize() . = ..() - reagents.add_reagent("capsaicin", 4) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 4) /obj/item/reagent_containers/food/snacks/piginblanket name = "pig in a blanket" @@ -4627,7 +4627,7 @@ /obj/item/reagent_containers/food/snacks/piginblanket/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/wormsickly name = "sickly worm" @@ -4640,8 +4640,8 @@ /obj/item/reagent_containers/food/snacks/wormsickly/Initialize() . = ..() - reagents.add_reagent("fishbait", 9) - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_FISHBAIT, 9) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/worm name = "strange worm" @@ -4654,8 +4654,8 @@ /obj/item/reagent_containers/food/snacks/worm/Initialize() . = ..() - reagents.add_reagent("fishbait", 15) - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_FISHBAIT, 15) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/wormdeluxe name = "deluxe worm" @@ -4668,8 +4668,8 @@ /obj/item/reagent_containers/food/snacks/wormdeluxe/Initialize() . = ..() - reagents.add_reagent("fishbait", 30) - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_FISHBAIT, 30) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/siffruit name = "pulsing fruit" @@ -4682,7 +4682,7 @@ /obj/item/reagent_containers/food/snacks/siffruit/Initialize() . = ..() - reagents.add_reagent("sifsap", 2) + reagents.add_reagent(REAGENT_ID_SIFSAP, 2) /obj/item/reagent_containers/food/snacks/siffruit/afterattack(obj/O as obj, mob/user as mob, proximity) if(istype(O,/obj/machinery/microwave)) @@ -4715,12 +4715,12 @@ desc = "This bread's got cheese n' chutzpah!" icon_state = "bagelcheese" nutriment_amt = 8 - nutriment_desc = list("bread" = 4, "cheese" = 4) + nutriment_desc = list("bread" = 4, REAGENT_ID_CHEESE = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/bagelcheese/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/bagelraisin name = "cinnamon raisin bagel" @@ -4748,8 +4748,8 @@ /obj/item/reagent_containers/food/snacks/bageleverything/Initialize() . = ..() - reagents.add_reagent("phoron", 5) - reagents.add_reagent("defective_nanites", 5) + reagents.add_reagent(REAGENT_ID_PHORON, 5) + reagents.add_reagent(REAGENT_ID_DEFECTIVENANITES, 5) /obj/item/reagent_containers/food/snacks/bageltwo name = "two bagels" @@ -4916,13 +4916,13 @@ var/composition_reagent_quantity ///mob/living/simple_mob/adultslime //The literal only thing in the game that uses this is commented out, so I comment out this too -// composition_reagent = "slimejelly" +// composition_reagent = REAGENT_ID_SLIMEJELLY /mob/living/carbon/alien/diona - composition_reagent = "nutriment"//Dionae are plants, so eating them doesn't give animal protein + composition_reagent = REAGENT_ID_NUTRIMENT//Dionae are plants, so eating them doesn't give animal protein /mob/living/simple_mob/slime - composition_reagent = "slimejelly" + composition_reagent = REAGENT_ID_SLIMEJELLY allow_mind_transfer = TRUE /mob/living/simple_mob @@ -4943,9 +4943,9 @@ /obj/item/reagent_containers/food/snacks/sausage/battered/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("batter", 1.7) - reagents.add_reagent("oil", 1.5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_BATTER, 1.7) + reagents.add_reagent(REAGENT_ID_OIL, 1.5) /obj/item/reagent_containers/food/snacks/jalapeno_poppers name = "jalapeno popper" @@ -4960,8 +4960,8 @@ /obj/item/reagent_containers/food/snacks/jalapeno_poppers/Initialize() . = ..() - reagents.add_reagent("batter", 2) - reagents.add_reagent("oil", 2) + reagents.add_reagent(REAGENT_ID_BATTER, 2) + reagents.add_reagent(REAGENT_ID_OIL, 2) /obj/item/reagent_containers/food/snacks/mouseburger name = "mouse burger" @@ -4972,7 +4972,7 @@ /obj/item/reagent_containers/food/snacks/mouseburger/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/chickenkatsu name = "chicken katsu" @@ -4986,16 +4986,16 @@ /obj/item/reagent_containers/food/snacks/chickenkatsu/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("beerbatter", 2) - reagents.add_reagent("oil", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_BEERBATTER, 2) + reagents.add_reagent(REAGENT_ID_OIL, 1) /obj/item/reagent_containers/food/snacks/sliceable/pizza/crunch/Initialize() . = ..() - reagents.add_reagent("batter", 6.5) - coating = reagents.get_reagent("batter") - reagents.add_reagent("oil", 4) + reagents.add_reagent(REAGENT_ID_BATTER, 6.5) + coating = reagents.get_reagent(REAGENT_ID_BATTER) + reagents.add_reagent(REAGENT_ID_OIL, 4) /obj/item/reagent_containers/food/snacks/funnelcake name = "funnel cake" @@ -5008,8 +5008,8 @@ /obj/item/reagent_containers/food/snacks/funnelcake/Initialize() . = ..() - reagents.add_reagent("batter", 10) - reagents.add_reagent("sugar", 5) + reagents.add_reagent(REAGENT_ID_BATTER, 10) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) /obj/item/reagent_containers/food/snacks/spreads name = "nutri-spread" @@ -5030,8 +5030,8 @@ /obj/item/reagent_containers/food/snacks/spreads/Initialize() . = ..() - reagents.add_reagent("triglyceride", 20) - reagents.add_reagent("sodiumchloride",1) + reagents.add_reagent(REAGENT_ID_TRIGLYCERIDE, 20) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE,1) /obj/item/reagent_containers/food/snacks/rawcutlet/attackby(obj/item/W as obj, mob/user as mob) if(istype(W,/obj/item/material/knife)) @@ -5051,7 +5051,7 @@ /obj/item/reagent_containers/food/snacks/rawbacon/Initialize() . = ..() - reagents.add_reagent("protein", 0.33) + reagents.add_reagent(REAGENT_ID_PROTEIN, 0.33) /obj/item/reagent_containers/food/snacks/bacon name = "bacon" @@ -5076,8 +5076,8 @@ /obj/item/reagent_containers/food/snacks/bacon/Initialize() . = ..() - reagents.add_reagent("protein", 0.33) - reagents.add_reagent("triglyceride", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 0.33) + reagents.add_reagent(REAGENT_ID_TRIGLYCERIDE, 1) /obj/item/reagent_containers/food/snacks/bacon_stick name = "eggpop" @@ -5087,8 +5087,8 @@ /obj/item/reagent_containers/food/snacks/bacon_stick/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("egg", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_EGG, 1) /obj/item/reagent_containers/food/snacks/chilied_eggs name = "Redeemed eggs" @@ -5098,8 +5098,8 @@ /obj/item/reagent_containers/food/snacks/chilied_eggs/Initialize() . = ..() - reagents.add_reagent("egg", 6) - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_EGG, 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/bacon_and_eggs name = "bacon and eggs" @@ -5109,8 +5109,8 @@ /obj/item/reagent_containers/food/snacks/bacon_and_eggs/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("egg", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_EGG, 1) /obj/item/reagent_containers/food/snacks/sweet_and_sour name = "sweet and sour pork" @@ -5122,7 +5122,7 @@ /obj/item/reagent_containers/food/snacks/sweet_and_sour/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/corn_dog name = "corn dog" @@ -5134,7 +5134,7 @@ /obj/item/reagent_containers/food/snacks/corn_dog/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/truffle name = "chocolate truffle" @@ -5145,7 +5145,7 @@ /obj/item/reagent_containers/food/snacks/truffle/Initialize() . = ..() - reagents.add_reagent("coco", 6) + reagents.add_reagent(REAGENT_ID_COCO, 6) /obj/item/reagent_containers/food/snacks/truffle/random name = "mystery chocolate truffle" @@ -5153,7 +5153,7 @@ /obj/item/reagent_containers/food/snacks/truffle/random/Initialize() . = ..() - var/reagent_string = pick(list("cream","cherryjelly","mint","frostoil","capsaicin","cream","coffee","milkshake")) + var/reagent_string = pick(list(REAGENT_ID_CREAM,REAGENT_ID_CHERRYJELLY,REAGENT_ID_MINT,REAGENT_ID_FROSTOIL,REAGENT_ID_CAPSAICIN,REAGENT_ID_CREAM,REAGENT_ID_COFFEE,REAGENT_ID_MILKSHAKE)) reagents.add_reagent(reagent_string, 4) /obj/item/reagent_containers/food/snacks/bacon_flatbread @@ -5165,7 +5165,7 @@ /obj/item/reagent_containers/food/snacks/bacon_flatbread/Initialize() . = ..() - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/meat_pocket name = "meat pocket" @@ -5176,7 +5176,7 @@ /obj/item/reagent_containers/food/snacks/meat_pocket/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/fish_taco name = "fish taco" @@ -5187,7 +5187,7 @@ /obj/item/reagent_containers/food/snacks/fish_taco/Initialize() . = ..() - reagents.add_reagent("seafood",3) + reagents.add_reagent(REAGENT_ID_SEAFOOD,3) /obj/item/reagent_containers/food/snacks/nt_muffin name = "breakfast muffin" @@ -5198,7 +5198,7 @@ /obj/item/reagent_containers/food/snacks/nt_muffin/Initialize() . = ..() - reagents.add_reagent("protein",5) + reagents.add_reagent(REAGENT_ID_PROTEIN,5) /obj/item/reagent_containers/food/snacks/pineapple_ring name = "pineapple rings" @@ -5209,7 +5209,7 @@ /obj/item/reagent_containers/food/snacks/pineapple_ring/Initialize() . = ..() - reagents.add_reagent("pineapplejuice",3) + reagents.add_reagent(REAGENT_ID_PINEAPPLEJUICE,3) /obj/item/reagent_containers/food/snacks/burger/bacon @@ -5224,7 +5224,7 @@ /obj/item/reagent_containers/food/snacks/burger/bacon/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/blt name = "BLT" @@ -5238,7 +5238,7 @@ /obj/item/reagent_containers/food/snacks/blt/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/porkbowl name = "pork bowl" @@ -5250,8 +5250,8 @@ /obj/item/reagent_containers/food/snacks/porkbowl/Initialize() . = ..() - reagents.add_reagent("rice", 6) - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_RICE, 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/mashedpotato name = "mashed potato" @@ -5276,7 +5276,7 @@ /obj/item/reagent_containers/food/snacks/loadedbakedpotato/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/bangersandmash name = "Bangers and Mash" @@ -5291,7 +5291,7 @@ /obj/item/reagent_containers/food/snacks/bangersandmash/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/cheesymash name = "Cheesy Mashed Potato" @@ -5306,7 +5306,7 @@ /obj/item/reagent_containers/food/snacks/cheesymash/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/croissant name = "croissant" @@ -5347,7 +5347,7 @@ var/shape = pick("lump", "star", "lizard", "corgi") desc = "A chicken nugget vaguely shaped like a [shape]." icon_state = "nugget_[shape]" - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/icecreamsandwich name = "ice cream sandwich" @@ -5368,7 +5368,7 @@ /obj/item/reagent_containers/food/snacks/honeybun/Initialize() . = ..() - reagents.add_reagent("honey", 3) + reagents.add_reagent(REAGENT_ID_HONEY, 3) // Moved /bun/attackby() from /code/modules/food/food/snacks.dm /obj/item/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob) @@ -5627,7 +5627,7 @@ /obj/item/reagent_containers/food/snacks/fuegoburrito/Initialize() . = ..() - reagents.add_reagent("capsaicin", 4) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 4) /obj/item/reagent_containers/food/snacks/meatburrito name = "carne asada burrito" @@ -5639,19 +5639,19 @@ /obj/item/reagent_containers/food/snacks/meatburrito/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/cheeseburrito name = "Cheese burrito" desc = "It's a burrito filled with beans and cheese." icon_state = "cheeseburrito" nutriment_amt = 6 - nutriment_desc = list("tortilla" = 3, "cheese" = 3) + nutriment_desc = list("tortilla" = 3, REAGENT_ID_CHEESE = 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/cheeseburrito/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/eggroll name = "egg roll" @@ -5660,12 +5660,12 @@ filling_color = "#799ACE" center_of_mass = list("x"=17, "y"=4) nutriment_amt = 4 - nutriment_desc = list("egg" = 4) + nutriment_desc = list(REAGENT_ID_EGG = 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/eggroll/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/burrito name = "chilli burrito" @@ -5678,7 +5678,7 @@ /obj/item/reagent_containers/food/snacks/burrito/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/burrito_spicy name = "spicy burrito" @@ -5691,7 +5691,7 @@ /obj/item/reagent_containers/food/snacks/burrito_spicy/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/burrito_cheese name = "carne queso burrito" @@ -5704,7 +5704,7 @@ /obj/item/reagent_containers/food/snacks/burrito_cheese/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/burrito_cheese_spicy name = "spicy cheese burrito" @@ -5717,7 +5717,7 @@ /obj/item/reagent_containers/food/snacks/burrito_cheese_spicy/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/burrito_vegan name = "vegan burrito" @@ -5730,7 +5730,7 @@ /obj/item/reagent_containers/food/snacks/burrito_vegan/Initialize() . = ..() - reagents.add_reagent("tofu", 6) + reagents.add_reagent(REAGENT_ID_TOFU, 6) /obj/item/reagent_containers/food/snacks/breakfast_wrap name = "breakfast wrap" @@ -5761,8 +5761,8 @@ /obj/item/reagent_containers/food/snacks/burrito_hell/Initialize() . = ..() - reagents.add_reagent("protein", 9) - reagents.add_reagent("condensedcapsaicin", 10) //what could possibly go wrong + reagents.add_reagent(REAGENT_ID_PROTEIN, 9) + reagents.add_reagent(REAGENT_ID_CONDENSEDCAPSAICIN, 10) //what could possibly go wrong //End Burritos/////////////////////////////////// @@ -5774,8 +5774,8 @@ /obj/item/reagent_containers/food/snacks/hatchling_suprise/Initialize() . = ..() - reagents.add_reagent("egg", 2) - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_EGG, 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/red_sun_special name = "red sun special" @@ -5785,7 +5785,7 @@ /obj/item/reagent_containers/food/snacks/red_sun_special/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/riztizkzi_sea name = "moghesian sea delight" @@ -5795,7 +5795,7 @@ /obj/item/reagent_containers/food/snacks/riztizkzi_sea/Initialize() . = ..() - reagents.add_reagent("egg", 4) + reagents.add_reagent(REAGENT_ID_EGG, 4) /obj/item/reagent_containers/food/snacks/father_breakfast name = "breakfast of champions" @@ -5805,8 +5805,8 @@ /obj/item/reagent_containers/food/snacks/father_breakfast/Initialize() . = ..() - reagents.add_reagent("egg", 4) - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_EGG, 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/stuffed_meatball name = "stuffed meatball" //YES @@ -5816,7 +5816,7 @@ /obj/item/reagent_containers/food/snacks/stuffed_meatball/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/egg_pancake name = "meat pancake" @@ -5826,8 +5826,8 @@ /obj/item/reagent_containers/food/snacks/egg_pancake/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("egg", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_EGG, 2) /obj/item/reagent_containers/food/snacks/redcurry name = "red curry" @@ -5843,7 +5843,7 @@ /obj/item/reagent_containers/food/snacks/redcurry/Initialize() . = ..() - reagents.add_reagent("protein", 7) + reagents.add_reagent(REAGENT_ID_PROTEIN, 7) /obj/item/reagent_containers/food/snacks/greencurry name = "green curry" @@ -5859,8 +5859,8 @@ /obj/item/reagent_containers/food/snacks/greencurry/Initialize() . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("capsaicin", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 2) /obj/item/reagent_containers/food/snacks/yellowcurry name = "yellow curry" @@ -5876,7 +5876,7 @@ /obj/item/reagent_containers/food/snacks/yellowcurry/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/bearburger name = "bearburger" @@ -5888,7 +5888,7 @@ /obj/item/reagent_containers/food/snacks/bearburger/Initialize() . = ..() - reagents.add_reagent("protein", 4) //So spawned burgers will not be empty I guess? + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) //So spawned burgers will not be empty I guess? /obj/item/reagent_containers/food/snacks/bibimbap name = "bibimbap bowl" @@ -5897,13 +5897,13 @@ trash = /obj/item/trash/snack_bowl filling_color = "#4f2100" nutriment_amt = 10 - nutriment_desc = list("egg" = 5, "vegetables" = 5) + nutriment_desc = list(REAGENT_ID_EGG = 5, "vegetables" = 5) center_of_mass = list("x"=15, "y"=9) bitesize = 4 /obj/item/reagent_containers/food/snacks/bibimbap/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/lomein name = "lo mein" @@ -5919,7 +5919,7 @@ /obj/item/reagent_containers/food/snacks/lomein/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/friedrice name = "fried rice" @@ -5929,7 +5929,7 @@ trash = /obj/item/trash/snack_bowl filling_color = "#FFFBDB" nutriment_amt = 7 - nutriment_desc = list("rice" = 7) + nutriment_desc = list(REAGENT_ID_RICE = 7) center_of_mass = list("x"=17, "y"=11) bitesize = 2 @@ -5945,7 +5945,7 @@ /obj/item/reagent_containers/food/snacks/chickenfillet/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/friedmushroom name = "fried mushroom" @@ -5959,7 +5959,7 @@ /obj/item/reagent_containers/food/snacks/friedmushroom/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/pisanggoreng name = "pisang goreng" @@ -5975,7 +5975,7 @@ /obj/item/reagent_containers/food/snacks/pisanggoreng/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/meatbun name = "meat and leaf bun" @@ -5989,7 +5989,7 @@ /obj/item/reagent_containers/food/snacks/meatbun/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/spicedmeatbun name = "char sui meat bun" @@ -6003,7 +6003,7 @@ /obj/item/reagent_containers/food/snacks/spicedmeatbun/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/custardbun name = "custard bun" @@ -6029,7 +6029,7 @@ /obj/item/reagent_containers/food/snacks/chickenmomo/Initialize() . = ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) /obj/item/reagent_containers/food/snacks/veggiemomo name = "veggie momo" @@ -6045,7 +6045,7 @@ /obj/item/reagent_containers/food/snacks/veggiemomo/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/risotto name = "risotto" @@ -6055,13 +6055,13 @@ trash = /obj/item/trash/snack_bowl filling_color = "#edd7d7" nutriment_amt = 9 - nutriment_desc = list("savory rice" = 6, "cream" = 3) + nutriment_desc = list("savory rice" = 6, REAGENT_ID_CREAM = 3) center_of_mass = list("x"=15, "y"=9) bitesize = 2 /obj/item/reagent_containers/food/snacks/risotto/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/risottoballs name = "risotto balls" @@ -6071,7 +6071,7 @@ trash = /obj/item/trash/snack_bowl filling_color = "#edd7d7" nutriment_amt = 1 - nutriment_desc = list("batter" = 1) + nutriment_desc = list(REAGENT_ID_BATTER = 1) center_of_mass = list("x"=15, "y"=9) bitesize = 3 @@ -6082,14 +6082,14 @@ trash = /obj/item/trash/plate filling_color = "#FFDF78" nutriment_amt = 1 - nutriment_desc = list("egg" = 1) + nutriment_desc = list(REAGENT_ID_EGG = 1) center_of_mass = list("x"=16, "y"=14) bitesize = 2 /obj/item/reagent_containers/food/snacks/poachedegg/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("blackpepper", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) /obj/item/reagent_containers/food/snacks/ribplate name = "plate of ribs" @@ -6098,16 +6098,16 @@ trash = /obj/item/trash/plate filling_color = "#7A3D11" nutriment_amt = 6 - nutriment_desc = list("barbecue" = 6) + nutriment_desc = list(REAGENT_ID_BARBECUE = 6) center_of_mass = list("x"=16, "y"=13) bitesize = 4 /obj/item/reagent_containers/food/snacks/ribplate/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("triglyceride", 2) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("honey", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_TRIGLYCERIDE, 2) + reagents.add_reagent(REAGENT_ID_BLACKPEPPER, 1) + reagents.add_reagent(REAGENT_ID_HONEY, 5) /obj/item/reagent_containers/food/snacks/omurice name = "omelette rice" @@ -6116,7 +6116,7 @@ icon_state = "omurice" trash = /obj/item/trash/plate nutriment_amt = 8 - nutriment_desc = list("rice" = 4, "egg" = 4) + nutriment_desc = list(REAGENT_ID_RICE = 4, REAGENT_ID_EGG = 4) bitesize = 1 /obj/item/reagent_containers/food/snacks/omurice/heart @@ -6142,7 +6142,7 @@ //////////////////////////////////////////////////////////////////////////// /obj/item/reagent_containers/food/snacks/mint - name = "mint" + name = REAGENT_ID_MINT desc = "it is only wafer thin." icon_state = "mint" filling_color = "#F2F2F2" @@ -6151,7 +6151,7 @@ /obj/item/reagent_containers/food/snacks/mint/Initialize() . = ..() - reagents.add_reagent("mint", 1) + reagents.add_reagent(REAGENT_ID_MINT, 1) /obj/item/reagent_containers/food/snacks/mint/admints desc = "Spearmint, peppermint's non-festive cousin." @@ -6190,7 +6190,7 @@ /obj/item/reagent_containers/food/snacks/candy/Initialize() . = ..() - reagents.add_reagent("sugar", 3) + reagents.add_reagent(REAGENT_ID_SUGAR, 3) /obj/item/reagent_containers/food/snacks/namagashi name = "\improper Ryo-kucha Namagashi" @@ -6206,7 +6206,7 @@ /obj/item/reagent_containers/food/snacks/namagashi/Initialize() . = ..() - reagents.add_reagent("sugar", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) /obj/item/reagent_containers/food/snacks/candy/proteinbar name = "\improper SwoleMAX protein bar" @@ -6216,13 +6216,13 @@ icon_state = "proteinbar" trash = /obj/item/trash/candy/proteinbar nutriment_amt = 9 - nutriment_desc = list("candy" = 1, "protein" = 8) + nutriment_desc = list("candy" = 1, REAGENT_ID_PROTEIN = 8) bitesize = 6 /obj/item/reagent_containers/food/snacks/candy/proteinbar/Initialize() . = ..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("sugar", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_SUGAR, 4) /obj/item/reagent_containers/food/snacks/candy/gummy name = "\improper AlliCo Gummies" @@ -6237,7 +6237,7 @@ /obj/item/reagent_containers/food/snacks/candy/gummy/Initialize() . = ..() - reagents.add_reagent("sugar", 5) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) /obj/item/reagent_containers/food/snacks/cookiesnack name = "Carps Ahoy! miniature cookies" @@ -6259,12 +6259,12 @@ icon_state = "fruitbar" trash = /obj/item/trash/candy/fruitbar nutriment_amt = 13 - nutriment_desc = list("apricot" = 2, "sugar" = 2, "dates" = 2, "cranberry" = 2, "apple" = 2) + nutriment_desc = list("apricot" = 2, REAGENT_ID_SUGAR = 2, "dates" = 2, "cranberry" = 2, PLANT_APPLE = 2) bitesize = 6 /obj/item/reagent_containers/food/snacks/fruitbar/Initialize() . = ..() - reagents.add_reagent("sugar", 4) + reagents.add_reagent(REAGENT_ID_SUGAR, 4) ///////////////////////////////////////////////////////////////////////////// //////////////////////////////Candy Bars (1-10)////////////////////////////// @@ -6285,7 +6285,7 @@ /obj/item/reagent_containers/food/snacks/cb01/Initialize() . = ..() - reagents.add_reagent("sugar", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) /obj/item/reagent_containers/food/snacks/cb02 name = "\improper Hundred-Thousand Thaler Bar" @@ -6296,13 +6296,13 @@ icon_state = "cb02" trash = /obj/item/trash/candy/cb02 nutriment_amt = 4 - nutriment_desc = list("chocolate" = 2, "caramel" = 1, "puffed rice" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, "caramel" = 1, "puffed rice" = 1) w_class = 1 bitesize = 2 /obj/item/reagent_containers/food/snacks/cb02/Initialize() . = ..() - reagents.add_reagent("sugar", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) /obj/item/reagent_containers/food/snacks/cb03 name = "\improper Aerostat Bar" @@ -6313,13 +6313,13 @@ icon_state = "cb03" trash = /obj/item/trash/candy/cb03 nutriment_amt = 4 - nutriment_desc = list("chocolate" = 4) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 4) w_class = 1 bitesize = 2 /obj/item/reagent_containers/food/snacks/cb03/Initialize() . = ..() - reagents.add_reagent("sugar", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) /obj/item/reagent_containers/food/snacks/cb04 name = "\improper Lars' Saltlakris" @@ -6330,13 +6330,13 @@ icon_state = "cb04" trash = /obj/item/trash/candy/cb04 nutriment_amt = 4 - nutriment_desc = list("chocolate" = 2, "salt = 1", "licorice" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, "salt = 1", "licorice" = 1) w_class = 1 bitesize = 2 /obj/item/reagent_containers/food/snacks/cb04/Initialize() . = ..() - reagents.add_reagent("sugar", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) /obj/item/reagent_containers/food/snacks/cb05 name = "\improper Andromeda Bar" @@ -6353,7 +6353,7 @@ /obj/item/reagent_containers/food/snacks/cb05/Initialize() . = ..() - reagents.add_reagent("sugar", 3) + reagents.add_reagent(REAGENT_ID_SUGAR, 3) /obj/item/reagent_containers/food/snacks/cb06 name = "\improper Mocha Crunch" @@ -6364,14 +6364,14 @@ icon_state = "cb06" trash = /obj/item/trash/candy/cb06 nutriment_amt = 4 - nutriment_desc = list("chocolate" = 2, "coffee" = 1, "vanilla wafer" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, REAGENT_ID_COFFEE = 1, "vanilla wafer" = 1) w_class = 1 bitesize = 3 /obj/item/reagent_containers/food/snacks/cb06/Initialize() . = ..() - reagents.add_reagent("sugar", 1) - reagents.add_reagent("coffee", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) + reagents.add_reagent(REAGENT_ID_COFFEE, 1) /obj/item/reagent_containers/food/snacks/cb07 name = "\improper TaroMilk Bar" @@ -6382,13 +6382,13 @@ icon_state = "cb07" trash = /obj/item/trash/candy/cb07 nutriment_amt = 4 - nutriment_desc = list("chocolate" = 2, "taro" = 2) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, "taro" = 2) w_class = 1 bitesize = 3 /obj/item/reagent_containers/food/snacks/cb07/Initialize() . = ..() - reagents.add_reagent("sugar", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) /obj/item/reagent_containers/food/snacks/cb08 name = "\improper Cronk Bar" @@ -6399,13 +6399,13 @@ icon_state = "cb08" trash = /obj/item/trash/candy/cb08 nutriment_amt = 3 - nutriment_desc = list("chocolate" = 2, "malt puffs" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, "malt puffs" = 1) w_class = 1 bitesize = 3 /obj/item/reagent_containers/food/snacks/cb08/Initialize() . = ..() - reagents.add_reagent("sugar", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) /obj/item/reagent_containers/food/snacks/cb09 name = "\improper Kaju Mamma! Bar" @@ -6422,9 +6422,9 @@ /obj/item/reagent_containers/food/snacks/cb09/Initialize() . = ..() - reagents.add_reagent("sugar", 1) - reagents.add_reagent("milk", 1) - reagents.add_reagent("peanutoil", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) + reagents.add_reagent(REAGENT_ID_MILK, 1) + reagents.add_reagent(REAGENT_ID_PEANUTOIL, 1) /obj/item/reagent_containers/food/snacks/cb10 name = "\improper Shantak Bar" @@ -6435,15 +6435,15 @@ icon_state = "cb10" trash = /obj/item/trash/candy/cb10 nutriment_amt = 5 - nutriment_desc = list("chocolate" = 2, "caramel" = 1, "peanuts" = 1, "nougat" = 1) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, "caramel" = 1, "peanuts" = 1, "nougat" = 1) w_class = 1 bitesize = 3 /obj/item/reagent_containers/food/snacks/cb10/Initialize() . = ..() - reagents.add_reagent("sugar", 1) - reagents.add_reagent("protein", 1) - reagents.add_reagent("peanutoil", 1) + reagents.add_reagent(REAGENT_ID_SUGAR, 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_PEANUTOIL, 1) ////////////////////Misc Vend Items//////////////////////////////////////////////////////////////// @@ -6478,7 +6478,7 @@ icon_state = "chips_snv" trash = /obj/item/trash/chips/snv nutriment_amt = 3 - nutriment_desc = list("salt" = 1, "vinegar" = 2) + nutriment_desc = list("salt" = 1, REAGENT_ID_VINEGAR = 2) /obj/item/reagent_containers/food/snacks/tastybread name = "bread tube" @@ -6503,7 +6503,7 @@ filling_color = "#A66829" center_of_mass = list("x"=15, "y"=12) nutriment_amt = 10 - nutriment_desc = list("mushroom" = 5, "salt" = 5) + nutriment_desc = list(PLANT_MUSHROOMS = 5, "salt" = 5) bitesize = 3 /obj/item/reagent_containers/food/snacks/sosjerky @@ -6519,7 +6519,7 @@ /obj/item/reagent_containers/food/snacks/sosjerky/Initialize() . =..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/unajerky name = "Moghes Imported Sissalik Jerky" @@ -6536,8 +6536,8 @@ /obj/item/reagent_containers/food/snacks/unajerky/Initialize() . =..() - reagents.add_reagent("protein", 8) - reagents.add_reagent("capsaicin", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 2) /obj/item/reagent_containers/food/snacks/tuna name = "\improper Tuna Snax" @@ -6554,7 +6554,7 @@ /obj/item/reagent_containers/food/snacks/tuna/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/pistachios name = "pistachios" @@ -6594,7 +6594,7 @@ /obj/item/reagent_containers/food/snacks/squid/true/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/croutons name = "\improper Suhariki" @@ -6622,7 +6622,7 @@ /obj/item/reagent_containers/food/snacks/salo/true/Initialize() . = ..() - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/driedfish name = "\improper Vobla" @@ -6638,7 +6638,7 @@ /obj/item/reagent_containers/food/snacks/driedfish/Initialize() .=..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/no_raisin name = "4no Raisins" @@ -6664,7 +6664,7 @@ // ///obj/item/reagent_containers/food/snacks/spacetwinkie/Initialize() // . = ..() -// reagents.add_reagent("sugar", 4) +// reagents.add_reagent(REAGENT_ID_SUGAR, 4) /obj/item/reagent_containers/food/snacks/cheesiehonkers name = "Cheesie Honkers" @@ -6676,7 +6676,7 @@ filling_color = "#FFA305" center_of_mass = list("x"=15, "y"=9) nutriment_amt = 4 - nutriment_desc = list("cheese" = 5, "chips" = 2) + nutriment_desc = list(REAGENT_ID_CHEESE = 5, "chips" = 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/syndicake @@ -6694,7 +6694,7 @@ /obj/item/reagent_containers/food/snacks/syndicake/Initialize() . = ..() - reagents.add_reagent("doctorsdelight", 5) + reagents.add_reagent(REAGENT_ID_DOCTORSDELIGHT, 5) ////////////////////sol_vend (Mars Mart)//////////////////////////////////////////////////// @@ -6718,7 +6718,7 @@ trash = /obj/item/trash/saturno filling_color = "#dca319" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("salt" = 4, "peanut" = 2, "wood?" = 1) + nutriment_desc = list("salt" = 4, PLANT_PEANUT = 2, "wood?" = 1) nutriment_amt = 5 bitesize = 2 @@ -6730,7 +6730,7 @@ trash = /obj/item/trash/jupiter filling_color = "#dc1919" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("sweetness" = 4, "vanilla" = 1) + nutriment_desc = list("sweetness" = 4, REAGENT_ID_VANILLA = 1) nutriment_amt = 5 bitesize = 2 @@ -6754,7 +6754,7 @@ trash = /obj/item/trash/mars filling_color = "#d2c63f" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("eggs" = 4, "potato" = 4, "mustard" = 2) + nutriment_desc = list("eggs" = 4, PLANT_POTATO = 4, REAGENT_ID_MUSTARD = 2) nutriment_amt = 8 bitesize = 2 @@ -6772,7 +6772,7 @@ /obj/item/reagent_containers/food/snacks/venus/Initialize() .=..() - reagents.add_reagent("capsaicin", 5) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 5) /obj/item/reagent_containers/food/snacks/sun_snax name = "\improper Sun Snax!" @@ -6788,7 +6788,7 @@ /obj/item/reagent_containers/food/snacks/sun_snax/Initialize() .=..() - reagents.add_reagent("capsaicin", 6) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 6) /obj/item/reagent_containers/food/snacks/oort name = "\improper Oort Cloud Rocks" @@ -6804,7 +6804,7 @@ /obj/item/reagent_containers/food/snacks/oort/Initialize() .=..() - reagents.add_reagent("frostoil",5) + reagents.add_reagent(REAGENT_ID_FROSTOIL,5) /obj/item/reagent_containers/food/snacks/pretzels name = "\improper Value Pretzel Snack" @@ -6827,7 +6827,7 @@ description_fluff = "A form of fermented shark that originated on Earth as far back as the 17th century. Modern Hakarl is made from vat-made fermented shark and is distributed across the galaxy as a delicacy. However, few are able to stand the smell or taste of the meat." filling_color = "#916E36" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("fish" = 2, "salt" = 2, "ammonia" = 1) + nutriment_desc = list("fish" = 2, "salt" = 2, REAGENT_ID_AMMONIA = 1) nutriment_amt = 4 bitesize = 1 @@ -6838,7 +6838,7 @@ icon = 'icons/obj/food_snacks.dmi' icon_state = "ricecake" desc = "Ancient earth snack food made from balled up rice." - nutriment_desc = list("rice" = 4, "sweetness" = 1) + nutriment_desc = list(REAGENT_ID_RICE = 4, "sweetness" = 1) nutriment_amt = 5 bitesize = 2 @@ -6872,7 +6872,7 @@ /obj/item/reagent_containers/food/snacks/weebonuts/Initialize() .=..() - reagents.add_reagent("capsaicin",1) + reagents.add_reagent(REAGENT_ID_CAPSAICIN,1) /obj/item/reagent_containers/food/snacks/wasabi_peas name = "\improper Hadokikku Peas" @@ -6886,7 +6886,7 @@ /obj/item/reagent_containers/food/snacks/wasabi_peas/Initialize() .=..() - reagents.add_reagent("capsaicin",1) + reagents.add_reagent(REAGENT_ID_CAPSAICIN,1) /obj/item/reagent_containers/food/snacks/chocobanana name = "\improper Choco Banana" @@ -6894,13 +6894,13 @@ icon_state = "chocobanana" trash = /obj/item/trash/stick desc = "A chocolate and sprinkles coated banana. On a stick." - nutriment_desc = list("chocolate banana" = 4, "sprinkles" = 1) + nutriment_desc = list("chocolate banana" = 4, REAGENT_ID_SPRINKLES = 1) nutriment_amt = 5 bitesize = 2 /obj/item/reagent_containers/food/snacks/chocobanana/Initialize() .=..() - reagents.add_reagent("sprinkles", 10) + reagents.add_reagent(REAGENT_ID_SPRINKLES, 10) /obj/item/reagent_containers/food/snacks/goma_dango name = "\improper Goma dango" @@ -6908,7 +6908,7 @@ icon_state = "goma_dango" trash = /obj/item/trash/stick desc = "Sticky rice balls served on a skewer with a crispy rice flour outer layer and a thick red bean paste inner layer." - nutriment_desc = list("rice" = 4, "earthy flavor" = 1) + nutriment_desc = list(REAGENT_ID_RICE = 4, "earthy flavor" = 1) nutriment_amt = 5 bitesize = 2 @@ -6919,7 +6919,7 @@ trash = /obj/item/trash/stick desc = "Three rice balls, each with a unique flavoring, served on a skewer. A traditional Japanese treat." description_fluff = "Hanami dango is a traditional Japanese treat that is normally served during Hanami, a tradition dated back as early as the 8th century. Hanami, or cherry blossom viewing, is a spring time celebration that celebrates the cherry blossoms turning of color. It is a time of renewal, of life, and of beauty." - nutriment_desc = list("rice" = 4, "earthy flavor" = 1) + nutriment_desc = list(REAGENT_ID_RICE = 4, "earthy flavor" = 1) nutriment_amt = 5 bitesize = 2 @@ -6929,20 +6929,20 @@ name = "master old-food" desc = "they're all inedible and potentially dangerous items" center_of_mass = list ("x"=15, "y"=9) - nutriment_desc = list("rot" = 5, "mold" = 5) + nutriment_desc = list("rot" = 5, REAGENT_ID_MOLD = 5) nutriment_amt = 10 bitesize = 3 filling_color = "#336b42" /obj/item/reagent_containers/food/snacks/old/Initialize() .=..() reagents.add_reagent(pick(list( - "fuel", - "amatoxin", - "carpotoxin", - "zombiepowder", - "cryptobiolin", - "psilocybin")), 5) - reagents.add_reagent("salmonella", 5) + REAGENT_ID_FUEL, + REAGENT_ID_AMATOXIN, + REAGENT_ID_CARPOTOXIN, + REAGENT_ID_ZOMBIEPOWDER, + REAGENT_ID_CRYPTOBIOLIN, + REAGENT_ID_PSILOCYBIN)), 5) + reagents.add_reagent(REAGENT_ID_SALMONELLA, 5) /obj/item/reagent_containers/food/snacks/old/pizza name = "\improper Pizza!" @@ -6996,8 +6996,8 @@ /obj/item/reagent_containers/food/snacks/canned/beef/Initialize() .=..() - reagents.add_reagent("protein", 4) - reagents.add_reagent("sodiumchloride", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 2) /obj/item/reagent_containers/food/snacks/canned/beans name = "baked beans" @@ -7007,13 +7007,13 @@ canned_open_state = "beans-open" filling_color = "#ff6633" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("beans" = 1, "tomato sauce" = 1) + nutriment_desc = list(REAGENT_BEANPROTEIN = 1, "tomato sauce" = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/canned/beans/Initialize() .=..() - reagents.add_reagent("bean_protein", 5) - reagents.add_reagent("tomatojuice", 5) + reagents.add_reagent(REAGENT_ID_BEANPROTEIN, 5) + reagents.add_reagent(REAGENT_ID_TOMATOJUICE, 5) /obj/item/reagent_containers/food/snacks/canned/tomato name = "tomato soup" @@ -7027,7 +7027,7 @@ /obj/item/reagent_containers/food/snacks/canned/tomato/Initialize() .=..() - reagents.add_reagent("tomato_soup", 12) + reagents.add_reagent(REAGENT_ID_TOMATOSOUP, 12) /obj/item/reagent_containers/food/snacks/canned/spinach name = "spinach" @@ -7042,9 +7042,9 @@ /obj/item/reagent_containers/food/snacks/canned/spinach/Initialize() .=..() - reagents.add_reagent("adrenaline", 4) - reagents.add_reagent("hyperzine", 4) - reagents.add_reagent("iron", 4) + reagents.add_reagent(REAGENT_ID_ADRENALINE, 4) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 4) + reagents.add_reagent(REAGENT_ID_IRON, 4) //////////////////////////////Advanced Canned Food////////////////////////////// @@ -7061,7 +7061,7 @@ /obj/item/reagent_containers/food/snacks/canned/caviar/Initialize() . = ..() - reagents.add_reagent("seafood", 5) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 5) /obj/item/reagent_containers/food/snacks/canned/caviar/true name = "\improper Classic Terran Caviar" @@ -7076,8 +7076,8 @@ /obj/item/reagent_containers/food/snacks/canned/caviar/true/Initialize() . = ..() - reagents.add_reagent("seafood", 4) - reagents.add_reagent("carpotoxin", 1) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 4) + reagents.add_reagent(REAGENT_ID_CARPOTOXIN, 1) /obj/item/reagent_containers/food/snacks/canned/maps name = "\improper MAPS" @@ -7091,8 +7091,8 @@ /obj/item/reagent_containers/food/snacks/canned/maps/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("sodiumchloride", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 2) /obj/item/reagent_containers/food/snacks/canned/appleberry name = "\improper Appleberry Bits" @@ -7102,13 +7102,13 @@ canned_open_state = "appleberry-open" filling_color = "#FFFFFF" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("apple" = 1, "sweetness" = 1) + nutriment_desc = list(PLANT_APPLE = 1, "sweetness" = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/canned/appleberry/Initialize() . = ..() - reagents.add_reagent("milk", 8) - reagents.add_reagent("sugar", 5) + reagents.add_reagent(REAGENT_ID_MILK, 8) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) /obj/item/reagent_containers/food/snacks/canned/ntbeans name = "baked beans" @@ -7122,8 +7122,8 @@ /obj/item/reagent_containers/food/snacks/canned/ntbeans/Initialize() . = ..() - reagents.add_reagent("bean_protein", 6) - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_BEANPROTEIN, 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/canned/brainzsnax name = "\improper BrainzSnax" @@ -7137,7 +7137,7 @@ filling_color = "#caa3c9" center_of_mass = list("x"=15, "y"=9) bitesize = 2 - var/brainmeat = "brain_protein" + var/brainmeat = REAGENT_ID_BRAINPROTEIN /obj/item/reagent_containers/food/snacks/canned/brainzsnax/Initialize() . = ..() @@ -7155,7 +7155,7 @@ filling_color = "#a6898d" center_of_mass = list("x"=15, "y"=9) bitesize = 2 - brainmeat = "red_brain_protein" + brainmeat = REAGENT_ID_REDBRAINPROTEIN //////////////Packaged Food - break open and eat////////////// @@ -7175,7 +7175,7 @@ filling_color = "#ffffff" center_of_mass = list("x"=15, "y"=9) nutriment_amt = 6 - nutriment_desc = list("sweetness" = 4, "vanilla" = 1) + nutriment_desc = list("sweetness" = 4, REAGENT_ID_VANILLA = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/packaged/darklunacake @@ -7187,7 +7187,7 @@ filling_color = "#ffffff" center_of_mass = list("x"=15, "y"=9) nutriment_amt = 6 - nutriment_desc = list("sweetness" = 4, "chocolate" = 1) + nutriment_desc = list("sweetness" = 4, REAGENT_ID_CHOCOLATE = 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/packaged/mochicake @@ -7199,7 +7199,7 @@ filling_color = "#ffffff" center_of_mass = list("x"=15, "y"=9) nutriment_amt = 6 - nutriment_desc = list("sweetness" = 4, "rice" = 1) + nutriment_desc = list("sweetness" = 4, REAGENT_ID_RICE = 1) bitesize = 2 //////////////Advanced Package Foods////////////// @@ -7221,7 +7221,7 @@ /obj/item/reagent_containers/food/snacks/packaged/spacetwinkie/Initialize() . = ..() - reagents.add_reagent("sugar", 4) + reagents.add_reagent(REAGENT_ID_SUGAR, 4) /obj/item/reagent_containers/food/snacks/packaged/genration name = "generic ration" @@ -7249,7 +7249,7 @@ /obj/item/reagent_containers/food/snacks/packaged/meatration/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/packaged/vegration name = "veggie ration" @@ -7277,7 +7277,7 @@ /obj/item/reagent_containers/food/snacks/packaged/sweetration/Initialize() . = ..() - reagents.add_reagent("sugar", 6) + reagents.add_reagent(REAGENT_ID_SUGAR, 6) /obj/item/reagent_containers/food/snacks/packaged/vendburger name = "packaged burger" @@ -7290,7 +7290,7 @@ /obj/item/reagent_containers/food/snacks/packaged/vendburger/Initialize() . = ..() - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) /obj/item/reagent_containers/food/snacks/packaged/vendhotdog name = "packaged hotdog" @@ -7303,7 +7303,7 @@ /obj/item/reagent_containers/food/snacks/packaged/vendhotdog/Initialize() . = ..() - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) /obj/item/reagent_containers/food/snacks/packaged/vendburrito name = "packaged burrito" @@ -7316,4 +7316,4 @@ /obj/item/reagent_containers/food/snacks/packaged/vendburrito/Initialize() . = ..() - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent(REAGENT_ID_SODIUMCHLORIDE, 1) diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm index c08b33b886..79a3da6d8b 100644 --- a/code/modules/food/food/snacks/meat.dm +++ b/code/modules/food/food/snacks/meat.dm @@ -8,8 +8,8 @@ /obj/item/reagent_containers/food/snacks/meat/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("triglyceride", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_TRIGLYCERIDE, 2) src.bitesize = 1.5 /obj/item/reagent_containers/food/snacks/meat/cook() @@ -55,7 +55,7 @@ /obj/item/reagent_containers/food/snacks/meat/chicken/Initialize() . = ..() - reagents.remove_reagent("triglyceride", INFINITY) + reagents.remove_reagent(REAGENT_ID_TRIGLYCERIDE, INFINITY) //Chicken is low fat. Less total calories than other meats /obj/item/reagent_containers/food/snacks/crabmeat @@ -66,7 +66,7 @@ /obj/item/reagent_containers/food/snacks/crabmeat/Initialize() . = ..() - reagents.add_reagent("seafood", 2) + reagents.add_reagent(REAGENT_ID_SEAFOOD, 2) /obj/item/reagent_containers/food/snacks/hugemushroomslice name = "fungus slice" @@ -75,12 +75,12 @@ filling_color = "#E0D7C5" center_of_mass = list("x"=17, "y"=16) nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "mushroom" = 2) + nutriment_desc = list("raw" = 2, PLANT_MUSHROOMS = 2) bitesize = 6 /obj/item/reagent_containers/food/snacks/hugemushroomslice/Initialize() . = ..() - reagents.add_reagent("psilocybin", 3) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 3) /obj/item/reagent_containers/food/snacks/tomatomeat name = "tomato slice" @@ -89,7 +89,7 @@ filling_color = "#DB0000" center_of_mass = list("x"=17, "y"=16) nutriment_amt = 3 - nutriment_desc = list("raw" = 2, "tomato" = 3) + nutriment_desc = list("raw" = 2, PLANT_TOMATO = 3) bitesize = 6 /obj/item/reagent_containers/food/snacks/bearmeat @@ -102,8 +102,8 @@ /obj/item/reagent_containers/food/snacks/bearmeat/Initialize() . = ..() - reagents.add_reagent("protein", 12) - reagents.add_reagent("hyperzine", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 12) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 5) /obj/item/reagent_containers/food/snacks/xenomeat name = "xenomeat" @@ -115,8 +115,8 @@ /obj/item/reagent_containers/food/snacks/xenomeat/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("pacid",6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_PACID,6) /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat. name = "insect meat" @@ -128,8 +128,8 @@ /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize() . = ..() - reagents.add_reagent("spidertoxin",6) - reagents.remove_reagent("pacid",6) + reagents.add_reagent(REAGENT_ID_SPIDERTOXIN,6) + reagents.remove_reagent(REAGENT_ID_PACID,6) /obj/item/reagent_containers/food/snacks/rawturkey name = "raw turkey" @@ -139,7 +139,7 @@ /obj/item/reagent_containers/food/snacks/rawturkey/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/meat/fox name = "foxmeat" @@ -154,8 +154,8 @@ /obj/item/reagent_containers/food/snacks/meat/grubmeat/Initialize() . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("shockchem", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_SHOCKCHEM, 6) bitesize = 6 /obj/item/reagent_containers/food/snacks/meat/worm @@ -168,9 +168,9 @@ /obj/item/reagent_containers/food/snacks/meat/worm/Initialize() . = ..() - reagents.add_reagent("protein", 6) - reagents.add_reagent("phoron", 3) - reagents.add_reagent("myelamine", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) + reagents.add_reagent(REAGENT_ID_PHORON, 3) + reagents.add_reagent(REAGENT_ID_MYELAMINE, 3) src.bitesize = 3 /obj/item/reagent_containers/food/snacks/meat/worm/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm index fbc04990f8..3437b29ee9 100644 --- a/code/modules/food/food/snacks_vr.dm +++ b/code/modules/food/food/snacks_vr.dm @@ -6,12 +6,12 @@ icon_state = "sushi" slice_path = /obj/item/reagent_containers/food/snacks/slice/sushi/filled slices_num = 5 - nutriment_desc = list("rice" = 5, "fish" = 5) + nutriment_desc = list(REAGENT_ID_RICE = 5, "fish" = 5) nutriment_amt = 15 /obj/item/reagent_containers/food/snacks/sliceable/sushi/Initialize() . = ..() - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) bitesize = 5 /obj/item/reagent_containers/food/snacks/slice/sushi/filled @@ -37,8 +37,8 @@ /obj/item/reagent_containers/food/snacks/goulash/Initialize() . = ..() - reagents.add_reagent("protein", 3) //For meaty things. - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) //For meaty things. + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/donerkebab @@ -51,7 +51,7 @@ /obj/item/reagent_containers/food/snacks/donerkebab/Initialize() . = ..() - reagents.add_reagent("protein", 2) //For meaty things. + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) //For meaty things. /obj/item/reagent_containers/food/snacks/roastbeef @@ -65,7 +65,7 @@ /obj/item/reagent_containers/food/snacks/roastbeef/Initialize() . = ..() - reagents.add_reagent("protein", 4) //For meaty things. + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) //For meaty things. bitesize = 2 @@ -75,11 +75,11 @@ icon = 'icons/obj/food_vr.dmi' icon_state = "reishiscup" nutriment_amt = 3 - nutriment_desc = list("chocolate" = 4, "colors" = 2) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 4, "colors" = 2) /obj/item/reagent_containers/food/snacks/reishicup/Initialize() . = ..() - reagents.add_reagent("psilocybin", 3) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 3) bitesize = 6 /obj/item/storage/box/wings //This is kinda like the donut box. @@ -117,7 +117,7 @@ /obj/item/reagent_containers/food/snacks/chickenwing/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) bitesize = 3 @@ -128,13 +128,13 @@ icon_state = "hotandsoursoup" trash = /obj/item/trash/asian_bowl nutriment_amt = 6 - nutriment_desc = list("spicyness" = 4, "sourness" = 4, "tofu" = 1) + nutriment_desc = list("spicyness" = 4, "sourness" = 4, REAGENT_ID_TOFU = 1) eating_sound = 'sound/items/drink.ogg' /obj/item/reagent_containers/food/snacks/hotandsoursoup/Initialize() . = ..() bitesize = 2 - reagents.add_reagent("hot_n_sour_soup", 10) + reagents.add_reagent(REAGENT_ID_HOTNSOURSOUP, 10) /obj/item/reagent_containers/food/snacks/kitsuneudon name = "kitsune udon" @@ -161,7 +161,7 @@ /obj/item/reagent_containers/food/snacks/generalschicken/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) bitesize = 2 /obj/item/reagent_containers/food/snacks/bugball @@ -177,8 +177,8 @@ /obj/item/reagent_containers/food/snacks/bugball/Initialize() . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("carbon", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_CARBON, 5) bitesize = 7 /obj/item/reagent_containers/food/snacks/pillbug @@ -192,8 +192,8 @@ /obj/item/reagent_containers/food/snacks/pillbug/Initialize() . = ..() - reagents.add_reagent("protein", 3) - reagents.add_reagent("shockchem", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) + reagents.add_reagent(REAGENT_ID_SHOCKCHEM, 6) bitesize = 6 /obj/item/reagent_containers/food/snacks/pillbugempty @@ -206,8 +206,8 @@ /obj/item/reagent_containers/food/snacks/pillbug/Initialize() . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("carbon", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_CARBON, 5) bitesize = 3 /obj/item/reagent_containers/food/snacks/mammi @@ -234,8 +234,8 @@ /obj/item/reagent_containers/food/snacks/makaroni/Initialize() . = ..() - reagents.add_reagent("protein", 1) - reagents.add_reagent("shockchem", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) + reagents.add_reagent(REAGENT_ID_SHOCKCHEM, 6) bitesize = 7 /obj/item/reagent_containers/food/snacks/lobster @@ -256,14 +256,14 @@ icon_state = "lobster_cooked" trash = /obj/item/trash/plate nutriment_amt = 20 - nutriment_desc = list("lemon" = 2, "lobster" = 5, "salad" = 2) + nutriment_desc = list(PLANT_LEMON = 2, "lobster" = 5, "salad" = 2) /obj/item/reagent_containers/food/snacks/lobstercooked/Initialize() . = ..() bitesize = 5 - reagents.add_reagent("protein", 20) - reagents.add_reagent("tricordrazine", 5) - reagents.add_reagent("iron", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 20) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 5) + reagents.add_reagent(REAGENT_ID_IRON, 5) /obj/item/reagent_containers/food/snacks/cuttlefish name = "raw cuttlefish" @@ -287,7 +287,7 @@ /obj/item/reagent_containers/food/snacks/cuttlefishcooked/Initialize() . = ..() bitesize = 5 - reagents.add_reagent("protein", 10) + reagents.add_reagent(REAGENT_ID_PROTEIN, 10) /obj/item/reagent_containers/food/snacks/sliceable/monkfish name = "extra large monkfish" @@ -314,7 +314,7 @@ /obj/item/reagent_containers/food/snacks/monkfishfillet/Initialize() . = ..() bitesize = 3 - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) /obj/item/reagent_containers/food/snacks/monkfishcooked name = "seasoned monkfish" @@ -322,13 +322,13 @@ icon = 'icons/obj/food_vr.dmi' icon_state = "monkfish_cooked" nutriment_amt = 10 - nutriment_desc = list("fish" = 3, "oil" = 1, "sweet chili" = 3, "spring onion" = 2) + nutriment_desc = list("fish" = 3, REAGENT_ID_OIL = 1, "sweet chili" = 3, "spring onion" = 2) trash = /obj/item/trash/fancyplate /obj/item/reagent_containers/food/snacks/monkfishcooked/Initialize() . = ..() bitesize = 4 - reagents.add_reagent("protein", 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 5) /obj/item/reagent_containers/food/snacks/sliceable/monkfishremains name = "monkfish remains" @@ -343,7 +343,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/monkfishremains/Initialize() . = ..() bitesize = 0.01 //impossible to eat - reagents.add_reagent("carbon", 5) + reagents.add_reagent(REAGENT_ID_CARBON, 5) /obj/item/reagent_containers/food/snacks/sliceable/sharkchunk name = "chunk of shark meat" @@ -358,7 +358,7 @@ /obj/item/reagent_containers/food/snacks/sliceable/sharkchunk/Initialize() . = ..() bitesize = 3 - reagents.add_reagent("protein", 20) + reagents.add_reagent(REAGENT_ID_PROTEIN, 20) /obj/item/reagent_containers/food/snacks/carpmeat/fish/sharkmeat name = "slice of sharkmeat" @@ -371,7 +371,7 @@ /obj/item/reagent_containers/food/snacks/carpmeat/fish/sharkmeat/Initialize() . = ..() bitesize = 3 - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/sharkmeatcooked name = "shark steak" @@ -386,7 +386,7 @@ /obj/item/reagent_containers/food/snacks/sharkmeatcooked/Initialize() . = ..() bitesize = 3 - reagents.add_reagent("protein", 8) + reagents.add_reagent(REAGENT_ID_PROTEIN, 8) /obj/item/reagent_containers/food/snacks/sharkmeatdip name = "hot shark shank" @@ -400,8 +400,8 @@ /obj/item/reagent_containers/food/snacks/sharkmeatdip/Initialize() . = ..() bitesize = 3 - reagents.add_reagent("capsaicin", 4) - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_CAPSAICIN, 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/sharkmeatcubes name = "shark cubes" @@ -415,7 +415,7 @@ /obj/item/reagent_containers/food/snacks/sharkmeatcubes/Initialize() . = ..() bitesize = 10 - reagents.add_reagent("potatojuice", 30) // for people who want to get fat, FAST. + reagents.add_reagent(REAGENT_ID_POTATOJUICE, 30) // for people who want to get fat, FAST. /obj/item/reagent_containers/food/snacks/monkeycube/sobakacube name = "sobaka cube" @@ -472,14 +472,14 @@ qdel(src) /obj/item/reagent_containers/food/snacks/cube/on_reagent_change() - if(reagents.has_reagent("water")) + if(reagents.has_reagent(REAGENT_ID_WATER)) Expand() /obj/item/reagent_containers/food/snacks/cube/protein /obj/item/reagent_containers/food/snacks/cube/protein/Initialize() . = ..() - reagents.add_reagent("meatcolony", 5) + reagents.add_reagent(REAGENT_ID_MEATCOLONY, 5) /obj/item/reagent_containers/food/snacks/proteinslab name = "Protein slab" @@ -492,7 +492,7 @@ /obj/item/reagent_containers/food/snacks/proteinslab/Initialize() . = ..() - reagents.add_reagent("protein", 30) + reagents.add_reagent(REAGENT_ID_PROTEIN, 30) /obj/item/reagent_containers/food/snacks/cube/nutriment name = "Nutriment cube" @@ -502,7 +502,7 @@ /obj/item/reagent_containers/food/snacks/cube/nutriment/Initialize() . = ..() - reagents.add_reagent("plantcolony", 5) + reagents.add_reagent(REAGENT_ID_PLANTCOLONY, 5) /obj/item/reagent_containers/food/snacks/nutrimentslab name = "Nutriment slab" @@ -546,7 +546,7 @@ icon_state = "honeybun" bitesize = 2 nutriment_amt = 4 - nutriment_desc = list("honey" = 2, "pastry" = 1) + nutriment_desc = list(REAGENT_ID_HONEY = 2, "pastry" = 1) /obj/item/reagent_containers/food/snacks/bun/Initialize() . = ..() @@ -561,7 +561,7 @@ /obj/item/reagent_containers/food/snacks/nachos/Initialize() . = ..() - reagents.add_reagent("nutriment", 1) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 1) bitesize = 1 /obj/item/reagent_containers/food/snacks/cheesenachos @@ -569,12 +569,12 @@ desc = "The delicious combination of nachos and melting cheese." icon_state = "cheesenachos" nutriment_amt = 5 - nutriment_desc = list("salt" = 2, "cheese" = 3) + nutriment_desc = list("salt" = 2, REAGENT_ID_CHEESE = 3) /obj/item/reagent_containers/food/snacks/cheesenachos/Initialize() . = ..() - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 5) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/milosoup @@ -590,7 +590,7 @@ /obj/item/reagent_containers/food/snacks/milosoup/Initialize() . = ..() - reagents.add_reagent("water", 5) + reagents.add_reagent(REAGENT_ID_WATER, 5) /obj/item/reagent_containers/food/snacks/onionsoup name = "Onion Soup" @@ -604,7 +604,7 @@ /obj/item/reagent_containers/food/snacks/onionsoup/Initialize() . = ..() - reagents.add_reagent("onion_soup", 10) + reagents.add_reagent(REAGENT_ID_ONIONSOUP, 10) //Fennec foods /obj/item/storage/box/wings/bucket @@ -630,7 +630,7 @@ /obj/item/reagent_containers/food/snacks/grub/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) bitesize = 3 /obj/item/reagent_containers/food/snacks/grub_pink @@ -639,7 +639,7 @@ icon = 'icons/obj/food_vr.dmi' icon_state = "grub_pink" nutriment_amt = 5 - nutriment_desc = list("cherry" = 4, "goo" = 1) + nutriment_desc = list(PLANT_CHERRY = 4, "goo" = 1) /obj/item/reagent_containers/food/snacks/grub_pink/Initialize() . = ..() @@ -691,8 +691,8 @@ /obj/item/reagent_containers/food/snacks/scorpion_cooked/Initialize() . = ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) bitesize = 4 /obj/item/reagent_containers/food/snacks/ant @@ -707,8 +707,8 @@ /obj/item/reagent_containers/food/snacks/ant/Initialize() . = ..() - reagents.add_reagent("honey", 2) - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_HONEY, 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) bitesize = 1 /obj/item/reagent_containers/food/snacks/antball @@ -721,7 +721,7 @@ /obj/item/reagent_containers/food/snacks/antball/Initialize() . = ..() - reagents.add_reagent("honey", 2) + reagents.add_reagent(REAGENT_ID_HONEY, 2) bitesize = 1 /obj/item/reagent_containers/food/snacks/honey_candy @@ -730,13 +730,13 @@ icon = 'icons/obj/food_vr.dmi' icon_state = "candy_honey" nutriment_amt = 4 - nutriment_desc = list("goo" = 1, "honey" = 1) + nutriment_desc = list("goo" = 1, REAGENT_ID_HONEY = 1) slice_path = /obj/item/reagent_containers/food/snacks/antball slices_num = 1 /obj/item/reagent_containers/food/snacks/honey_candy/Initialize() . = ..() - reagents.add_reagent("sugar", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) bitesize = 2 /obj/item/reagent_containers/food/snacks/locust @@ -749,7 +749,7 @@ /obj/item/reagent_containers/food/snacks/locust/Initialize() . = ..() - reagents.add_reagent("protein", 1) + reagents.add_reagent(REAGENT_ID_PROTEIN, 1) bitesize = 2 /obj/item/reagent_containers/food/snacks/locust_cooked @@ -762,7 +762,7 @@ /obj/item/reagent_containers/food/snacks/locust_cooked/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) bitesize = 2 /obj/item/reagent_containers/food/snacks/donkpocket/ascended @@ -772,12 +772,12 @@ icon_state = "donkpocket_ascended" nutriment_amt = 5 nutriment_desc = list("burning fires of radioactive hell" = 20) - heated_reagents = list("supermatter" = 1) + heated_reagents = list(REAGENT_ID_SUPERMATTER = 1) /obj/item/reagent_containers/food/snacks/donkpocket/ascended/Initialize() . = ..() - reagents.add_reagent("uranium", 3) - reagents.add_reagent("thermite_v", 3) + reagents.add_reagent(REAGENT_ID_URANIUM, 3) + reagents.add_reagent(REAGENT_ID_THERMITEV, 3) // Altevian Foobs @@ -801,7 +801,7 @@ package = TRUE trash = /obj/item/trash/ratveg nutriment_amt = 3 - nutriment_desc = list("fresh mixed veggies" = 3, "vinegar" = 1) + nutriment_desc = list("fresh mixed veggies" = 3, REAGENT_ID_VINEGAR = 1) /obj/item/reagent_containers/food/snacks/ratliquid name = "Admiral's Choice Space-Safe Meal" @@ -817,7 +817,7 @@ /obj/item/reagent_containers/food/snacks/ratliquid/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent(REAGENT_ID_PROTEIN, 4) /obj/item/reagent_containers/food/snacks/ratsteak name = "altevian traditional steak" @@ -830,7 +830,7 @@ /obj/item/reagent_containers/food/snacks/ratsteak/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent(REAGENT_ID_PROTEIN, 3) /obj/item/reagent_containers/food/snacks/ratfruitcake name = "Premade Fruit Block" @@ -917,7 +917,7 @@ package = TRUE trash = /obj/item/trash/ratpacktaco nutriment_amt = 2 - nutriment_desc = list("salsa sauce" = 2, "meat chunks" = 4, "cheese" = 3) + nutriment_desc = list("salsa sauce" = 2, "meat chunks" = 4, REAGENT_ID_CHEESE = 3) /obj/item/reagent_containers/food/snacks/ratpackcake name = "Instant Sweet Celebration" @@ -953,11 +953,11 @@ icon_state = "jaffacake" nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("chocolate" = 2, "orange" = 4, "cake" = 3) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 2, PLANT_ORANGE = 4, "cake" = 3) /obj/item/reagent_containers/food/snacks/bourbon/Initialize() . = ..() - reagents.add_reagent("coco", 2) + reagents.add_reagent(REAGENT_ID_COCO, 2) /obj/item/storage/box/jaffacake //This is kinda like the donut box. name = "Desatti Jaffa Cakes" @@ -981,28 +981,28 @@ w_class = ITEMSIZE_TINY nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("sugar" = 5, "berry" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, "berry" = 2) /obj/item/reagent_containers/food/snacks/winegum/orange icon_state = "winegum_orange" - nutriment_desc = list("sugar" = 5, "orange" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, PLANT_ORANGE = 2) /obj/item/reagent_containers/food/snacks/winegum/black icon_state = "winegum_black" - nutriment_desc = list("sugar" = 5, "berry" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, "berry" = 2) /obj/item/reagent_containers/food/snacks/winegum/green icon_state = "winegum_green" - nutriment_desc = list("sugar" = 5, "lime" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, PLANT_LIME = 2) /obj/item/reagent_containers/food/snacks/winegum/yellow icon_state = "winegum_yellow" - nutriment_desc = list("sugar" = 5, "lemon" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, PLANT_LEMON = 2) /obj/item/reagent_containers/food/snacks/winegum/white icon_state = "winegum_white" - nutriment_desc = list("sugar" = 5, "pineapplejuice" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_PINEAPPLEJUICE = 2) /obj/item/storage/box/winegum //This is kinda like the donut box. name = "Desatti Wine Gums" @@ -1030,11 +1030,11 @@ package_trash = /obj/item/trash/pasty package_open_state = "pasty_open" nutriment_amt = 4 - nutriment_desc = list("pastry" = 5, "meat" = 5, "onion" = 2, "potato" = 3) + nutriment_desc = list("pastry" = 5, "meat" = 5, PLANT_ONION = 2, PLANT_POTATO = 3) /obj/item/reagent_containers/food/snacks/packaged/pasty/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/saucer name = "Sherbert Saucer" @@ -1044,7 +1044,7 @@ w_class = ITEMSIZE_TINY nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("sugar" = 5) + nutriment_desc = list(REAGENT_ID_SUGAR = 5) var/list/color_options = list("saucer_pink","saucer_blue","saucer_orange","saucer_green","saucer_yellow") /obj/item/reagent_containers/food/snacks/saucer/Initialize() @@ -1072,7 +1072,7 @@ icon_state = "custard_cream" nutriment_amt = 1 bitesize = 1 - nutriment_desc = list("biscuit" = 5, "cream" = 3, "custard" = 3) + nutriment_desc = list("biscuit" = 5, REAGENT_ID_CREAM = 3, "custard" = 3) /obj/item/storage/box/custardcream //This is kinda like the donut box. name = "Desatti Custard Creams" @@ -1095,7 +1095,7 @@ icon_state = "bourbon" nutriment_amt = 1 bitesize = 1 - nutriment_desc = list("biscuit" = 5, "cream" = 3, "chocolate" = 5) + nutriment_desc = list("biscuit" = 5, REAGENT_ID_CREAM = 3, REAGENT_ID_CHOCOLATE = 5) /obj/item/storage/box/bourbon //This is kinda like the donut box. name = "Desatti Bourbons" @@ -1113,7 +1113,7 @@ /obj/item/reagent_containers/food/snacks/bourbon/Initialize() . = ..() - reagents.add_reagent("coco", 2) + reagents.add_reagent(REAGENT_ID_COCO, 2) /obj/item/reagent_containers/food/snacks/packaged/sausageroll name = "Sausage Roll" @@ -1126,7 +1126,7 @@ /obj/item/reagent_containers/food/snacks/packaged/sausageroll/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/packaged/scotchegg name = "Scotch Egg" @@ -1135,11 +1135,11 @@ package_trash = /obj/item/trash/scotchegg package_open_state = "scotchegg_open" nutriment_amt = 3 - nutriment_desc = list("egg" = 5, "meat" = 5, "bread" = 2) + nutriment_desc = list(REAGENT_ID_EGG = 5, "meat" = 5, "bread" = 2) /obj/item/reagent_containers/food/snacks/packaged/scotchegg/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) /obj/item/reagent_containers/food/snacks/foam_banana name = "Foam Banana" @@ -1149,7 +1149,7 @@ w_class = ITEMSIZE_TINY nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("sugar" = 5, "banana" = 3) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_BANANA = 3) /obj/item/reagent_containers/food/snacks/foam_shrimp name = "Foam Shrimp" @@ -1159,7 +1159,7 @@ w_class = ITEMSIZE_TINY nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("sugar" = 5, "strawberry" = 3) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, "strawberry" = 3) /obj/item/storage/box/shrimpsandbananas //This is kinda like the donut box. name = "Shrimps and Bananas" @@ -1184,7 +1184,7 @@ w_class = ITEMSIZE_TINY nutriment_amt = 1 bitesize = 2 - nutriment_desc = list("sugar" = 5, "rhubarb" = 2, "custard" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 5, PLANT_ROSE = 2, "custard" = 2) var/list/color_options = list("rhubarbcustard_1","rhubarbcustard_2") /obj/item/reagent_containers/food/snacks/rhubarbcustard/Initialize() @@ -1216,4 +1216,4 @@ /obj/item/reagent_containers/food/snacks/packaged/porkpie/Initialize() . = ..() - reagents.add_reagent("protein", 2) + reagents.add_reagent(REAGENT_ID_PROTEIN, 2) diff --git a/code/modules/food/food/superfoods.dm b/code/modules/food/food/superfoods.dm index 74f94c5575..042e084e65 100644 --- a/code/modules/food/food/superfoods.dm +++ b/code/modules/food/food/superfoods.dm @@ -1,8 +1,8 @@ // Chaos cake /datum/recipe/chaoscake_layerone - reagents = list("flour" = 30,"milk" = 20, "sugar" = 10, "egg" = 9) - fruit = list("poisonberries" = 2, "cherries" = 2) + reagents = list(REAGENT_ID_FLOUR = 30,REAGENT_ID_MILK = 20, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 9) + fruit = list(PLANT_POISONBERRIES = 2, PLANT_CHERRY = 2) items = list( /obj/item/reagent_containers/food/snacks/meat/, /obj/item/reagent_containers/food/snacks/meat/, @@ -12,8 +12,8 @@ result = /obj/structure/chaoscake /datum/recipe/chaoscake_layertwo - reagents = list("flour" = 30, "milk" = 20, "sugar" = 10, "egg" = 9, ) - fruit = list("vanilla" = 2, "banana" = 2) + reagents = list(REAGENT_ID_FLOUR = 30, REAGENT_ID_MILK = 20, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 9, ) + fruit = list(PLANT_VANILLA = 2, PLANT_BANANA = 2) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -23,8 +23,8 @@ result = /obj/item/chaoscake_layer /datum/recipe/chaoscake_layerthree - reagents = list("flour" = 25, "milk" = 15, "sugar" = 10, "egg" = 6, "deathbell" = 10) - fruit = list("grapes" = 3) + reagents = list(REAGENT_ID_FLOUR = 25, REAGENT_ID_MILK = 15, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 6, REAGENT_ID_DEATHBELL = 10) + fruit = list(PLANT_GRAPES = 3) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -33,8 +33,8 @@ result = /obj/item/chaoscake_layer/three /datum/recipe/chaoscake_layerfour - reagents = list("flour" = 25, "milk" = 15, "sugar" = 10, "egg" = 6, "milkshake" = 30) - fruit = list("rice" = 3) + reagents = list(REAGENT_ID_FLOUR = 25, REAGENT_ID_MILK = 15, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 6, REAGENT_ID_MILKSHAKE = 30) + fruit = list(PLANT_RICE = 3) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -43,14 +43,14 @@ result = /obj/item/chaoscake_layer/four /datum/recipe/chaoscake_layerfive - reagents = list("flour" = 20, "milk" = 10, "sugar" = 10, "egg" = 6, "blood" = 30) - fruit = list("tomato" = 2) + reagents = list(REAGENT_ID_FLOUR = 20, REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 6, REAGENT_ID_BLOOD = 30) + fruit = list(PLANT_TOMATO = 2) items = list() //supposed to be made with lobster, still has to be ported. result = /obj/item/chaoscake_layer/five /datum/recipe/chaoscake_layersix - reagents = list("flour" = 20, "milk" = 10, "sugar" = 10, "egg" = 6, "sprinkles" = 5) - fruit = list("apple" = 2) + reagents = list(REAGENT_ID_FLOUR = 20, REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 10, REAGENT_ID_EGG = 6, REAGENT_ID_SPRINKLES = 5) + fruit = list(PLANT_APPLE = 2) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -62,8 +62,8 @@ result = /obj/item/chaoscake_layer/six /datum/recipe/chaoscake_layerseven - reagents = list("flour" = 15, "milk" = 10, "sugar" = 5, "egg" = 3, "devilskiss" = 20) - fruit = list("potato" = 1) + reagents = list(REAGENT_ID_FLOUR = 15, REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3, REAGENT_ID_DEVILSKISS = 20) + fruit = list(PLANT_POTATO = 1) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -72,8 +72,8 @@ result = /obj/item/chaoscake_layer/seven /datum/recipe/chaoscake_layereight - reagents = list("flour" = 15, "milk" = 10, "sugar" = 5, "egg" = 3, "cream" = 20) - fruit = list("lemon" = 1) + reagents = list(REAGENT_ID_FLOUR = 15, REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3, REAGENT_ID_CREAM = 20) + fruit = list(PLANT_LEMON = 1) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -82,8 +82,8 @@ result = /obj/item/chaoscake_layer/eight /datum/recipe/chaoscake_layernine - reagents = list("water" = 10, "blood" = 10) - fruit = list("goldapple" = 1) + reagents = list(REAGENT_ID_WATER = 10, REAGENT_ID_BLOOD = 10) + fruit = list(PLANT_GOLDAPPLE = 1) items = list() result = /obj/item/chaoscake_layer/nine @@ -190,54 +190,54 @@ name = "Slice Of Evil" //Pretty damn poisonous, takes a lot of work to make safe for consumption, useful for medical. desc = "An odd slice, despite the grease and cherries oozing off the top, it smells delicious." nutriment_desc = list("The desire to consume" = 10) // You won't even taste the poison. - reagents.add_reagent("neurotoxic_protein", 2) - reagents.add_reagent("shockchem", 2) - reagents.add_reagent("amatoxin", 2) - reagents.add_reagent("carpotoxin", 2) - reagents.add_reagent("spidertoxin", 2) + reagents.add_reagent(REAGENT_ID_NEUROTOXIC_PROTEIN, 2) + reagents.add_reagent(REAGENT_ID_SHOCKCHEM, 2) + reagents.add_reagent(REAGENT_ID_AMATOXIN, 2) + reagents.add_reagent(REAGENT_ID_CARPOTOXIN, 2) + reagents.add_reagent(REAGENT_ID_SPIDERTOXIN, 2) bitesize = 7 if(2) name = "Slice Of Evil" //A bad trip desc = "A mysterious slice, coated in purple frosting that smells like grapes." nutriment_desc = list("The desire to show off an party" = 10) - reagents.add_reagent("stoxin", 2) - reagents.add_reagent("bliss", 10) - reagents.add_reagent("serotrotium", 4) - reagents.add_reagent("cryptobiolin", 8) - reagents.add_reagent("mindbreaker", 10) - reagents.add_reagent("psilocybin", 10) + reagents.add_reagent(REAGENT_ID_STOXIN, 2) + reagents.add_reagent(REAGENT_ID_BLISS, 10) + reagents.add_reagent(REAGENT_ID_SEROTROTIUM, 4) + reagents.add_reagent(REAGENT_ID_CRYPTOBIOLIN, 8) + reagents.add_reagent(REAGENT_ID_MINDBREAKER, 10) + reagents.add_reagent(REAGENT_ID_PSILOCYBIN, 10) bitesize = 30 //even a single bite won't make you escape fate. if(3) name = "Slice Of Evil" //acidic desc = "A menacing slice, smelling clearly of copper, blood clots float on top." nutriment_desc = list("Infernal Rage" = 10) - reagents.add_reagent("blood", 20) - reagents.add_reagent("stomacid", 10) - reagents.add_reagent("mutagen", 4) - reagents.add_reagent("thirteenloko", 20) - reagents.add_reagent("hyperzine", 10) + reagents.add_reagent(REAGENT_ID_BLOOD, 20) + reagents.add_reagent(REAGENT_ID_STOMACID, 10) + reagents.add_reagent(REAGENT_ID_MUTAGEN, 4) + reagents.add_reagent(REAGENT_ID_THIRTEENLOKO, 20) + reagents.add_reagent(REAGENT_ID_HYPERZINE, 10) bitesize = 30 if(4) name = "Slice Of Good" //anti-tox desc = "A colourful slice, smelling of pear and coated in delicious cream." nutriment_desc = list("Hapiness" = 10) - reagents.add_reagent("anti_toxin", 2) - reagents.add_reagent("tricordrazine", 2) + reagents.add_reagent(REAGENT_ID_ANTITOXIN, 2) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 2) bitesize = 3 if(5) name = "Slice Of Good" //anti-oxy desc = "A light slice, it's pretty to look at and smells of vanilla." nutriment_desc = list("Freedom" = 10) - reagents.add_reagent("dexalinp", 2) - reagents.add_reagent("tricordrazine", 2) + reagents.add_reagent(REAGENT_ID_DEXALINP, 2) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 2) bitesize = 3 if(6) name = "Slice Of Good" //anti-burn/brute desc = "A hearty slice, it smells of chocolate and strawberries." nutriment_desc = list("Love" = 10) - reagents.add_reagent("bicaridine", 2) - reagents.add_reagent("tricordrazine", 2) - reagents.add_reagent("kelotane", 2) + reagents.add_reagent(REAGENT_ID_BICARIDINE, 2) + reagents.add_reagent(REAGENT_ID_TRICORDRAZINE, 2) + reagents.add_reagent(REAGENT_ID_KELOTANE, 2) bitesize = 4 /obj/structure/chaoscake/attackby(var/obj/item/W, var/mob/living/user) @@ -334,7 +334,7 @@ icon_state = "big_veggie_slice" /datum/recipe/theonepizza - fruit = list("tomato" = 5, "mushroom" = 5, "eggplant" = 1, "carrot" = 1, "corn" = 1) + fruit = list(PLANT_TOMATO = 5, PLANT_MUSHROOMS = 5, PLANT_EGGPLANT = 1, PLANT_CARROT = 1, PLANT_CORN = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/sliceable/flatdough, diff --git a/code/modules/food/food/z_custom_food_vr.dm b/code/modules/food/food/z_custom_food_vr.dm index 2edfbc49ad..797881e934 100644 --- a/code/modules/food/food/z_custom_food_vr.dm +++ b/code/modules/food/food/z_custom_food_vr.dm @@ -22,7 +22,7 @@ var/global/ingredientLimit = 20000 . = ..() topping = image(icon,,"[initial(icon_state)]_top") filling = image(icon,,"[initial(icon_state)]_filling") - src.reagents.add_reagent("nutriment",3) + src.reagents.add_reagent(REAGENT_ID_NUTRIMENT,3) src.updateName() return diff --git a/code/modules/food/glass/bottle.dm b/code/modules/food/glass/bottle.dm index ba16cd6889..341a79c09b 100644 --- a/code/modules/food/glass/bottle.dm +++ b/code/modules/food/glass/bottle.dm @@ -63,116 +63,116 @@ desc = "A small bottle. Contains inaprovaline - used to stabilize patients." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("inaprovaline" = 60) + prefill = list(REAGENT_ID_INAPROVALINE = 60) /obj/item/reagent_containers/glass/bottle/toxin name = "toxin bottle" desc = "A small bottle of toxins. Do not drink, it is poisonous." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("toxin" = 60) + prefill = list(REAGENT_ID_TOXIN = 60) /obj/item/reagent_containers/glass/bottle/cyanide name = "cyanide bottle" desc = "A small bottle of cyanide. Bitter almonds?" icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("cyanide" = 30) //volume changed to match chloral + prefill = list(REAGENT_ID_CYANIDE = 30) //volume changed to match chloral /obj/item/reagent_containers/glass/bottle/stoxin name = "soporific bottle" desc = "A small bottle of soporific. Just the fumes make you sleepy." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("stoxin" = 60) + prefill = list(REAGENT_ID_STOXIN = 60) /obj/item/reagent_containers/glass/bottle/chloralhydrate name = "chloral hydrate bottle" desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("chloralhydrate" = 30) //Intentionally low since it is so strong. Still enough to knock someone out. + prefill = list(REAGENT_ID_CHLORALHYDRATE = 30) //Intentionally low since it is so strong. Still enough to knock someone out. /obj/item/reagent_containers/glass/bottle/antitoxin name = "dylovene bottle" desc = "A small bottle of dylovene. Counters poisons, and repairs damage. A wonder drug." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("anti_toxin" = 60) + prefill = list(REAGENT_ID_ANTITOXIN = 60) /obj/item/reagent_containers/glass/bottle/mutagen name = "unstable mutagen bottle" desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-1" - prefill = list("mutagen" = 60) + prefill = list(REAGENT_ID_MUTAGEN = 60) /obj/item/reagent_containers/glass/bottle/ammonia name = "ammonia bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-1" - prefill = list("ammonia" = 60) + prefill = list(REAGENT_ID_AMMONIA = 60) /obj/item/reagent_containers/glass/bottle/eznutrient name = "\improper EZ NUtrient bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("eznutrient" = 60) + prefill = list(REAGENT_ID_EZNUTRIENT = 60) /obj/item/reagent_containers/glass/bottle/left4zed name = "\improper Left-4-Zed bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("left4zed" = 60) + prefill = list(REAGENT_ID_LEFT4ZED = 60) /obj/item/reagent_containers/glass/bottle/robustharvest name = "\improper Robust Harvest" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("robustharvest" = 60) + prefill = list(REAGENT_ID_ROBUSTHARVEST = 60) /obj/item/reagent_containers/glass/bottle/diethylamine name = "diethylamine bottle" desc = "A small bottle." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("diethylamine" = 60) + prefill = list(REAGENT_ID_DIETHYLAMINE = 60) /obj/item/reagent_containers/glass/bottle/pacid name = "polytrinic acid bottle" desc = "A small bottle. Contains a small amount of Polytrinic Acid" icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("pacid" = 60) + prefill = list(REAGENT_ID_PACID = 60) /obj/item/reagent_containers/glass/bottle/adminordrazine name = "adminordrazine bottle" desc = "A small bottle. Contains the liquid essence of the gods." icon = 'icons/obj/drinks.dmi' icon_state = "holyflask" - prefill = list("adminordrazine" = 60) + prefill = list(REAGENT_ID_ADMINORDRAZINE = 60) /obj/item/reagent_containers/glass/bottle/capsaicin name = "capsaicin bottle" desc = "A small bottle. Contains hot sauce." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("capsaicin" = 60) + prefill = list(REAGENT_ID_CAPSAICIN = 60) /obj/item/reagent_containers/glass/bottle/frostoil name = "frost oil bottle" desc = "A small bottle. Contains cold sauce." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("frostoil" = 60) + prefill = list(REAGENT_ID_FROSTOIL = 60) /obj/item/reagent_containers/glass/bottle/biomass name = "biomass bottle" desc = "A bottle of raw biomass! Gross!" icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("biomass" = 60) \ No newline at end of file + prefill = list(REAGENT_ID_BIOMASS = 60) diff --git a/code/modules/food/glass/bottle/robot.dm b/code/modules/food/glass/bottle/robot.dm index a3da0e3b9f..d047976c9b 100644 --- a/code/modules/food/glass/bottle/robot.dm +++ b/code/modules/food/glass/bottle/robot.dm @@ -12,8 +12,8 @@ desc = "A small bottle. Contains inaprovaline - used to stabilize patients." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - reagent = "inaprovaline" - prefill = list("inaprovaline" = 60) + reagent = REAGENT_ID_INAPROVALINE + prefill = list(REAGENT_ID_INAPROVALINE = 60) /obj/item/reagent_containers/glass/bottle/robot/antitoxin @@ -21,5 +21,5 @@ desc = "A small bottle of Anti-toxins. Counters poisons, and repairs damage, a wonder drug." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - reagent = "anti_toxin" - prefill = list("anti_toxin" = 60) + reagent = REAGENT_ID_ANTITOXIN + prefill = list(REAGENT_ID_ANTITOXIN = 60) diff --git a/code/modules/food/glass/bottle_potion.dm b/code/modules/food/glass/bottle_potion.dm index d7b8f6b7aa..86eda9b053 100644 --- a/code/modules/food/glass/bottle_potion.dm +++ b/code/modules/food/glass/bottle_potion.dm @@ -3,154 +3,153 @@ desc = "A small green bottle containing some red liquid that claims to heal injuries." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-5" - prefill = list("bicaridine" = 30) + prefill = list(REAGENT_ID_BICARIDINE = 30) /obj/item/reagent_containers/glass/bottle/potion/healing /obj/item/reagent_containers/glass/bottle/potion/greater_healing name = "greater healing potion" desc = "A small green bottle containing some thick red liquid that claims to rapidly heal injuries." - prefill = list("vermicetol" = 30) + prefill = list(REAGENT_ID_VERMICETOL = 30) /obj/item/reagent_containers/glass/bottle/potion/fire_resist name = "fire resistance potion" desc = "A small green bottle containing some orange liquid that claims to protect the drinker from fire." - prefill = list("dermaline" = 15, "kelotane" = 15) + prefill = list(REAGENT_ID_DERMALINE = 15, REAGENT_ID_KELOTANE = 15) /obj/item/reagent_containers/glass/bottle/potion/antidote name = "antidote potion" desc = "A small green bottle containing some green liquid that claims to cure poisoning." - prefill = list("anti_toxin" = 30) + prefill = list(REAGENT_ID_ANTITOXIN = 30) /obj/item/reagent_containers/glass/bottle/potion/water name = "water breathing potion" desc = "A small green bottle containing some blue liquid that claims to allow the drinker to breathe under water." - prefill = list("dexalinp" = 30) + prefill = list(REAGENT_ID_DEXALINP = 30) /obj/item/reagent_containers/glass/bottle/potion/regeneration name = "regeneration potion" desc = "A small green bottle containing some purple liquid that claims to regenerate severe wounds." - prefill = list("peridaxon" = 30) + prefill = list(REAGENT_ID_PERIDAXON = 30) /obj/item/reagent_containers/glass/bottle/potion/panacea name = "panacea potion" desc = "A small green bottle containing some white liquid that claims to cure all ailments." - prefill = list("spaceacillin" = 30) + prefill = list(REAGENT_ID_SPACEACILLIN = 30) /obj/item/reagent_containers/glass/bottle/potion/magic name = "magic resistence potion" desc = "A small green bottle containing some dark green liquid that claims to cure magical effects." - prefill = list("hyronalin" = 30) + prefill = list(REAGENT_ID_HYRONALIN = 30) /obj/item/reagent_containers/glass/bottle/potion/lightness name = "feather weight potion" desc = "A small green bottle containing some mysterious liquid that claims to make you feel lighter." - prefill = list("ickypak" = 30) + prefill = list(REAGENT_ID_ICKYPAK = 30) /obj/item/reagent_containers/glass/bottle/potion/SOP name = "standard operating potion" desc = "A small green bottle containing some yellow liquid that claims to be important." - prefill = list("myelamine" = 30) + prefill = list(REAGENT_ID_MYELAMINE = 30) /obj/item/reagent_containers/glass/bottle/potion/shrink name = "diminution potion" desc = "A small green bottle containing some swirling cyan liquid that claims to reduce the drinkers stature." - prefill = list("microcillin" = 1) + prefill = list(REAGENT_ID_MICROCILLIN = 1) /obj/item/reagent_containers/glass/bottle/potion/growth name = "fire giant potion" desc = "A small green bottle containing some bubbling yellow liquid that claims to turn the drinker into a fire giant." - prefill = list("macrocillin" = 1, "capsaicin" = 5) + prefill = list(REAGENT_ID_MACROCILLIN = 1, REAGENT_ID_CAPSAICIN = 5) /obj/item/reagent_containers/glass/bottle/potion/pain name = "grit potion" desc = "A small green bottle containing some thin purple liquid that claims to power through even the most perilous injuries." - prefill = list("tramadol" = 30) + prefill = list(REAGENT_ID_TRAMADOL = 30) /obj/item/reagent_containers/glass/bottle/potion/faerie name = "faerie dance potion" desc = "A small green bottle containing some swishing pink liquid that claims to help you open your mind." - prefill = list("psilocybin" = 30) + prefill = list(REAGENT_ID_PSILOCYBIN = 30) /obj/item/reagent_containers/glass/bottle/potion/relaxation name = "relaxation potion" desc = "A small green bottle containing some still green liquid that claims to make everything feel just fine, really." - prefill = list("ambrosia_extract" = 30) + prefill = list(REAGENT_ID_AMBROSIAEXTRACT = 30) /obj/item/reagent_containers/glass/bottle/potion/speed name = "blinding speed potion" desc = "A small green bottle containing some bubbling orange liquid that claims to make you move at incredible speeds." - prefill = list("hyperzine" = 30) + prefill = list(REAGENT_ID_HYPERZINE = 30) /obj/item/reagent_containers/glass/bottle/potion/attractiveness name = "love potion" desc = "A small green bottle containing some light mint coloured liquid that claims to make you more attractive to potential partners." - prefill = list("menthol" = 30) + prefill = list(REAGENT_ID_MENTHOL = 30) /obj/item/reagent_containers/glass/bottle/potion/girljuice name = "girl transformation potion" desc = "A small green bottle containing some pretty pink liquid that claims to turn the drinker into a woman." - prefill = list("gynorovir" = 1) + prefill = list(REAGENT_ID_GYNOROVIR = 1) /obj/item/reagent_containers/glass/bottle/potion/boyjuice name = "boy transformation potion" desc = "A small green bottle containing some strong blue liquid that claims to turn the drinker into a man." - prefill = list("androrovir" = 1) + prefill = list(REAGENT_ID_ANDROROVIR = 1) /obj/item/reagent_containers/glass/bottle/potion/badpolymorph name = "unstable polymorph potion" desc = "A small green bottle containing some uncomfortably green liquid that claims to transform the drinker wildly." - prefill = list("mutagen" = 30) + prefill = list(REAGENT_ID_MUTAGEN = 30) /obj/item/reagent_containers/glass/bottle/potion/bonerepair name = "mending potion" desc = "A small green bottle containing some pale blue liquid that claims to fix that which is broken." - prefill = list("osteodaxon" = 1) + prefill = list(REAGENT_ID_OSTEODAXON = 1) /obj/item/reagent_containers/glass/bottle/potion/truepolymorph name = "polymorph potion" desc = "A small green bottle containing some strange purple liquid that claims to transform the drinker." - prefill = list("polymorph" = 1) + prefill = list(REAGENT_ID_POLYMORPH = 1) /obj/item/reagent_containers/glass/bottle/potion/glamour name = "glamour potion" desc = "A small white potion, the perfectly white liquid inside moves in an almost gaseous manner, yet appears to produce reflections perfectly." - prefill = list("glamour" = 1) + prefill = list(REAGENT_ID_GLAMOUR = 1) //Failed potions /obj/item/reagent_containers/glass/bottle/potion/plain name = "plain potion" desc = "A small green bottle containing some plain transparent liquid." - prefill = list("water" = 30) + prefill = list(REAGENT_ID_WATER = 30) /obj/item/reagent_containers/glass/bottle/potion/ethanol name = "thin potion" desc = "A small green bottle containing some thin transparent liquid with a solvent scent." - prefill = list("ethanol" = 30) + prefill = list(REAGENT_ID_ETHANOL = 30) /obj/item/reagent_containers/glass/bottle/potion/sugar name = "sweet potion" desc = "A small green bottle containing some white translucent liquid with a sweet scent." - prefill = list("sugar" = 30) + prefill = list(REAGENT_ID_SUGAR = 30) /obj/item/reagent_containers/glass/bottle/potion/capsaicin name = "warm potion" desc = "A small green bottle containing some red liquid." - prefill = list("capsaicin" = 30) + prefill = list(REAGENT_ID_CAPSAICIN = 30) /obj/item/reagent_containers/glass/bottle/potion/soporific name = "still potion" desc = "A small green bottle containing some calm blue liquid." - prefill = list("stoxin" = 30) + prefill = list(REAGENT_ID_STOXIN = 30) /obj/item/reagent_containers/glass/bottle/potion/lipostipo name = "thick potion" desc = "A small green bottle containing some thick viscous liquid." - prefill = list("lipostipo" = 30) + prefill = list(REAGENT_ID_LIPOSTIPO = 30) /obj/item/reagent_containers/glass/bottle/potion/phoron name = "volatile potion" desc = "A small green bottle containing some volatile purple liquid." - prefill = list("phoron" = 10) - + prefill = list(REAGENT_ID_PHORON = 10) diff --git a/code/modules/food/glass/bottle_vr.dm b/code/modules/food/glass/bottle_vr.dm index 18d8f9201a..edceb1a80a 100644 --- a/code/modules/food/glass/bottle_vr.dm +++ b/code/modules/food/glass/bottle_vr.dm @@ -3,147 +3,147 @@ desc = "A small bottle. Bicaridine is an analgesic medication and can be used to treat blunt trauma." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("bicaridine" = 60) + prefill = list(REAGENT_ID_BICARIDINE = 60) /obj/item/reagent_containers/glass/bottle/vermicetol name = "vermicetol bottle" desc = "A small bottle. Vermicetol is an powerful analgesic medication and can be used to treat blunt trauma." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("vermicetol" = 60) + prefill = list(REAGENT_ID_VERMICETOL = 60) /obj/item/reagent_containers/glass/bottle/keloderm name = "keloderm bottle" desc = "A small bottle. A fifty-fifty mix of the popular burn medications kelotane and deramline." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("dermaline" = 30, "kelotane" = 30) + prefill = list(REAGENT_ID_DERMALINE = 30, REAGENT_ID_KELOTANE = 30) /obj/item/reagent_containers/glass/bottle/dermaline name = "dermaline bottle" desc = "A small bottle. Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("dermaline" = 60) + prefill = list(REAGENT_ID_DERMALINE = 60) /obj/item/reagent_containers/glass/bottle/carthatoline name = "carthatoline bottle" desc = "A small bottle. Carthatoline is strong evacuant used to treat severe poisoning." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("carthatoline" = 60) + prefill = list(REAGENT_ID_CARTHATOLINE = 60) /obj/item/reagent_containers/glass/bottle/dexalinp name = "dexalinp bottle" desc = "A small bottle. Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("dexalinp" = 60) + prefill = list(REAGENT_ID_DEXALINP = 60) /obj/item/reagent_containers/glass/bottle/tramadol name = "tramadol bottle" desc = "A small bottle. A simple, yet effective painkiller." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("tramadol" = 60) + prefill = list(REAGENT_ID_TRAMADOL = 60) /obj/item/reagent_containers/glass/bottle/oxycodone name = "oxycodone bottle" desc = "A small bottle. An effective and very addictive painkiller." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("oxycodone" = 60) + prefill = list(REAGENT_ID_OXYCODONE = 60) /obj/item/reagent_containers/glass/bottle/alkysine name = "alkysine bottle" desc = "A small bottle. Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("alkysine" = 60) + prefill = list(REAGENT_ID_ALKYSINE = 60) /obj/item/reagent_containers/glass/bottle/imidazoline name = "imidazoline bottle" desc = "A small bottle. Heals eye damage." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("imidazoline" = 60) + prefill = list(REAGENT_ID_IMIDAZOLINE = 60) /obj/item/reagent_containers/glass/bottle/peridaxon name = "peridaxon bottle" desc = "A small bottle. Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("peridaxon" = 60) + prefill = list(REAGENT_ID_PERIDAXON = 60) /obj/item/reagent_containers/glass/bottle/osteodaxon name = "osteodaxon bottle" desc = "A small bottle. An experimental drug used to heal bone fractures." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("osteodaxon" = 60) + prefill = list(REAGENT_ID_OSTEODAXON = 60) /obj/item/reagent_containers/glass/bottle/myelamine name = "myelamine bottle" desc = "A small bottle. Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("myelamine" = 60) + prefill = list(REAGENT_ID_MYELAMINE = 60) /obj/item/reagent_containers/glass/bottle/hyronalin name = "hyronalin bottle" desc = "A small bottle. Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("hyronalin" = 60) + prefill = list(REAGENT_ID_HYRONALIN = 60) /obj/item/reagent_containers/glass/bottle/arithrazine name = "arithrazine bottle" desc = "A small bottle. Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("arithrazine" = 60) + prefill = list(REAGENT_ID_ARITHRAZINE = 60) /obj/item/reagent_containers/glass/bottle/spaceacillin name = "spaceacillin bottle" desc = "A small bottle. An all-purpose antiviral agent." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("spaceacillin" = 60) + prefill = list(REAGENT_ID_SPACEACILLIN = 60) /obj/item/reagent_containers/glass/bottle/corophizine name = "corophizine bottle" desc = "A small bottle. A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("corophizine" = 60) + prefill = list(REAGENT_ID_COROPHIZINE = 60) /obj/item/reagent_containers/glass/bottle/rezadone name = "rezadone bottle" desc = "A small bottle. A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("rezadone" = 60) + prefill = list(REAGENT_ID_REZADONE = 60) /obj/item/reagent_containers/glass/bottle/healing_nanites name = "healing nanites bottle" desc = "A small bottle. Miniature medical robots that swiftly restore bodily damage." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("healing_nanites" = 60) + prefill = list(REAGENT_ID_HEALINGNANITES = 60) /obj/item/reagent_containers/glass/bottle/ickypak name = "ickypak bottle" desc = "A small bottle of ickypak. The smell alone makes you gag." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("ickypak" = 60) + prefill = list(REAGENT_ID_ICKYPAK = 60) /obj/item/reagent_containers/glass/bottle/unsorbitol name = "unsorbitol bottle" desc = "A small bottle of unsorbitol. Sickeningly sweet." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-3" - prefill = list("unsorbitol" = 60) + prefill = list(REAGENT_ID_UNSORBITOL = 60) /obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose name = "glucose container" @@ -151,5 +151,5 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose/Initialize() . = ..() - reagents.add_reagent("glucose", 100) + reagents.add_reagent(REAGENT_ID_GLUCOSE, 100) on_reagent_change() diff --git a/code/modules/food/kitchen/cooking_machines/_appliance.dm b/code/modules/food/kitchen/cooking_machines/_appliance.dm index 6d95e881cd..49700ae28a 100644 --- a/code/modules/food/kitchen/cooking_machines/_appliance.dm +++ b/code/modules/food/kitchen/cooking_machines/_appliance.dm @@ -716,16 +716,16 @@ /mob/living/proc/calculate_composition() // moved from devour.dm on aurora's side if (!composition_reagent)//if no reagent has been set, then we'll set one if (isSynthetic()) - src.composition_reagent = "iron" + src.composition_reagent = REAGENT_ID_IRON else if(istype(src, /mob/living/carbon/human/diona) || istype(src, /mob/living/carbon/alien/diona)) - src.composition_reagent = "nutriment" // diona are plants, not meat + src.composition_reagent = REAGENT_ID_NUTRIMENT // diona are plants, not meat else - src.composition_reagent = "protein" + src.composition_reagent = REAGENT_ID_PROTEIN if(istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src if(istype(H.species, /datum/species/diona)) - src.composition_reagent = "nutriment" + src.composition_reagent = REAGENT_ID_NUTRIMENT //if the mob is a simple animal - MOB NOT ANIMAL - with a defined meat quantity if (istype(src, /mob/living/simple_mob)) diff --git a/code/modules/food/kitchen/cooking_machines/fryer.dm b/code/modules/food/kitchen/cooking_machines/fryer.dm index 57ed1bb7d5..777fe3cd1d 100644 --- a/code/modules/food/kitchen/cooking_machines/fryer.dm +++ b/code/modules/food/kitchen/cooking_machines/fryer.dm @@ -45,7 +45,7 @@ if(prob(20)) // Sometimes the fryer will start with much less than full oil, significantly impacting efficiency until filled variance = rand()*0.5 - oil.add_reagent("cookingoil", optimal_oil*(1 - variance)) + oil.add_reagent(REAGENT_ID_COOKINGOIL, optimal_oil*(1 - variance)) /obj/machinery/appliance/cooker/fryer/Destroy() QDEL_NULL(fry_loop) @@ -235,7 +235,7 @@ user.attack_log += text("\[[time_stamp()]\] [span_red("Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]")]") victim.attack_log += text("\[[time_stamp()]\] [span_orange("Has been [cook_type] in \a [src] by [user.name] ([user.ckey])")]") - msg_admin_attack("[key_name_admin(user)] [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (JMP)") + msg_admin_attack("[key_name_admin(user)] [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (JMP)") //Coat the victim in some oil oil.trans_to(victim, 40) diff --git a/code/modules/food/kitchen/gibber.dm b/code/modules/food/kitchen/gibber.dm index bd9379bf52..e3edfe0ba6 100644 --- a/code/modules/food/kitchen/gibber.dm +++ b/code/modules/food/kitchen/gibber.dm @@ -209,7 +209,7 @@ var/obj/item/reagent_containers/food/snacks/meat/new_meat = new slab_type(src, rand(3,8)) if(istype(new_meat)) new_meat.name = "[slab_name] [new_meat.name]" - new_meat.reagents.add_reagent("nutriment",slab_nutrition) + new_meat.reagents.add_reagent(REAGENT_ID_NUTRIMENT,slab_nutrition) if(src.occupant.reagents) src.occupant.reagents.trans_to_obj(new_meat, round(occupant.reagents.total_volume/(2 + occupant.meat_amount),1)) diff --git a/code/modules/food/kitchen/icecream.dm b/code/modules/food/kitchen/icecream.dm index 6d48a6e698..3cec8a3d76 100644 --- a/code/modules/food/kitchen/icecream.dm +++ b/code/modules/food/kitchen/icecream.dm @@ -24,17 +24,17 @@ /obj/machinery/icecream_vat/proc/get_ingredient_list(var/type) switch(type) if(ICECREAM_CHOCOLATE) - return list("milk", "ice", "coco") + return list(REAGENT_ID_MILK, REAGENT_ID_ICE, REAGENT_ID_COCO) if(ICECREAM_STRAWBERRY) - return list("milk", "ice", "berryjuice") + return list(REAGENT_ID_MILK, REAGENT_ID_ICE, REAGENT_ID_BERRYJUICE) if(ICECREAM_BLUE) - return list("milk", "ice", "singulo") + return list(REAGENT_ID_MILK, REAGENT_ID_ICE, REAGENT_ID_SINGULO) if(CONE_WAFFLE) - return list("flour", "sugar") + return list(REAGENT_ID_FLOUR, REAGENT_ID_SUGAR) if(CONE_CHOC) - return list("flour", "sugar", "coco") + return list(REAGENT_ID_FLOUR, REAGENT_ID_SUGAR, REAGENT_ID_COCO) else - return list("milk", "ice") + return list(REAGENT_ID_MILK, REAGENT_ID_ICE) /obj/machinery/icecream_vat/proc/get_flavour_name(var/flavour_type) switch(flavour_type) @@ -56,10 +56,10 @@ create_reagents(100) while(product_types.len < 6) product_types.Add(5) - reagents.add_reagent("milk", 5) - reagents.add_reagent("flour", 5) - reagents.add_reagent("sugar", 5) - reagents.add_reagent("ice", 5) + reagents.add_reagent(REAGENT_ID_MILK, 5) + reagents.add_reagent(REAGENT_ID_FLOUR, 5) + reagents.add_reagent(REAGENT_ID_SUGAR, 5) + reagents.add_reagent(REAGENT_ID_ICE, 5) /obj/machinery/icecream_vat/attack_hand(mob/user as mob) user.set_machine(src) @@ -69,19 +69,19 @@ var/dat dat += span_bold("ICECREAM") + "
    " dat += span_bold("Dispensing: [flavour_name] icecream ") + "

    " - dat += span_bold("Vanilla icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_VANILLA]] scoops left. (Ingredients: milk, ice)
    " - dat += span_bold("Strawberry icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_STRAWBERRY]] dollops left. (Ingredients: milk, ice, berry juice)
    " - dat += span_bold("Chocolate icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_CHOCOLATE]] dollops left. (Ingredients: milk, ice, coco powder)
    " - dat += span_bold("Blue icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
    " + dat += span_bold("Vanilla icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_VANILLA]] scoops left. (Ingredients: milk, ice)
    " + dat += span_bold("Strawberry icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_STRAWBERRY]] dollops left. (Ingredients: milk, ice, berry juice)
    " + dat += span_bold("Chocolate icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_CHOCOLATE]] dollops left. (Ingredients: milk, ice, coco powder)
    " + dat += span_bold("Blue icecream:") + " " + span_bold("Select") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[ICECREAM_BLUE]] dollops left. (Ingredients: milk, ice, singulo)
    " dat += "
    " + span_bold("CONES") + "
    " - dat += span_bold("Waffle cones:") + " " + span_bold("Dispense") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[CONE_WAFFLE]] cones left. (Ingredients: flour, sugar)
    " - dat += span_bold("Chocolate cones:") + " " + span_bold("Dispense") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[CONE_CHOC]] cones left. (Ingredients: flour, sugar, coco powder)
    " + dat += span_bold("Waffle cones:") + " " + span_bold("Dispense") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[CONE_WAFFLE]] cones left. (Ingredients: flour, sugar)
    " + dat += span_bold("Chocolate cones:") + " " + span_bold("Dispense") + " " + span_bold("Make") + " " + span_bold("x5") + " [product_types[CONE_CHOC]] cones left. (Ingredients: flour, sugar, coco powder)
    " dat += "
    " dat += span_bold("VAT CONTENT") + "
    " for(var/datum/reagent/R in reagents.reagent_list) dat += "[R.name]: [R.volume]" - dat += "Purge
    " - dat += "Refresh Close" + dat += "Purge
    " + dat += "Refresh Close" var/datum/browser/popup = new(user, "icecreamvat","Icecream Vat", 700, 500, src) popup.set_content(dat) @@ -98,7 +98,7 @@ // if(beaker) // beaker.reagents.trans_to(I, 10) if(I.reagents.total_volume < 10) - I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume) + I.reagents.add_reagent(REAGENT_ID_SUGAR, 10 - I.reagents.total_volume) else to_chat(user, span_warning("There is not enough icecream left!")) else @@ -179,7 +179,7 @@ /obj/item/reagent_containers/food/snacks/icecream/New() create_reagents(20) - reagents.add_reagent("nutriment", 5) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 5) /obj/item/reagent_containers/food/snacks/icecream/proc/add_ice_cream(var/flavour_name) name = "[flavour_name] icecream" diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm index eeadee61e7..9cd7ccd1bc 100644 --- a/code/modules/food/kitchen/microwave.dm +++ b/code/modules/food/kitchen/microwave.dm @@ -276,9 +276,9 @@ var/list/reagents_data = list() for(var/datum/reagent/R in reagents.reagent_list) var/display_name = R.name - if(R.id == "capsaicin") + if(R.id == REAGENT_ID_CAPSAICIN) display_name = "Hotsauce" - if(R.id == "frostoil") + if(R.id == REAGENT_ID_FROSTOIL) display_name = "Coldsauce" UNTYPED_LIST_ADD(reagents_data, list( "name" = display_name, @@ -552,8 +552,8 @@ qdel(H.held_mob) qdel(O) src.reagents.clear_reagents() - ffuu.reagents.add_reagent("carbon", amount) - ffuu.reagents.add_reagent("toxin", amount/10) + ffuu.reagents.add_reagent(REAGENT_ID_CARBON, amount) + ffuu.reagents.add_reagent(REAGENT_ID_TOXIN, amount/10) return ffuu /obj/machinery/microwave/verb/Eject() diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm index 9d71101365..f656b31b87 100644 --- a/code/modules/food/recipe.dm +++ b/code/modules/food/recipe.dm @@ -31,7 +31,7 @@ * */ /datum/recipe - var/list/reagents // Example: = list("berryjuice" = 5) // do not list same reagent twice + var/list/reagents // Example: = list(REAGENT_ID_BERRYJUICE = 5) // do not list same reagent twice var/list/items // Example: = list(/obj/item/tool/crowbar, /obj/item/welder) // place /foo/bar before /foo var/list/fruit // Example: = list("fruit" = 3) var/coating = null // Required coating on all items in the recipe. The default value of null explitly requires no coating diff --git a/code/modules/food/recipes_fryer.dm b/code/modules/food/recipes_fryer.dm index ce4f32982f..22f5b7fa30 100644 --- a/code/modules/food/recipes_fryer.dm +++ b/code/modules/food/recipes_fryer.dm @@ -15,14 +15,14 @@ /datum/recipe/jpoppers appliance = FRYER - fruit = list("chili" = 1) + fruit = list(PLANT_CHILI = 1) coating = /datum/reagent/nutriment/coating/batter result = /obj/item/reagent_containers/food/snacks/jalapeno_poppers result_quantity = 2 /datum/recipe/risottoballs appliance = FRYER - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list(/obj/item/reagent_containers/food/snacks/risotto) coating = /datum/reagent/nutriment/coating/batter reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product @@ -32,7 +32,7 @@ /datum/recipe/bellefritter appliance = FRYER coating = /datum/reagent/nutriment/coating/batter - reagents = list("sugar" = 5) + reagents = list(REAGENT_ID_SUGAR = 5) items = list(/obj/item/reagent_containers/food/snacks/frostbelle) result = /obj/item/reagent_containers/food/snacks/bellefritter result_quantity = 2 @@ -40,7 +40,7 @@ /datum/recipe/onionrings appliance = FRYER coating = /datum/reagent/nutriment/coating/batter - fruit = list("onion" = 1) + fruit = list(PLANT_ONION = 1) result = /obj/item/reagent_containers/food/snacks/onionrings result_quantity = 2 @@ -48,7 +48,7 @@ //==================== /datum/recipe/cubancarp appliance = FRYER - fruit = list("chili" = 1) + fruit = list(PLANT_CHILI = 1) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/carpmeat @@ -92,7 +92,7 @@ /datum/recipe/friedmushroom appliance = FRYER - fruit = list("plumphelmet" = 1) + fruit = list(PLANT_PLUMPHELMET = 1) coating = /datum/reagent/nutriment/coating/beerbatter reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/friedmushroom @@ -110,7 +110,7 @@ items = list( /obj/item/reagent_containers/food/snacks/sausage ) - fruit = list("corn" = 1) + fruit = list(PLANT_CORN = 1) coating = /datum/reagent/nutriment/coating/batter result = /obj/item/reagent_containers/food/snacks/corn_dog @@ -120,7 +120,7 @@ /obj/item/reagent_containers/food/snacks/bacon, /obj/item/reagent_containers/food/snacks/cutlet ) - reagents = list("soysauce" = 5, "batter" = 10) + reagents = list(REAGENT_ID_SOYSAUCE = 5, REAGENT_ID_BATTER = 10) result = /obj/item/reagent_containers/food/snacks/sweet_and_sour //Sweet Recipes. @@ -128,7 +128,7 @@ // All donuts were given reagents of 5 to equal old recipes and make for faster cook times. /datum/recipe/jellydonut appliance = FRYER - reagents = list("berryjuice" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_BERRYJUICE = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice ) @@ -136,23 +136,23 @@ result_quantity = 2 /datum/recipe/jellydonut/poisonberry - reagents = list("poisonberryjuice" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_POISONBERRYJUICE = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/dough ) result = /obj/item/reagent_containers/food/snacks/donut/plain/jelly/poisonberry /datum/recipe/jellydonut/slime // Subtypes of jellydonut, appliance inheritance applies. - reagents = list("slimejelly" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_SLIMEJELLY = 5, REAGENT_ID_SUGAR = 5) result = /obj/item/reagent_containers/food/snacks/donut/plain/jelly/slimejelly /datum/recipe/jellydonut/cherry // Subtypes of jellydonut, appliance inheritance applies. - reagents = list("cherryjelly" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_CHERRYJELLY = 5, REAGENT_ID_SUGAR = 5) result = /obj/item/reagent_containers/food/snacks/donut/plain/jelly/cherryjelly /datum/recipe/donut appliance = FRYER - reagents = list("sugar" = 5) + reagents = list(REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice ) @@ -161,7 +161,7 @@ /datum/recipe/chaosdonut appliance = FRYER - reagents = list("frostoil" = 10, "capsaicin" = 10, "sugar" = 10) + reagents = list(REAGENT_ID_FROSTOIL = 10, REAGENT_ID_CAPSAICIN = 10, REAGENT_ID_SUGAR = 10) reagent_mix = RECIPE_REAGENT_REPLACE //This creates its own reagents items = list( /obj/item/reagent_containers/food/snacks/doughslice @@ -171,13 +171,13 @@ /datum/recipe/funnelcake appliance = FRYER - reagents = list("sugar" = 5, "batter" = 10) + reagents = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_BATTER = 10) result = /obj/item/reagent_containers/food/snacks/funnelcake result_quantity = 2 /datum/recipe/pisanggoreng appliance = FRYER - fruit = list("banana" = 2) + fruit = list(PLANT_BANANA = 2) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/pisanggoreng coating = /datum/reagent/nutriment/coating/batter @@ -185,7 +185,7 @@ //VOREStation Add Start /datum/recipe/generalschicken appliance = FRYER - reagents = list("capsaicin" = 2, "sugar" = 2, "batter" = 10) + reagents = list(REAGENT_ID_CAPSAICIN = 2, REAGENT_ID_SUGAR = 2, REAGENT_ID_BATTER = 10) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat @@ -194,7 +194,7 @@ /datum/recipe/chickenwings appliance = FRYER - reagents = list("capsaicin" = 5, "batter" = 10) + reagents = list(REAGENT_ID_CAPSAICIN = 5, REAGENT_ID_BATTER = 10) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat, diff --git a/code/modules/food/recipes_fryer_vr.dm b/code/modules/food/recipes_fryer_vr.dm index 6843ffec34..a0f7689eeb 100644 --- a/code/modules/food/recipes_fryer_vr.dm +++ b/code/modules/food/recipes_fryer_vr.dm @@ -1,6 +1,6 @@ /datum/recipe/generalschicken appliance = FRYER - reagents = list("capsaicin" = 2, "sugar" = 2, "batter" = 10) + reagents = list(REAGENT_ID_CAPSAICIN = 2, REAGENT_ID_SUGAR = 2, REAGENT_ID_BATTER = 10) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat @@ -9,7 +9,7 @@ /datum/recipe/chickenwings appliance = FRYER - reagents = list("capsaicin" = 5, "batter" = 10) + reagents = list(REAGENT_ID_CAPSAICIN = 5, REAGENT_ID_BATTER = 10) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat, @@ -30,8 +30,8 @@ /datum/recipe/locust appliance = FRYER - reagents = list("sodiumchloride" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/locust ) - result = /obj/item/reagent_containers/food/snacks/locust_cooked \ No newline at end of file + result = /obj/item/reagent_containers/food/snacks/locust_cooked diff --git a/code/modules/food/recipes_grill.dm b/code/modules/food/recipes_grill.dm index a357da8263..1bac99f603 100644 --- a/code/modules/food/recipes_grill.dm +++ b/code/modules/food/recipes_grill.dm @@ -179,14 +179,14 @@ /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat, ) - reagents = list("egg" = 3) + reagents = list(REAGENT_ID_EGG = 3) reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/bigbiteburger /datum/recipe/superbiteburger appliance = GRILL - fruit = list("tomato" = 1) - reagents = list("sodiumchloride" = 5, "blackpepper" = 5) + fruit = list(PLANT_TOMATO = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 5, REAGENT_ID_BLACKPEPPER = 5) items = list( /obj/item/reagent_containers/food/snacks/bigbiteburger, /obj/item/reagent_containers/food/snacks/dough, @@ -198,7 +198,7 @@ /datum/recipe/slimeburger appliance = GRILL - reagents = list("slimejelly" = 5) + reagents = list(REAGENT_ID_SLIMEJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/bun ) @@ -206,7 +206,7 @@ /datum/recipe/jellyburger appliance = GRILL - reagents = list("cherryjelly" = 5) + reagents = list(REAGENT_ID_CHERRYJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/bun ) @@ -236,34 +236,34 @@ /obj/item/reagent_containers/food/snacks/cheesewedge, /obj/item/reagent_containers/food/snacks/cheesewedge, ) - reagents = list("egg" = 6) + reagents = list(REAGENT_ID_EGG = 6) reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/omelette /datum/recipe/omurice appliance = GRILL - reagents = list("rice" = 5, "ketchup" = 5, "egg" = 3) + reagents = list(REAGENT_ID_RICE = 5, REAGENT_ID_KETCHUP = 5, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/omurice /datum/recipe/omurice/heart appliance = GRILL - reagents = list("rice" = 5, "ketchup" = 5, "sugar" = 5, "egg" = 3) + reagents = list(REAGENT_ID_RICE = 5, REAGENT_ID_KETCHUP = 5, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/omurice/heart /datum/recipe/omurice/face appliance = GRILL - reagents = list("rice" = 5, "ketchup" = 5, "sodiumchloride" = 1, "egg" = 3) + reagents = list(REAGENT_ID_RICE = 5, REAGENT_ID_KETCHUP = 5, REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/omurice/face /datum/recipe/meatsteak appliance = GRILL - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list(/obj/item/reagent_containers/food/snacks/meat) result = /obj/item/reagent_containers/food/snacks/meatsteak /datum/recipe/honeytoast appliance = GRILL - reagents = list("honey" = 5) + reagents = list(REAGENT_ID_HONEY = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread ) @@ -280,8 +280,8 @@ /obj/item/reagent_containers/food/snacks/carpmeat, /obj/item/reagent_containers/food/snacks/carpmeat ) - reagents = list("spacespice" = 1) - fruit = list("lettuce" = 1, "lime" = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1) + fruit = list(PLANT_LETTUCE = 1, PLANT_LIME = 1) result = /obj/item/reagent_containers/food/snacks/sliceable/grilled_carp /datum/recipe/grilledcheese @@ -307,7 +307,7 @@ /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/cheesewedge ) - reagents = list("spacespice" = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1) result = /obj/item/reagent_containers/food/snacks/cheesetoast result_quantity = 4 diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 90af4ee63f..674064903c 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -20,14 +20,14 @@ I said no! */ /datum/recipe/friedegg - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list( /obj/item/reagent_containers/food/snacks/egg ) result = /obj/item/reagent_containers/food/snacks/friedegg /datum/recipe/boiledegg - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) reagent_mix = RECIPE_REAGENT_REPLACE items = list( /obj/item/reagent_containers/food/snacks/egg @@ -35,8 +35,8 @@ I said no! result = /obj/item/reagent_containers/food/snacks/boiledegg /datum/recipe/devilledegg - fruit = list("chili" = 1) - reagents = list("sodiumchloride" = 2, "mayo" = 5) + fruit = list(PLANT_CHILI = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 2, REAGENT_ID_MAYO = 5) items = list( /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/egg @@ -67,7 +67,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/donkpocket //SPECIAL /datum/recipe/muffin - reagents = list("milk" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) reagent_mix = RECIPE_REAGENT_REPLACE items = list( /obj/item/reagent_containers/food/snacks/dough, @@ -76,7 +76,7 @@ I said no! result_quantity = 2 /datum/recipe/eggplantparm - fruit = list("eggplant" = 1) + fruit = list(PLANT_EGGPLANT = 1) items = list( /obj/item/reagent_containers/food/snacks/cheesewedge, /obj/item/reagent_containers/food/snacks/cheesewedge @@ -84,13 +84,13 @@ I said no! result = /obj/item/reagent_containers/food/snacks/eggplantparm /datum/recipe/soylenviridians - fruit = list("soybeans" = 1) - reagents = list("flour" = 10) + fruit = list(PLANT_SOYBEAN = 1) + reagents = list(REAGENT_ID_FLOUR = 10) reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/soylenviridians /datum/recipe/soylentgreen - reagents = list("flour" = 10) + reagents = list(REAGENT_ID_FLOUR = 10) reagent_mix = RECIPE_REAGENT_REPLACE items = list( /obj/item/reagent_containers/food/snacks/meat/human, @@ -99,28 +99,28 @@ I said no! result = /obj/item/reagent_containers/food/snacks/soylentgreen /datum/recipe/berryclafoutis - fruit = list("berries" = 1) + fruit = list(PLANT_BERRIES = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough ) result = /obj/item/reagent_containers/food/snacks/berryclafoutis/berry /datum/recipe/poisonberryclafoutis - fruit = list("poisonberries" = 1) + fruit = list(PLANT_POISONBERRIES = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough ) result = /obj/item/reagent_containers/food/snacks/berryclafoutis/poison /datum/recipe/wingfangchu - reagents = list("soysauce" = 5) + reagents = list(REAGENT_ID_SOYSAUCE = 5) items = list( /obj/item/reagent_containers/food/snacks/xenomeat ) result = /obj/item/reagent_containers/food/snacks/wingfangchu /datum/recipe/loadedbakedpotato - fruit = list("potato" = 1) + fruit = list(PLANT_POTATO = 1) items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato @@ -146,18 +146,18 @@ I said no! result = /obj/item/reagent_containers/food/snacks/cheesymash /datum/recipe/blackpudding - reagents = list("blood" = 5) + reagents = list(REAGENT_ID_BLOOD = 5) items = list( /obj/item/reagent_containers/food/snacks/sausage, ) result = /obj/item/reagent_containers/food/snacks/blackpudding /datum/recipe/popcorn - fruit = list("corn" = 1) + fruit = list(PLANT_CORN = 1) result = /obj/item/reagent_containers/food/snacks/popcorn /datum/recipe/fortunecookie - reagents = list("sugar" = 5) + reagents = list(REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice, /obj/item/paper, @@ -165,50 +165,50 @@ I said no! result = /obj/item/reagent_containers/food/snacks/fortunecookie /datum/recipe/syntisteak - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list(/obj/item/reagent_containers/food/snacks/meat/syntiflesh) result = /obj/item/reagent_containers/food/snacks/meatsteak /datum/recipe/spacylibertyduff - reagents = list("water" = 5, "vodka" = 5, "psilocybin" = 5) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_VODKA = 5, REAGENT_ID_PSILOCYBIN = 5) result = /obj/item/reagent_containers/food/snacks/spacylibertyduff /datum/recipe/amanitajelly - reagents = list("water" = 5, "vodka" = 5, "amatoxin" = 5) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_VODKA = 5, REAGENT_ID_AMATOXIN = 5) result = /obj/item/reagent_containers/food/snacks/amanitajelly /datum/recipe/amanitajelly/make_food(var/obj/container as obj) . = ..(container) for(var/obj/item/reagent_containers/food/snacks/amanitajelly/being_cooked in .) - being_cooked.reagents.del_reagent("amatoxin") + being_cooked.reagents.del_reagent(REAGENT_ID_AMATOXIN) /datum/recipe/meatballsoup - fruit = list("carrot" = 1, "potato" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_CARROT = 1, PLANT_POTATO = 1) + reagents = list(REAGENT_ID_WATER = 10) items = list(/obj/item/reagent_containers/food/snacks/meatball) result = /obj/item/reagent_containers/food/snacks/meatballsoup /datum/recipe/vegetablesoup - fruit = list("carrot" = 1, "potato" = 1, "corn" = 1, "eggplant" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_CARROT = 1, PLANT_POTATO = 1, PLANT_CORN = 1, PLANT_EGGPLANT = 1) + reagents = list(REAGENT_ID_WATER = 10) result = /obj/item/reagent_containers/food/snacks/vegetablesoup /datum/recipe/nettlesoup - fruit = list("nettle" = 1, "potato" = 1) - reagents = list("water" = 10, "egg" = 3) + fruit = list(PLANT_NETTLE = 1, PLANT_POTATO = 1) + reagents = list(REAGENT_ID_WATER = 10, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/nettlesoup /datum/recipe/wishsoup - reagents = list("water" = 20) + reagents = list(REAGENT_ID_WATER = 20) result= /obj/item/reagent_containers/food/snacks/wishsoup /datum/recipe/hotchili - fruit = list("chili" = 1, "tomato" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_TOMATO = 1) items = list(/obj/item/reagent_containers/food/snacks/meat) result = /obj/item/reagent_containers/food/snacks/hotchili /datum/recipe/coldchili - fruit = list("icechili" = 1, "tomato" = 1) + fruit = list(PLANT_ICECHILI = 1, PLANT_TOMATO = 1) items = list(/obj/item/reagent_containers/food/snacks/meat) result = /obj/item/reagent_containers/food/snacks/coldchili @@ -229,7 +229,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/sandwich /datum/recipe/peanutbutterjellysandwich - reagents = list("cherryjelly" = 5, "peanutbutter" = 5) + reagents = list(REAGENT_ID_CHERRYJELLY = 5, REAGENT_ID_PEANUTBUTTER = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread @@ -237,7 +237,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/jellysandwich/peanutbutter /datum/recipe/clubsandwich - reagents = list("mayo" = 5) + reagents = list(REAGENT_ID_MAYO = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread, @@ -245,16 +245,16 @@ I said no! /obj/item/reagent_containers/food/snacks/bacon, /obj/item/reagent_containers/food/snacks/cheesewedge ) - fruit = list("tomato" = 1, "lettuce" = 1) + fruit = list(PLANT_TOMATO = 1, PLANT_LETTUCE = 1) result = /obj/item/reagent_containers/food/snacks/clubsandwich /datum/recipe/tomatosoup - fruit = list("tomato" = 2) - reagents = list("water" = 10) + fruit = list(PLANT_TOMATO = 2) + reagents = list(REAGENT_ID_WATER = 10) result = /obj/item/reagent_containers/food/snacks/tomatosoup /datum/recipe/rofflewaffles - reagents = list("psilocybin" = 5, "sugar" = 10) + reagents = list(REAGENT_ID_PSILOCYBIN = 5, REAGENT_ID_SUGAR = 10) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough, @@ -263,27 +263,27 @@ I said no! result_quantity = 2 /datum/recipe/stew - fruit = list("potato" = 1, "tomato" = 1, "carrot" = 1, "eggplant" = 1, "mushroom" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_POTATO = 1, PLANT_TOMATO = 1, PLANT_CARROT = 1, PLANT_EGGPLANT = 1, PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_WATER = 10) items = list(/obj/item/reagent_containers/food/snacks/meat) result = /obj/item/reagent_containers/food/snacks/stew /datum/recipe/slimetoast - reagents = list("slimejelly" = 5) + reagents = list(REAGENT_ID_SLIMEJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime /datum/recipe/jelliedtoast - reagents = list("cherryjelly" = 5) + reagents = list(REAGENT_ID_CHERRYJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry /datum/recipe/milosoup - reagents = list("water" = 10) + reagents = list(REAGENT_ID_WATER = 10) items = list( /obj/item/reagent_containers/food/snacks/soydope, /obj/item/reagent_containers/food/snacks/soydope, @@ -293,7 +293,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/milosoup /datum/recipe/stewedsoymeat - fruit = list("carrot" = 1, "tomato" = 1) + fruit = list(PLANT_CARROT = 1, PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/soydope, /obj/item/reagent_containers/food/snacks/soydope @@ -301,28 +301,28 @@ I said no! result = /obj/item/reagent_containers/food/snacks/stewedsoymeat /datum/recipe/boiledspagetti - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/spagetti, ) result = /obj/item/reagent_containers/food/snacks/boiledspagetti /datum/recipe/boiledrice - reagents = list("water" = 5, "rice" = 10) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_RICE = 10) result = /obj/item/reagent_containers/food/snacks/boiledrice /datum/recipe/ricepudding - reagents = list("milk" = 5, "rice" = 10) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_RICE = 10) result = /obj/item/reagent_containers/food/snacks/ricepudding /datum/recipe/pastatomato - fruit = list("tomato" = 2) - reagents = list("water" = 5) + fruit = list(PLANT_TOMATO = 2) + reagents = list(REAGENT_ID_WATER = 5) items = list(/obj/item/reagent_containers/food/snacks/spagetti) result = /obj/item/reagent_containers/food/snacks/pastatomato /datum/recipe/meatballspagetti - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/spagetti, /obj/item/reagent_containers/food/snacks/meatball, @@ -331,7 +331,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/meatballspagetti /datum/recipe/spesslaw - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/spagetti, /obj/item/reagent_containers/food/snacks/meatball, @@ -342,17 +342,17 @@ I said no! result = /obj/item/reagent_containers/food/snacks/spesslaw /datum/recipe/candiedapple - fruit = list("apple" = 1) - reagents = list("water" = 5, "sugar" = 5) //Makes sense seeing as how it's just syrup on the exterior + fruit = list(PLANT_APPLE = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_SUGAR = 5) //Makes sense seeing as how it's just syrup on the exterior result = /obj/item/reagent_containers/food/snacks/candiedapple /datum/recipe/caramelapple - fruit = list("apple" = 1) - reagents = list("milk" = 5, "sugar" = 5) //Since caramel can be made with milk I thought this was appropriate + fruit = list(PLANT_APPLE = 1) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) //Since caramel can be made with milk I thought this was appropriate result = /obj/item/reagent_containers/food/snacks/caramelapple /datum/recipe/twobread - reagents = list("redwine" = 5) + reagents = list(REAGENT_ID_REDWINE = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread, @@ -360,7 +360,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/twobread /datum/recipe/slimesandwich - reagents = list("slimejelly" = 5) + reagents = list(REAGENT_ID_SLIMEJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread, @@ -368,7 +368,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/jellysandwich/slime /datum/recipe/cherrysandwich - reagents = list("cherryjelly" = 5) + reagents = list(REAGENT_ID_CHERRYJELLY = 5) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread, @@ -376,16 +376,16 @@ I said no! result = /obj/item/reagent_containers/food/snacks/jellysandwich/cherry /datum/recipe/bloodsoup - reagents = list("blood" = 30) + reagents = list(REAGENT_ID_BLOOD = 30) result = /obj/item/reagent_containers/food/snacks/bloodsoup /datum/recipe/slimesoup - reagents = list("water" = 10, "slimejelly" = 5) + reagents = list(REAGENT_ID_WATER = 10, REAGENT_ID_SLIMEJELLY = 5) items = list() result = /obj/item/reagent_containers/food/snacks/slimesoup /datum/recipe/boiledslimeextract - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/slime_extract, ) @@ -407,15 +407,15 @@ I said no! result_quantity = 2 /datum/recipe/kudzudonburi - fruit = list("kudzu" = 1) - reagents = list("rice" = 10) + fruit = list(PLANT_KUDZU = 1) + reagents = list(REAGENT_ID_RICE = 10) items = list( /obj/item/reagent_containers/food/snacks/carpmeat ) result = /obj/item/reagent_containers/food/snacks/kudzudonburi /datum/recipe/mysterysoup - reagents = list("water" = 10, "egg" = 3) + reagents = list(REAGENT_ID_WATER = 10, REAGENT_ID_EGG = 3) items = list( /obj/item/reagent_containers/food/snacks/badrecipe, /obj/item/reagent_containers/food/snacks/tofu, @@ -425,56 +425,56 @@ I said no! result = /obj/item/reagent_containers/food/snacks/mysterysoup /datum/recipe/plumphelmetbiscuit - fruit = list("plumphelmet" = 1) - reagents = list("water" = 5, "flour" = 5) + fruit = list(PLANT_PLUMPHELMET = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_FLOUR = 5) result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit result_quantity = 2 /datum/recipe/mushroomsoup - fruit = list("mushroom" = 1) - reagents = list("water" = 5, "milk" = 5) + fruit = list(PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_MILK = 5) reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/mushroomsoup /datum/recipe/chawanmushi - fruit = list("mushroom" = 1) - reagents = list("water" = 5, "soysauce" = 5, "egg" = 6) + fruit = list(PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_SOYSAUCE = 5, REAGENT_ID_EGG = 6) result = /obj/item/reagent_containers/food/snacks/chawanmushi /datum/recipe/beetsoup - fruit = list("whitebeet" = 1, "cabbage" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_WHITEBEET = 1, PLANT_CABBAGE = 1) + reagents = list(REAGENT_ID_WATER = 10) result = /obj/item/reagent_containers/food/snacks/beetsoup /datum/recipe/tossedsalad - fruit = list("lettuce" = 2, "tomato" = 1, "carrot" = 1, "apple" = 1) + fruit = list(PLANT_LETTUCE = 2, PLANT_TOMATO = 1, PLANT_CARROT = 1, PLANT_APPLE = 1) result = /obj/item/reagent_containers/food/snacks/tossedsalad /datum/recipe/flowersalad - fruit = list("harebell" = 1, "poppy" = 1) + fruit = list(PLANT_HAREBELLS = 1, PLANT_POPPIES = 1) items = list( /obj/item/reagent_containers/food/snacks/roastedsunflower ) result = /obj/item/reagent_containers/food/snacks/flowerchildsalad /datum/recipe/rosesalad - fruit = list("harebell" = 1, "rose" = 1) + fruit = list(PLANT_HAREBELLS = 1, PLANT_ROSE = 1) items = list( /obj/item/reagent_containers/food/snacks/roastedsunflower ) result = /obj/item/reagent_containers/food/snacks/rosesalad /datum/recipe/aesirsalad - fruit = list("goldapple" = 1, "ambrosiadeus" = 1) + fruit = list(PLANT_GOLDAPPLE = 1, PLANT_AMBROSIADEUS = 1) result = /obj/item/reagent_containers/food/snacks/aesirsalad /datum/recipe/validsalad - fruit = list("potato" = 1, "ambrosia" = 3) + fruit = list(PLANT_POTATO = 1, PLANT_AMBROSIA = 3) items = list(/obj/item/reagent_containers/food/snacks/meatball) result = /obj/item/reagent_containers/food/snacks/validsalad /datum/recipe/dankpocket - fruit = list("ambrosia" = 2) + fruit = list(PLANT_AMBROSIA = 2) items = list( /obj/item/reagent_containers/food/snacks/meatball, /obj/item/reagent_containers/food/snacks/doughslice @@ -484,10 +484,10 @@ I said no! /datum/recipe/validsalad/make_food(var/obj/container as obj) . = ..(container) for (var/obj/item/reagent_containers/food/snacks/validsalad/being_cooked in .) - being_cooked.reagents.del_reagent("toxin") + being_cooked.reagents.del_reagent(REAGENT_ID_TOXIN) /datum/recipe/stuffing - reagents = list("water" = 5, "sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/bread, ) @@ -498,19 +498,19 @@ I said no! items = list( /obj/item/reagent_containers/food/snacks/spreads ) - fruit = list("potato" = 1) + fruit = list(PLANT_POTATO = 1) result = /obj/item/reagent_containers/food/snacks/mashedpotato /datum/recipe/icecreamsandwich - reagents = list("milk" = 5, "ice" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_ICE = 5) items = list( /obj/item/reagent_containers/food/snacks/icecream ) result = /obj/item/reagent_containers/food/snacks/icecreamsandwich /datum/recipe/onionsoup - fruit = list("onion" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_ONION = 1) + reagents = list(REAGENT_ID_WATER = 10) result = /obj/item/reagent_containers/food/snacks/soup/onion /datum/recipe/microwavebun @@ -539,7 +539,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/cutlet /datum/recipe/roastedcornsunflowerseeds - reagents = list("sodiumchloride" = 1, "cornoil" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_CORNOIL = 1) items = list( /obj/item/reagent_containers/food/snacks/rawsunflower ) @@ -547,7 +547,7 @@ I said no! result_quantity = 2 /datum/recipe/roastedsunflowerseeds - reagents = list("sodiumchloride" = 1, "cookingoil" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_COOKINGOIL = 1) items = list( /obj/item/reagent_containers/food/snacks/rawsunflower ) @@ -555,7 +555,7 @@ I said no! result_quantity = 2 /datum/recipe/roastedpeanutsunflowerseeds - reagents = list("sodiumchloride" = 1, "peanutoil" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_PEANUTOIL = 1) items = list( /obj/item/reagent_containers/food/snacks/rawsunflower ) @@ -563,29 +563,29 @@ I said no! result_quantity = 2 /datum/recipe/roastedpeanuts - fruit = list("peanut" = 2) - reagents = list("sodiumchloride" = 2, "cookingoil" = 1) + fruit = list(PLANT_PEANUT = 2) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 2, REAGENT_ID_COOKINGOIL = 1) result = /obj/item/reagent_containers/food/snacks/roastedpeanuts result_quantity = 2 /datum/recipe/roastedpeanutscorn - fruit = list("peanut" = 2) - reagents = list("sodiumchloride" = 2, "cornoil" = 1) + fruit = list(PLANT_PEANUT = 2) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 2, REAGENT_ID_CORNOIL = 1) result = /obj/item/reagent_containers/food/snacks/roastedpeanuts result_quantity = 2 /datum/recipe/roastedpeanutspeanut - fruit = list("peanut" = 2) - reagents = list("sodiumchloride" = 2, "peanutoil" = 1) + fruit = list(PLANT_PEANUT = 2) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 2, REAGENT_ID_PEANUTOIL = 1) result = /obj/item/reagent_containers/food/snacks/roastedpeanuts result_quantity = 2 /datum/recipe/mint - reagents = list("sugar" = 5, "frostoil" = 5) + reagents = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_FROSTOIL = 5) result = /obj/item/reagent_containers/food/snacks/mint /datum/recipe/sashimi - reagents = list("soysauce" = 5) + reagents = list(REAGENT_ID_SOYSAUCE = 5) items = list( /obj/item/reagent_containers/food/snacks/carpmeat ) @@ -600,90 +600,90 @@ I said no! result = /obj/item/reagent_containers/food/snacks/benedict /datum/recipe/bakedbeans - fruit = list("soybeans" = 2) - reagents = list("ketchup" = 5) + fruit = list(PLANT_SOYBEAN = 2) + reagents = list(REAGENT_ID_KETCHUP = 5) result = /obj/item/reagent_containers/food/snacks/beans /datum/recipe/sugarcookie items = list( /obj/item/reagent_containers/food/snacks/dough ) - reagents = list("sugar" = 5, "egg" = 3) + reagents = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/sugarcookie result_quantity = 4 /datum/recipe/berrymuffin - reagents = list("milk" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/dough ) - fruit = list("berries" = 1) + fruit = list(PLANT_BERRIES = 1) result = /obj/item/reagent_containers/food/snacks/berrymuffin/berry result_quantity = 2 /datum/recipe/poisonberrymuffin - reagents = list("milk" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/dough ) - fruit = list("poisonberries" = 1) + fruit = list(PLANT_POISONBERRIES = 1) result = /obj/item/reagent_containers/food/snacks/berrymuffin/poison result_quantity = 2 /datum/recipe/ghostmuffin - reagents = list("milk" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/ectoplasm ) - fruit = list("berries" = 1) + fruit = list(PLANT_BERRIES = 1) result = /obj/item/reagent_containers/food/snacks/ghostmuffin/berry result_quantity = 2 /datum/recipe/poisonghostmuffin - reagents = list("milk" = 5, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/ectoplasm ) - fruit = list("poisonberries" = 1) + fruit = list(PLANT_POISONBERRIES = 1) result = /obj/item/reagent_containers/food/snacks/ghostmuffin/poison result_quantity = 2 /datum/recipe/eggroll - reagents = list("soysauce" = 10) + reagents = list(REAGENT_ID_SOYSAUCE = 10) items = list( /obj/item/reagent_containers/food/snacks/friedegg ) - fruit = list("cabbage" = 1) + fruit = list(PLANT_CABBAGE = 1) result = /obj/item/reagent_containers/food/snacks/eggroll /datum/recipe/fruitsalad - fruit = list("orange" = 1, "apple" = 1, "grapes" = 1, "watermelon" = 1) + fruit = list(PLANT_ORANGE = 1, PLANT_APPLE = 1, PLANT_GRAPES = 1, PLANT_WATERMELON = 1) result = /obj/item/reagent_containers/food/snacks/fruitsalad /datum/recipe/eggbowl - reagents = list("water" = 5, "rice" = 10, "egg" = 3) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_RICE = 10, REAGENT_ID_EGG = 3) result = /obj/item/reagent_containers/food/snacks/eggbowl /datum/recipe/porkbowl - reagents = list("water" = 5, "rice" = 10) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_RICE = 10) items = list( /obj/item/reagent_containers/food/snacks/cutlet ) result = /obj/item/reagent_containers/food/snacks/porkbowl /datum/recipe/cubannachos - fruit = list("chili" = 1) - reagents = list("ketchup" = 5) + fruit = list(PLANT_CHILI = 1) + reagents = list(REAGENT_ID_KETCHUP = 5) items = list( /obj/item/reagent_containers/food/snacks/tortilla ) result = /obj/item/reagent_containers/food/snacks/cubannachos /datum/recipe/curryrice - fruit = list("chili" = 1) - reagents = list("rice" = 10) + fruit = list(PLANT_CHILI = 1) + reagents = list(REAGENT_ID_RICE = 10) result = /obj/item/reagent_containers/food/snacks/curryrice /datum/recipe/piginblanket @@ -694,14 +694,14 @@ I said no! result = /obj/item/reagent_containers/food/snacks/piginblanket /datum/recipe/bagelplain - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun ) result = /obj/item/reagent_containers/food/snacks/bagelplain /datum/recipe/bagelsunflower - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/rawsunflower @@ -709,7 +709,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/bagelsunflower /datum/recipe/bagelcheese - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/cheesewedge @@ -717,7 +717,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/bagelcheese /datum/recipe/bagelraisin - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/no_raisin @@ -725,15 +725,15 @@ I said no! result = /obj/item/reagent_containers/food/snacks/bagelraisin /datum/recipe/bagelpoppy - fruit = list("poppy" = 1) - reagents = list("water" = 5) + fruit = list(PLANT_POPPIES = 1) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun ) result = /obj/item/reagent_containers/food/snacks/bagelpoppy /datum/recipe/bageleverything - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun, /obj/item/fuel_assembly/supermatter @@ -741,7 +741,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/bageleverything /datum/recipe/bageltwo - reagents = list("water" = 5) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/bun, /obj/item/soulstone @@ -754,7 +754,7 @@ I said no! //to reduce the risk of future recipe conflicts. /datum/recipe/redcurry - reagents = list("cream" = 5, "spacespice" = 2, "rice" = 5) + reagents = list(REAGENT_ID_CREAM = 5, REAGENT_ID_SPACESPICE = 2, REAGENT_ID_RICE = 5) items = list( /obj/item/reagent_containers/food/snacks/cutlet, /obj/item/reagent_containers/food/snacks/cutlet @@ -763,8 +763,8 @@ I said no! result = /obj/item/reagent_containers/food/snacks/redcurry /datum/recipe/greencurry - reagents = list("cream" = 5, "spacespice" = 2, "rice" = 5) - fruit = list("chili" = 1) + reagents = list(REAGENT_ID_CREAM = 5, REAGENT_ID_SPACESPICE = 2, REAGENT_ID_RICE = 5) + fruit = list(PLANT_CHILI = 1) items = list( /obj/item/reagent_containers/food/snacks/tofu, /obj/item/reagent_containers/food/snacks/tofu @@ -773,27 +773,27 @@ I said no! result = /obj/item/reagent_containers/food/snacks/greencurry /datum/recipe/yellowcurry - reagents = list("cream" = 5, "spacespice" = 2, "rice" = 5) - fruit = list("peanut" = 2, "potato" = 1) + reagents = list(REAGENT_ID_CREAM = 5, REAGENT_ID_SPACESPICE = 2, REAGENT_ID_RICE = 5) + fruit = list(PLANT_PEANUT = 2, PLANT_POTATO = 1) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/yellowcurry /datum/recipe/bearchili - fruit = list("chili" = 1, "tomato" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_TOMATO = 1) items = list(/obj/item/reagent_containers/food/snacks/bearmeat) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/bearchili /datum/recipe/bearstew - fruit = list("potato" = 1, "tomato" = 1, "carrot" = 1, "eggplant" = 1, "mushroom" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_POTATO = 1, PLANT_TOMATO = 1, PLANT_CARROT = 1, PLANT_EGGPLANT = 1, PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_WATER = 10) items = list(/obj/item/reagent_containers/food/snacks/bearmeat) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/bearstew /datum/recipe/bibimbap - fruit = list("carrot" = 1, "cabbage" = 1, "mushroom" = 1) - reagents = list("rice" = 5, "spacespice" = 2) + fruit = list(PLANT_CARROT = 1, PLANT_CABBAGE = 1, PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_RICE = 5, REAGENT_ID_SPACESPICE = 2) items = list( /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/cutlet @@ -802,14 +802,14 @@ I said no! result = /obj/item/reagent_containers/food/snacks/bibimbap /datum/recipe/friedrice - reagents = list("water" = 5, "rice" = 10, "soysauce" = 5) - fruit = list("carrot" = 1, "cabbage" = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_RICE = 10, REAGENT_ID_SOYSAUCE = 5) + fruit = list(PLANT_CARROT = 1, PLANT_CABBAGE = 1) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/friedrice /datum/recipe/lomein - reagents = list("water" = 5, "soysauce" = 5) - fruit = list("carrot" = 1, "cabbage" = 1) + reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_SOYSAUCE = 5) + fruit = list(PLANT_CARROT = 1, PLANT_CABBAGE = 1) items = list( /obj/item/reagent_containers/food/snacks/spagetti ) @@ -817,8 +817,8 @@ I said no! result = /obj/item/reagent_containers/food/snacks/lomein /datum/recipe/chickennoodlesoup - fruit = list("carrot" = 1) - reagents = list("water" = 10) + fruit = list(PLANT_CARROT = 1) + reagents = list(REAGENT_ID_WATER = 10) items = list( /obj/item/reagent_containers/food/snacks/spagetti, /obj/item/reagent_containers/food/snacks/rawcutlet) reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/chickennoodlesoup @@ -833,13 +833,13 @@ I said no! result = /obj/item/reagent_containers/food/snacks/chilicheesefries /datum/recipe/risotto - reagents = list("redwine" = 5, "rice" = 10, "spacespice" = 1) - fruit = list("mushroom" = 1) + reagents = list(REAGENT_ID_REDWINE = 5, REAGENT_ID_RICE = 10, REAGENT_ID_SPACESPICE = 1) + fruit = list(PLANT_MUSHROOMS = 1) reagent_mix = RECIPE_REAGENT_REPLACE //Get that rice and wine outta here result = /obj/item/reagent_containers/food/snacks/risotto /datum/recipe/poachedegg - reagents = list("spacespice" = 1, "sodiumchloride" = 1, "blackpepper" = 1, "water" = 5) + reagents = list(REAGENT_ID_SPACESPICE = 1, REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1, REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/egg ) @@ -847,7 +847,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/poachedegg /datum/recipe/nugget - reagents = list("flour" = 5) + reagents = list(REAGENT_ID_FLOUR = 5) items = list( /obj/item/reagent_containers/food/snacks/meat/chicken ) @@ -857,7 +857,7 @@ I said no! // Chip update /datum/recipe/microwavetortilla - reagents = list("flour" = 5, "water" = 5) + reagents = list(REAGENT_ID_FLOUR = 5, REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough ) @@ -874,7 +874,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/taco /datum/recipe/chips - reagents = list("sodiumchloride" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/tortilla ) @@ -888,14 +888,14 @@ I said no! result = /obj/item/reagent_containers/food/snacks/chipplate/nachos /datum/recipe/salsa - fruit = list("chili" = 1, "tomato" = 1, "lime" = 1) - reagents = list("spacespice" = 1, "blackpepper" = 1,"sodiumchloride" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_TOMATO = 1, PLANT_LIME = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1, REAGENT_ID_BLACKPEPPER = 1,REAGENT_ID_SODIUMCHLORIDE = 1) result = /obj/item/reagent_containers/food/snacks/dip/salsa reagent_mix = RECIPE_REAGENT_REPLACE //Ingredients are mixed together. /datum/recipe/guac - fruit = list("chili" = 1, "lime" = 1) - reagents = list("spacespice" = 1, "blackpepper" = 1,"sodiumchloride" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_LIME = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1, REAGENT_ID_BLACKPEPPER = 1,REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/tofu ) @@ -903,8 +903,8 @@ I said no! reagent_mix = RECIPE_REAGENT_REPLACE //Ingredients are mixed together. /datum/recipe/cheesesauce - fruit = list("chili" = 1, "tomato" = 1) - reagents = list("spacespice" = 1, "blackpepper" = 1,"sodiumchloride" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_TOMATO = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1, REAGENT_ID_BLACKPEPPER = 1,REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/cheesewedge ) @@ -917,7 +917,7 @@ I said no! /obj/item/reagent_containers/food/snacks/meatball, /obj/item/reagent_containers/food/snacks/meatball ) - reagents = list("spacespice" = 1) + reagents = list(REAGENT_ID_SPACESPICE = 1) result = /obj/item/reagent_containers/food/snacks/burrito /datum/recipe/burrito_vegan @@ -937,7 +937,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/burrito_cheese /datum/recipe/burrito_cheese_spicy - fruit = list("chili" = 2, "soybeans" = 1) + fruit = list(PLANT_CHILI = 2, PLANT_SOYBEAN = 1) items = list( /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/cheesewedge, @@ -946,8 +946,8 @@ I said no! result = /obj/item/reagent_containers/food/snacks/burrito_cheese_spicy /datum/recipe/burrito_hell - fruit = list("soybeans" = 1, "chili" = 10) - reagents = list("spacespice" = 1) + fruit = list(PLANT_SOYBEAN = 1, PLANT_CHILI = 10) + reagents = list(REAGENT_ID_SPACESPICE = 1) items = list( /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/meatball, @@ -958,7 +958,7 @@ I said no! reagent_mix = RECIPE_REAGENT_REPLACE //Already hot sauce /datum/recipe/meatburrito - fruit = list("soybeans" = 1) + fruit = list(PLANT_SOYBEAN = 1) items = list( /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/cutlet, @@ -967,7 +967,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/meatburrito /datum/recipe/cheeseburrito - fruit = list("soybeans" = 1) + fruit = list(PLANT_SOYBEAN = 1) items = list( /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/cheesewedge, @@ -976,7 +976,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/cheeseburrito /datum/recipe/fuegoburrito - fruit = list("soybeans" = 1, "chili" = 2) + fruit = list(PLANT_SOYBEAN = 1, PLANT_CHILI = 2) items = list( /obj/item/reagent_containers/food/snacks/tortilla ) @@ -1037,7 +1037,7 @@ I said no! /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/egg ) - reagents = list("blood" = 15) + reagents = list(REAGENT_ID_BLOOD = 15) result = /obj/item/reagent_containers/food/snacks/riztizkzi_sea /datum/recipe/father_breakfast @@ -1045,7 +1045,7 @@ I said no! /obj/item/reagent_containers/food/snacks/sausage, /obj/item/reagent_containers/food/snacks/meatsteak ) - reagents = list("egg" = 6) + reagents = list(REAGENT_ID_EGG = 6) result = /obj/item/reagent_containers/food/snacks/father_breakfast /datum/recipe/stuffed_meatball @@ -1053,7 +1053,7 @@ I said no! /obj/item/reagent_containers/food/snacks/meatball, /obj/item/reagent_containers/food/snacks/cheesewedge ) - fruit = list("cabbage" = 1) + fruit = list(PLANT_CABBAGE = 1) result = /obj/item/reagent_containers/food/snacks/stuffed_meatball result_quantity = 2 @@ -1063,7 +1063,7 @@ I said no! /obj/item/reagent_containers/food/snacks/meatball, /obj/item/reagent_containers/food/snacks/meatball ) - reagents = list("egg" = 6) + reagents = list(REAGENT_ID_EGG = 6) result = /obj/item/reagent_containers/food/snacks/egg_pancake /datum/recipe/bacon_stick @@ -1090,7 +1090,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/nt_muffin /datum/recipe/fish_taco - fruit = list("chili" = 1, "lemon" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_LEMON = 1) items = list( /obj/item/reagent_containers/food/snacks/carpmeat, /obj/item/reagent_containers/food/snacks/tortilla @@ -1098,7 +1098,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/fish_taco /datum/recipe/blt - fruit = list("tomato" = 1, "lettuce" = 1) + fruit = list(PLANT_TOMATO = 1, PLANT_LETTUCE = 1) items = list( /obj/item/reagent_containers/food/snacks/slice/bread, /obj/item/reagent_containers/food/snacks/slice/bread, @@ -1108,7 +1108,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/blt /datum/recipe/gigapuddi - reagents = list("milk" = 15) + reagents = list(REAGENT_ID_MILK = 15) items = list( /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/egg @@ -1116,7 +1116,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/gigapuddi /datum/recipe/gigapuddi/happy - reagents = list("milk" = 15, "sugar" = 5) + reagents = list(REAGENT_ID_MILK = 15, REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/egg @@ -1124,7 +1124,7 @@ I said no! result = /obj/item/reagent_containers/food/snacks/gigapuddi/happy /datum/recipe/gigapuddi/anger - reagents = list("milk" = 15, "sodiumchloride" = 5) + reagents = list(REAGENT_ID_MILK = 15, REAGENT_ID_SODIUMCHLORIDE = 5) items = list( /obj/item/reagent_containers/food/snacks/egg, /obj/item/reagent_containers/food/snacks/egg diff --git a/code/modules/food/recipes_microwave_vr.dm b/code/modules/food/recipes_microwave_vr.dm index 9b53d364da..1f2e284e29 100644 --- a/code/modules/food/recipes_microwave_vr.dm +++ b/code/modules/food/recipes_microwave_vr.dm @@ -11,8 +11,8 @@ // All of this shit needs to be gone through and reorganized into different recipes per machine - Rykka 7/16/2020 /datum/recipe/sushi - fruit = list("cabbage" = 1) - reagents = list("rice" = 20) + fruit = list(PLANT_CABBAGE = 1) + reagents = list(REAGENT_ID_RICE = 20) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat, @@ -21,7 +21,7 @@ result = /obj/item/reagent_containers/food/snacks/sliceable/sushi /datum/recipe/goulash - fruit = list("tomato" = 1) + fruit = list(PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/cutlet, /obj/item/reagent_containers/food/snacks/spagetti @@ -29,8 +29,8 @@ result = /obj/item/reagent_containers/food/snacks/goulash /datum/recipe/donerkebab - fruit = list("tomato" = 1, "cabbage" = 1) - reagents = list("sodiumchloride" = 1) + fruit = list(PLANT_TOMATO = 1, PLANT_CABBAGE = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/meatsteak, /obj/item/reagent_containers/food/snacks/sliceable/flatdough @@ -39,29 +39,29 @@ /datum/recipe/roastbeef - fruit = list("carrot" = 2, "potato" = 2) + fruit = list(PLANT_CARROT = 2, PLANT_POTATO = 2) items = list( /obj/item/reagent_containers/food/snacks/meat ) result = /obj/item/reagent_containers/food/snacks/roastbeef /datum/recipe/reishicup - reagents = list("psilocybin" = 3, "sugar" = 3) + reagents = list(REAGENT_ID_PSILOCYBIN = 3, REAGENT_ID_SUGAR = 3) items = list( /obj/item/reagent_containers/food/snacks/chocolatebar ) result = /obj/item/reagent_containers/food/snacks/reishicup /datum/recipe/hotandsoursoup - fruit = list("cabbage" = 1, "mushroom" = 1) - reagents = list("sodiumchloride" = 2, "blackpepper" = 2, "water" = 10) + fruit = list(PLANT_CABBAGE = 1, PLANT_MUSHROOMS = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 2, REAGENT_ID_BLACKPEPPER = 2, REAGENT_ID_WATER = 10) items = list( /obj/item/reagent_containers/food/snacks/tofu ) result = /obj/item/reagent_containers/food/snacks/hotandsoursoup /datum/recipe/kitsuneudon - reagents = list("egg" = 3) + reagents = list(REAGENT_ID_EGG = 3) items = list( /obj/item/reagent_containers/food/snacks/spagetti, /obj/item/reagent_containers/food/snacks/tofu @@ -69,19 +69,19 @@ result = /obj/item/reagent_containers/food/snacks/kitsuneudon /datum/recipe/pillbugball - reagents = list("carbon" = 5) + reagents = list(REAGENT_ID_CARBON = 5) items = list( /obj/item/reagent_containers/food/snacks/meat/grubmeat ) result = /obj/item/reagent_containers/food/snacks/bugball /datum/recipe/mammi - fruit = list("orange" = 1) - reagents = list("water" = 10, "flour" = 10, "milk" = 5, "sodiumchloride" = 1) + fruit = list(PLANT_ORANGE = 1) + reagents = list(REAGENT_ID_WATER = 10, REAGENT_ID_FLOUR = 10, REAGENT_ID_MILK = 5, REAGENT_ID_SODIUMCHLORIDE = 1) result = /obj/item/reagent_containers/food/snacks/mammi /datum/recipe/makaroni - reagents = list("flour" = 15, "milk" = 5) + reagents = list(REAGENT_ID_FLOUR = 15, REAGENT_ID_MILK = 5) items = list( /obj/item/reagent_containers/food/snacks/meat/grubmeat, /obj/item/reagent_containers/food/snacks/egg, @@ -91,8 +91,8 @@ result = /obj/item/reagent_containers/food/snacks/makaroni /datum/recipe/carpsushi - fruit = list("cabbage" = 1) - reagents = list("rice" = 20) + fruit = list(PLANT_CABBAGE = 1) + reagents = list(REAGENT_ID_RICE = 20) items = list( /obj/item/reagent_containers/food/snacks/carpmeat, /obj/item/reagent_containers/food/snacks/carpmeat, @@ -101,7 +101,7 @@ result = /obj/item/reagent_containers/food/snacks/sliceable/sushi /datum/recipe/lobster - fruit = list("lemon" = 1, "lettuce" = 1) + fruit = list(PLANT_LEMON = 1, PLANT_LETTUCE = 1) items = list( /obj/item/reagent_containers/food/snacks/lobster ) @@ -114,30 +114,30 @@ result = /obj/item/reagent_containers/food/snacks/cuttlefishcooked /datum/recipe/monkfish - fruit = list("chili" = 1, "onion" = 1) + fruit = list(PLANT_CHILI = 1, PLANT_ONION = 1) items = list( /obj/item/reagent_containers/food/snacks/monkfishfillet ) result = /obj/item/reagent_containers/food/snacks/monkfishcooked /datum/recipe/sharksteak - reagents = list("blackpepper"= 1, "sodiumchloride" = 1) + reagents = list(REAGENT_ID_BLACKPEPPER= 1, REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/carpmeat/fish/sharkmeat ) result = /obj/item/reagent_containers/food/snacks/sharkmeatcooked /datum/recipe/sharkdip - reagents = list("sodiumchloride" = 1) - fruit = list("chili" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) + fruit = list(PLANT_CHILI = 1) items = list( /obj/item/reagent_containers/food/snacks/carpmeat/fish/sharkmeat ) result = /obj/item/reagent_containers/food/snacks/sharkmeatdip /datum/recipe/sharkcubes - reagents = list("soysauce" = 5, "sodiumchloride" = 1) - fruit = list("potato" = 1) + reagents = list(REAGENT_ID_SOYSAUCE = 5, REAGENT_ID_SODIUMCHLORIDE = 1) + fruit = list(PLANT_POTATO = 1) items = list( /obj/item/reagent_containers/food/snacks/carpmeat/fish/sharkmeat ) @@ -146,12 +146,12 @@ //// food cubes /datum/recipe/foodcubes - reagents = list("enzyme" = 20, "virusfood" = 5, "nutriment" = 15, "protein" = 15) // labor intensive + reagents = list(REAGENT_ID_ENZYME = 20, REAGENT_ID_VIRUSFOOD = 5, REAGENT_ID_NUTRIMENT = 15, REAGENT_ID_PROTEIN = 15) // labor intensive items = list() result = /obj/item/storage/box/wings/tray /datum/recipe/bucket - fruit = list("durian" = 1) + fruit = list(PLANT_DURIAN = 1) items = list( /obj/item/reagent_containers/food/snacks/meat, /obj/item/reagent_containers/food/snacks/meat, @@ -161,28 +161,28 @@ result = /obj/item/storage/box/wings/bucket /datum/recipe/grub_pink - fruit = list("cherries" = 1) + fruit = list(PLANT_CHERRY = 1) items = list( /obj/item/reagent_containers/food/snacks/grub ) result = /obj/item/reagent_containers/food/snacks/grub_pink /datum/recipe/grub_blue - fruit = list("berries" = 1) + fruit = list(PLANT_BERRIES = 1) items = list( /obj/item/reagent_containers/food/snacks/grub ) result = /obj/item/reagent_containers/food/snacks/grub_blue /datum/recipe/grub_purple - fruit = list("grapes" = 1) + fruit = list(PLANT_GRAPES = 1) items = list( /obj/item/reagent_containers/food/snacks/grub ) result = /obj/item/reagent_containers/food/snacks/grub_purple /datum/recipe/honey_candy - reagents = list("sugar" = 5, "nutriment" = 5) + reagents = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_NUTRIMENT = 5) items = list() result = /obj/item/reagent_containers/food/snacks/honey_candy diff --git a/code/modules/food/recipes_oven.dm b/code/modules/food/recipes_oven.dm index 57a58cb57d..4ad7c33e83 100644 --- a/code/modules/food/recipes_oven.dm +++ b/code/modules/food/recipes_oven.dm @@ -10,16 +10,16 @@ /datum/recipe/dionaroast appliance = OVEN - fruit = list("apple" = 1) - reagents = list("pacid" = 5) //It dissolves the carapace. Still poisonous, though. + fruit = list(PLANT_APPLE = 1) + reagents = list(REAGENT_ID_PACID = 5) //It dissolves the carapace. Still poisonous, though. items = list(/obj/item/holder/diona) result = /obj/item/reagent_containers/food/snacks/dionaroast reagent_mix = RECIPE_REAGENT_REPLACE //No eating polyacid /datum/recipe/monkeysdelight appliance = OVEN - fruit = list("banana" = 1) - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 10) + fruit = list(PLANT_BANANA = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1, REAGENT_ID_FLOUR = 10) items = list( /obj/item/reagent_containers/food/snacks/monkeycube ) @@ -28,7 +28,7 @@ /datum/recipe/ribplate appliance = OVEN - reagents = list("honey" = 5, "spacespice" = 2, "blackpepper" = 1) + reagents = list(REAGENT_ID_HONEY = 5, REAGENT_ID_SPACESPICE = 2, REAGENT_ID_BLACKPEPPER = 1) items = list(/obj/item/reagent_containers/food/snacks/meat) reagent_mix = RECIPE_REAGENT_REPLACE result = /obj/item/reagent_containers/food/snacks/ribplate @@ -36,7 +36,7 @@ /* OLD RECIPE /datum/recipe/turkey appliance = OVEN - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list( /obj/item/reagent_containers/food/snacks/meat/chicken, /obj/item/reagent_containers/food/snacks/stuffing @@ -46,8 +46,8 @@ /datum/recipe/turkey appliance = OVEN - fruit = list("potato" = 1) - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + fruit = list(PLANT_POTATO = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list( /obj/item/reagent_containers/food/snacks/rawturkey, /obj/item/reagent_containers/food/snacks/stuffing @@ -56,7 +56,7 @@ /datum/recipe/tofurkey appliance = OVEN - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1) items = list( /obj/item/reagent_containers/food/snacks/tofu, /obj/item/reagent_containers/food/snacks/tofu, @@ -66,8 +66,8 @@ /datum/recipe/zestfish appliance = OVEN - fruit = list("lemon" = 1) - reagents = list("sodiumchloride" = 3) + fruit = list(PLANT_LEMON = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 3) items = list( /obj/item/reagent_containers/food/snacks/carpmeat ) @@ -75,8 +75,8 @@ /datum/recipe/limezestfish appliance = OVEN - fruit = list("lime" = 1) - reagents = list("sodiumchloride" = 3) + fruit = list(PLANT_LIME = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 3) items = list( /obj/item/reagent_containers/food/snacks/carpmeat ) @@ -91,12 +91,12 @@ /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough ) - reagents = list("sodiumchloride" = 1, "yeast" = 5) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_YEAST = 5) result = /obj/item/reagent_containers/food/snacks/sliceable/bread /datum/recipe/baguette appliance = OVEN - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "yeast" = 5) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_BLACKPEPPER = 1, REAGENT_ID_YEAST = 5) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough @@ -136,7 +136,7 @@ /datum/recipe/tortilla appliance = OVEN - reagents = list("flour" = 5) + reagents = list(REAGENT_ID_FLOUR = 5) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough ) @@ -181,8 +181,8 @@ /datum/recipe/bananabread appliance = OVEN - fruit = list("banana" = 1) - reagents = list("milk" = 5, "sugar" = 15) + fruit = list(PLANT_BANANA = 1) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 15) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough @@ -227,15 +227,15 @@ /datum/recipe/pie appliance = OVEN - fruit = list("banana" = 1) - reagents = list("sugar" = 5) + fruit = list(PLANT_BANANA = 1) + reagents = list(REAGENT_ID_SUGAR = 5) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/pie /datum/recipe/cherrypie appliance = OVEN - fruit = list("cherries" = 1) - reagents = list("sugar" = 10) + fruit = list(PLANT_CHERRY = 1) + reagents = list(REAGENT_ID_SUGAR = 10) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough ) @@ -243,33 +243,33 @@ /datum/recipe/amanita_pie appliance = OVEN - reagents = list("amatoxin" = 5) + reagents = list(REAGENT_ID_AMATOXIN = 5) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/amanita_pie /datum/recipe/plump_pie appliance = OVEN - fruit = list("plumphelmet" = 1) + fruit = list(PLANT_PLUMPHELMET = 1) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/plump_pie /datum/recipe/applepie appliance = OVEN - fruit = list("apple" = 1) + fruit = list(PLANT_APPLE = 1) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/applepie /datum/recipe/pumpkinpie appliance = OVEN - fruit = list("pumpkin" = 1) - reagents = list("sugar" = 5) + fruit = list(PLANT_PUMPKIN = 1) + reagents = list(REAGENT_ID_SUGAR = 5) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/sliceable/pumpkinpie /datum/recipe/appletart appliance = OVEN - fruit = list("goldapple" = 1) - reagents = list("sugar" = 10) + fruit = list(PLANT_GOLDAPPLE = 1) + reagents = list(REAGENT_ID_SUGAR = 10) items = list(/obj/item/reagent_containers/food/snacks/sliceable/flatdough) result = /obj/item/reagent_containers/food/snacks/appletart result_quantity = 2 @@ -277,14 +277,14 @@ /datum/recipe/keylimepie appliance = OVEN - fruit = list("lime" = 2) - reagents = list("milk" = 5, "sugar" = 5, "egg" = 3, "flour" = 10) + fruit = list(PLANT_LIME = 2) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3, REAGENT_ID_FLOUR = 10) result = /obj/item/reagent_containers/food/snacks/sliceable/keylimepie reagent_mix = RECIPE_REAGENT_REPLACE //No raw egg in finished product, protein after cooking causes magic meatballs otherwise /datum/recipe/quiche appliance = OVEN - reagents = list("milk" = 5, "egg" = 9, "flour" = 10) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_EGG = 9, REAGENT_ID_FLOUR = 10) items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) result = /obj/item/reagent_containers/food/snacks/sliceable/quiche reagent_mix = RECIPE_REAGENT_REPLACE //No raw egg in finished product, protein after cooking causes magic meatballs otherwise @@ -294,7 +294,7 @@ /datum/recipe/cookie appliance = OVEN - reagents = list("milk" = 10, "sugar" = 10) + reagents = list(REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 10) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/chocolatebar @@ -305,7 +305,7 @@ /datum/recipe/ovenfortunecookie appliance = OVEN - reagents = list("sugar" = 5) + reagents = list(REAGENT_ID_SUGAR = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice, /obj/item/paper @@ -314,14 +314,14 @@ /datum/recipe/poppypretzel appliance = OVEN - fruit = list("poppy" = 1) + fruit = list(PLANT_POPPIES = 1) items = list(/obj/item/reagent_containers/food/snacks/dough) result = /obj/item/reagent_containers/food/snacks/poppypretzel result_quantity = 2 /datum/recipe/cracker appliance = OVEN - reagents = list("sodiumchloride" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/doughslice ) @@ -329,26 +329,26 @@ /datum/recipe/brownies appliance = OVEN - reagents = list("browniemix" = 10, "egg" = 3) + reagents = list(REAGENT_ID_BROWNIEMIX = 10, REAGENT_ID_EGG = 3) reagent_mix = RECIPE_REAGENT_REPLACE //No egg or mix in final recipe result = /obj/item/reagent_containers/food/snacks/sliceable/brownies /datum/recipe/cosmicbrownies appliance = OVEN - reagents = list("browniemix" = 10, "egg" = 3) - fruit = list("ambrosia" = 1) + reagents = list(REAGENT_ID_BROWNIEMIX = 10, REAGENT_ID_EGG = 3) + fruit = list(PLANT_AMBROSIA = 1) reagent_mix = RECIPE_REAGENT_REPLACE //No egg or mix in final recipe result = /obj/item/reagent_containers/food/snacks/sliceable/cosmicbrownies /datum/recipe/buchedenoel appliance = OVEN - fruit = list("berries" = 2) - reagents = list("cakebatter" = 20, "cream" = 10, "coco" = 5) + fruit = list(PLANT_BERRIES = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 20, REAGENT_ID_CREAM = 10, REAGENT_ID_COCO = 5) result = /obj/item/reagent_containers/food/snacks/sliceable/buchedenoel /datum/recipe/cinnamonbun appliance = OVEN - reagents = list("sugar" = 15, "cream" = 10) + reagents = list(REAGENT_ID_SUGAR = 15, REAGENT_ID_CREAM = 10) items = list( /obj/item/reagent_containers/food/snacks/dough ) @@ -357,8 +357,8 @@ /datum/recipe/jaffacake appliance = OVEN - fruit = list("orange" = 1) - reagents = list("cakebatter" = 15, "coco" = 10) + fruit = list(PLANT_ORANGE = 1) + reagents = list(REAGENT_ID_CAKEBATTER = 15, REAGENT_ID_COCO = 10) result = /obj/item/reagent_containers/food/snacks/jaffacake result_quantity = 6 @@ -366,7 +366,7 @@ //========================= /datum/recipe/pizzamargherita appliance = OVEN - fruit = list("tomato" = 1) + fruit = list(PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/cheesewedge, @@ -378,7 +378,7 @@ /datum/recipe/meatpizza appliance = OVEN - fruit = list("tomato" = 1) + fruit = list(PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/meat, @@ -390,7 +390,7 @@ /datum/recipe/syntipizza appliance = OVEN - fruit = list("tomato" = 1) + fruit = list(PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/meat/syntiflesh, @@ -402,7 +402,7 @@ /datum/recipe/mushroompizza appliance = OVEN - fruit = list("mushroom" = 5, "tomato" = 1) + fruit = list(PLANT_MUSHROOMS = 5, PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/cheesewedge @@ -413,7 +413,7 @@ /datum/recipe/vegetablepizza appliance = OVEN - fruit = list("eggplant" = 1, "carrot" = 1, "corn" = 1, "tomato" = 1) + fruit = list(PLANT_EGGPLANT = 1, PLANT_CARROT = 1, PLANT_CORN = 1, PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/cheesewedge @@ -422,7 +422,7 @@ /datum/recipe/pineapplepizza appliance = OVEN - fruit = list("tomato" = 1) + fruit = list(PLANT_TOMATO = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/cheesewedge, @@ -436,7 +436,7 @@ /datum/recipe/enchiladas appliance = OVEN - fruit = list("chili" = 2) + fruit = list(PLANT_CHILI = 2) items = list( /obj/item/reagent_containers/food/snacks/cutlet, /obj/item/reagent_containers/food/snacks/tortilla @@ -448,19 +448,19 @@ //============ /datum/recipe/cake appliance = OVEN - reagents = list("cakebatter" = 30, "vanilla" = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 30, REAGENT_ID_VANILLA = 2) result = /obj/item/reagent_containers/food/snacks/sliceable/plaincake reagent_mix = RECIPE_REAGENT_REPLACE /datum/recipe/cake/carrot appliance = OVEN - fruit = list("carrot" = 3) - reagents = list("cakebatter" = 30) + fruit = list(PLANT_CARROT = 3) + reagents = list(REAGENT_ID_CAKEBATTER = 30) result = /obj/item/reagent_containers/food/snacks/sliceable/carrotcake /datum/recipe/cake/cheese appliance = OVEN - reagents = list("cakebatter" = 30) + reagents = list(REAGENT_ID_CAKEBATTER = 30) items = list( /obj/item/reagent_containers/food/snacks/cheesewedge, /obj/item/reagent_containers/food/snacks/cheesewedge @@ -468,54 +468,54 @@ result = /obj/item/reagent_containers/food/snacks/sliceable/cheesecake /datum/recipe/cake/peanut - fruit = list("peanut" = 1) - reagents = list("cakebatter" = 30, "peanutbutter" = 5) + fruit = list(PLANT_PEANUT = 1) + reagents = list(REAGENT_ID_CAKEBATTER = 30, REAGENT_ID_PEANUTBUTTER = 5) result = /obj/item/reagent_containers/food/snacks/sliceable/peanutcake /datum/recipe/cake/orange appliance = OVEN - fruit = list("orange" = 2) - reagents = list("cakebatter" = 30) + fruit = list(PLANT_ORANGE = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 30) result = /obj/item/reagent_containers/food/snacks/sliceable/orangecake /datum/recipe/cake/lime appliance = OVEN - fruit = list("lime" = 2) - reagents = list("cakebatter" = 30) + fruit = list(PLANT_LIME = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 30) result = /obj/item/reagent_containers/food/snacks/sliceable/limecake /datum/recipe/cake/lemon appliance = OVEN - fruit = list("lemon" = 2) - reagents = list("cakebatter" = 30) + fruit = list(PLANT_LEMON = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 30) result = /obj/item/reagent_containers/food/snacks/sliceable/lemoncake /datum/recipe/cake/chocolate appliance = OVEN - reagents = list("cakebatter" = 30, "coco" = 5) + reagents = list(REAGENT_ID_CAKEBATTER = 30, REAGENT_ID_COCO = 5) result = /obj/item/reagent_containers/food/snacks/sliceable/chocolatecake /datum/recipe/cake/birthday appliance = OVEN - reagents = list("cakebatter" = 30) + reagents = list(REAGENT_ID_CAKEBATTER = 30) items = list(/obj/item/clothing/head/cakehat) result = /obj/item/reagent_containers/food/snacks/sliceable/birthdaycake /datum/recipe/cake/apple appliance = OVEN - fruit = list("apple" = 2) - reagents = list("cakebatter" = 30) + fruit = list(PLANT_APPLE = 2) + reagents = list(REAGENT_ID_CAKEBATTER = 30) result = /obj/item/reagent_containers/food/snacks/sliceable/applecake /datum/recipe/cake/brain appliance = OVEN - reagents = list("cakebatter" = 30) + reagents = list(REAGENT_ID_CAKEBATTER = 30) items = list(/obj/item/organ/internal/brain) result = /obj/item/reagent_containers/food/snacks/sliceable/braincake /datum/recipe/pancakes appliance = OVEN - reagents = list("milk" = 5, "sugar" = 15) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 15) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/sliceable/flatdough @@ -525,8 +525,8 @@ /datum/recipe/pancakes/berry appliance = OVEN - fruit = list("berries" = 2) - reagents = list("milk" = 5, "sugar" = 15) + fruit = list(PLANT_BERRIES = 2) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_SUGAR = 15) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/sliceable/flatdough @@ -536,7 +536,7 @@ /datum/recipe/lasagna appliance = OVEN - fruit = list("tomato" = 2, "eggplant" = 1) + fruit = list(PLANT_TOMATO = 2, PLANT_EGGPLANT = 1) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/sliceable/flatdough, @@ -551,7 +551,7 @@ items = list( /obj/item/reagent_containers/food/snacks/dough ) - reagents = list("milk" = 5, "egg" = 3,"honey" = 5) + reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_EGG = 3,REAGENT_ID_HONEY = 5) result = /obj/item/reagent_containers/food/snacks/honeybun result_quantity = 4 @@ -582,7 +582,7 @@ /datum/recipe/bacon_flatbread appliance = OVEN - fruit = list("tomato" = 2) + fruit = list(PLANT_TOMATO = 2) items = list( /obj/item/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/reagent_containers/food/snacks/cheesewedge, @@ -595,7 +595,7 @@ /datum/recipe/truffle appliance = OVEN - reagents = list("sugar" = 5, "cream" = 5) + reagents = list(REAGENT_ID_SUGAR = 5, REAGENT_ID_CREAM = 5) items = list( /obj/item/reagent_containers/food/snacks/chocolatebar ) @@ -605,7 +605,7 @@ /datum/recipe/croissant appliance = OVEN - reagents = list("sodiumchloride" = 1, "water" = 5, "milk" = 5, "yeast" = 5) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_WATER = 5, REAGENT_ID_MILK = 5, REAGENT_ID_YEAST = 5) reagent_mix = RECIPE_REAGENT_REPLACE items = list(/obj/item/reagent_containers/food/snacks/dough) result = /obj/item/reagent_containers/food/snacks/croissant @@ -613,7 +613,7 @@ /datum/recipe/macncheese appliance = OVEN - reagents = list("milk" = 5) + reagents = list(REAGENT_ID_MILK = 5) reagent_mix = RECIPE_REAGENT_REPLACE items = list( /obj/item/reagent_containers/food/snacks/spagetti, @@ -623,7 +623,7 @@ /datum/recipe/suppermatter appliance = OVEN - reagents = list("radium" = 5, "milk" = 5) + reagents = list(REAGENT_ID_RADIUM = 5, REAGENT_ID_MILK = 5) items = list( /obj/item/reagent_containers/food/snacks/sliceable/cheesecake ) @@ -632,7 +632,7 @@ /datum/recipe/excitingsuppermatter appliance = OVEN - reagents = list("radium" = 5, "spacespice" = 5) + reagents = list(REAGENT_ID_RADIUM = 5, REAGENT_ID_SPACESPICE = 5) items = list( /obj/item/reagent_containers/food/snacks/sliceable/cheesecake ) @@ -641,7 +641,7 @@ /datum/recipe/waffles appliance = OVEN - reagents = list("sugar" = 10) + reagents = list(REAGENT_ID_SUGAR = 10) items = list( /obj/item/reagent_containers/food/snacks/dough, /obj/item/reagent_containers/food/snacks/dough @@ -651,14 +651,14 @@ /datum/recipe/loadedbakedpotatooven appliance = OVEN - fruit = list("potato" = 1) + fruit = list(PLANT_POTATO = 1) items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato /datum/recipe/meatbun appliance = OVEN - fruit = list("cabbage" = 1) - reagents = list("water" = 5) + fruit = list(PLANT_CABBAGE = 1) + reagents = list(REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/meatball, /obj/item/reagent_containers/food/snacks/sliceable/flatdough, @@ -669,7 +669,7 @@ /datum/recipe/spicedmeatbun appliance = OVEN - reagents = list("spacespice" = 2, "water" = 5) + reagents = list(REAGENT_ID_SPACESPICE = 2, REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice, /obj/item/reagent_containers/food/snacks/rawcutlet @@ -680,7 +680,7 @@ /datum/recipe/custardbun appliance = OVEN - reagents = list("spacespice" = 1, "water" = 5, "egg" = 3) + reagents = list(REAGENT_ID_SPACESPICE = 1, REAGENT_ID_WATER = 5, REAGENT_ID_EGG = 3) items = list( /obj/item/reagent_containers/food/snacks/doughslice ) @@ -689,7 +689,7 @@ /datum/recipe/chickenmomo appliance = OVEN - reagents = list("spacespice" = 2, "water" = 5) + reagents = list(REAGENT_ID_SPACESPICE = 2, REAGENT_ID_WATER = 5) items = list( /obj/item/reagent_containers/food/snacks/doughslice, /obj/item/reagent_containers/food/snacks/doughslice, @@ -702,8 +702,8 @@ /datum/recipe/veggiemomo appliance = OVEN - reagents = list("spacespice" = 2, "water" = 5) - fruit = list("carrot" = 1, "cabbage" = 1) + reagents = list(REAGENT_ID_SPACESPICE = 2, REAGENT_ID_WATER = 5) + fruit = list(PLANT_CARROT = 1, PLANT_CABBAGE = 1) items = list( /obj/item/reagent_containers/food/snacks/doughslice, /obj/item/reagent_containers/food/snacks/doughslice, @@ -711,4 +711,4 @@ ) reagent_mix = RECIPE_REAGENT_REPLACE //Get that water outta here result = /obj/item/reagent_containers/food/snacks/veggiemomo - result_quantity = 2 \ No newline at end of file + result_quantity = 2 diff --git a/code/modules/food/recipes_oven_vr.dm b/code/modules/food/recipes_oven_vr.dm index b73704b91a..94db2d390c 100644 --- a/code/modules/food/recipes_oven_vr.dm +++ b/code/modules/food/recipes_oven_vr.dm @@ -1,7 +1,7 @@ /datum/recipe/scorpion appliance = OVEN - reagents = list("sodiumchloride" = 1) + reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1) items = list( /obj/item/reagent_containers/food/snacks/scorpion ) - result = /obj/item/reagent_containers/food/snacks/scorpion_cooked \ No newline at end of file + result = /obj/item/reagent_containers/food/snacks/scorpion_cooked diff --git a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm index b7becd5637..1651f9ab2e 100644 --- a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm +++ b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm @@ -15,7 +15,7 @@ /datum/event2/event/gas_leak - var/potential_gas_choices = list("carbon_dioxide", "nitrous_oxide", "phoron", "volatile_fuel") + var/potential_gas_choices = list(GAS_CO2, GAS_N2O, GAS_PHORON, GAS_VOLATILE_FUEL) var/chosen_gas = null var/turf/chosen_turf = null @@ -44,4 +44,4 @@ air_contents.temperature = T20C + rand(-50, 50) air_contents.gas[chosen_gas] = 10 * MOLES_CELLSTANDARD chosen_turf.assume_air(air_contents) - playsound(chosen_turf, 'sound/effects/smoke.ogg', 75, 1) \ No newline at end of file + playsound(chosen_turf, 'sound/effects/smoke.ogg', 75, 1) diff --git a/code/modules/games/cah_black_cards.dm b/code/modules/games/cah_black_cards.dm index c2ab79df12..312d8f19d2 100644 --- a/code/modules/games/cah_black_cards.dm +++ b/code/modules/games/cah_black_cards.dm @@ -182,27 +182,27 @@ "Why do I hurt all over?", "In the seventh circle of Hell, sinners must endure _____ for all eternity.", "A successful job interview begins with a firm handshake and ends with _____.", - "Lovin� you is easy �cause you�re _____.", + "Lovin' you is easy 'cause you're _____.", "My life is ruled by a vicious cycle of _____ and _____.", "The blind date was going horribly until we discovered our shared interest in _____.", "_____. Awesome in theory, kind of a mess in practice.", - "I�m not like the rest of you. I�m too rich and busy for _____.", + "I'm not like the rest of you. I'm too rich and busy for _____.", "(Pick 2) _____: Hours of fun. Easy to use. Perfect for _____!", "What left this stain on my couch?", "Call the law offices of Goldstein & Goldstein, because no one should have to tolerate _____ in the workplace.", "(Pick 2) When you get right down to it, _____ is just _____.", "Turns out that _____ Man was neither the hero we needed nor wanted.", "As part of his daily regimen, Anderson Cooper sets aside 15 minutes for _____.", - "Money can�t buy me love, but it can buy me _____.", + "Money can't buy me love, but it can buy me _____.", "(Pick 2) With enough time and pressure, _____ will turn into _____.", "And what did you bring for show and tell?", "During high school I never really fit in until I found _____ club.", - "Hey baby, come back to my place and I�ll show you _____.", - "(Pick 2) After months of practice with _____, I think I�m finally ready for _____.", + "Hey baby, come back to my place and I'll show you _____.", + "(Pick 2) After months of practice with _____, I think I'm finally ready for _____.", "To prepare for his upcoming role, Daniel Day-Lewis immersed himself in the world of _____.", "Finally! A service that delivers _____ right to your door.", "My gym teacher got fired for adding _____ to the obstacle course.", "(Pick 2) Having problems with _____? Try _____!", - "As part of his contract, Prince won�t perform without _____ in his dressing room.", - "(Pick 2) Listen, son. If you want to get involved with _____, I won�t stop you. Just steer clear of _____." + "As part of his contract, Prince won't perform without _____ in his dressing room.", + "(Pick 2) Listen, son. If you want to get involved with _____, I won't stop you. Just steer clear of _____." ) diff --git a/code/modules/genetics/side_effects.dm b/code/modules/genetics/side_effects.dm index 3ff4ee9416..6ee490cd56 100644 --- a/code/modules/genetics/side_effects.dm +++ b/code/modules/genetics/side_effects.dm @@ -24,7 +24,7 @@ H.custom_emote(VISIBLE_MESSAGE, "starts turning very red..") /datum/genetics/side_effect/genetic_burn/finish(mob/living/carbon/human/H) - if(H.reagents.has_reagent("dexalin")) + if(H.reagents.has_reagent(REAGENT_ID_DEXALIN)) return for(var/organ_name in BP_ALL) var/obj/item/organ/external/E = H.get_organ(organ_name) @@ -41,7 +41,7 @@ H.custom_emote(VISIBLE_MESSAGE, "'s limbs start shivering uncontrollably.") /datum/genetics/side_effect/bone_snap/finish(mob/living/carbon/human/H) - if(H.reagents.has_reagent("bicaridine")) + if(H.reagents.has_reagent(REAGENT_ID_BICARIDINE)) return var/organ_name = pick(BP_ALL) var/obj/item/organ/external/E = H.get_organ(organ_name) @@ -60,7 +60,7 @@ H.custom_emote(VISIBLE_MESSAGE, "has drool running down from [T.his] mouth.") /datum/genetics/side_effect/confuse/finish(mob/living/carbon/human/H) - if(H.reagents.has_reagent("anti_toxin")) + if(H.reagents.has_reagent(REAGENT_ID_ANTITOXIN)) return H.Confuse(100) diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm index f587fcc679..1032fc1356 100644 --- a/code/modules/ghosttrap/trap.dm +++ b/code/modules/ghosttrap/trap.dm @@ -49,7 +49,7 @@ var/list/ghost_traps if(pref_check && !(O.client.prefs.be_special & pref_check)) continue if(O.client) - to_chat(O, "[request_string]Click here if you wish to play as this option.") + to_chat(O, "[request_string]Click here if you wish to play as this option.") // Handles a response to request_player(). /datum/ghosttrap/Topic(href, href_list) diff --git a/code/modules/hydroponics/backtank.dm b/code/modules/hydroponics/backtank.dm index ff203ec399..b2962061dc 100644 --- a/code/modules/hydroponics/backtank.dm +++ b/code/modules/hydroponics/backtank.dm @@ -173,7 +173,7 @@ /obj/item/watertank/janitor/Initialize() . = ..() - reagents.add_reagent("cleaner", 500) + reagents.add_reagent(REAGENT_ID_CLEANER, 500) /obj/item/watertank/janitor/make_noz() return new /obj/item/reagent_containers/spray/mister/janitor(src) @@ -202,7 +202,7 @@ /obj/item/watertank/pepperspray/Initialize() . = ..() - reagents.add_reagent("condensedcapsaicin", 1000) + reagents.add_reagent(REAGENT_ID_CONDENSEDCAPSAICIN, 1000) /obj/item/watertank/pepperspray/make_noz() return new /obj/item/reagent_containers/spray/mister/pepperspray(src) @@ -233,10 +233,10 @@ /obj/item/watertank/op/Initialize() . = ..() - reagents.add_reagent("fuel", 500) - reagents.add_reagent("cryptobiolin", 500) - reagents.add_reagent("phoron", 500) - reagents.add_reagent("condensedcapsaicin", 500) + reagents.add_reagent(REAGENT_ID_FUEL, 500) + reagents.add_reagent(REAGENT_ID_CRYPTOBIOLIN, 500) + reagents.add_reagent(REAGENT_ID_PHORON, 500) + reagents.add_reagent(REAGENT_ID_CONDENSEDCAPSAICIN, 500) /obj/item/watertank/op/make_noz() return new /obj/item/reagent_containers/spray/mister/op(src) @@ -266,7 +266,7 @@ /obj/item/watertank/atmos/Initialize() . = ..() - reagents.add_reagent("water", 200) + reagents.add_reagent(REAGENT_ID_WATER, 200) /obj/item/watertank/atmos/make_noz() return new /obj/item/reagent_containers/spray/mister/atmos(src) diff --git a/code/modules/hydroponics/beekeeping/beehive.dm b/code/modules/hydroponics/beekeeping/beehive.dm index af43ffd97b..bc4f8ef2c9 100644 --- a/code/modules/hydroponics/beekeeping/beehive.dm +++ b/code/modules/hydroponics/beekeeping/beehive.dm @@ -196,7 +196,7 @@ return var/obj/item/reagent_containers/glass/G = I var/transferred = min(G.reagents.maximum_volume - G.reagents.total_volume, honey) - G.reagents.add_reagent("honey", transferred) + G.reagents.add_reagent(REAGENT_ID_HONEY, transferred) honey -= transferred user.visible_message(span_notice("[user] collects honey from \the [src] into \the [G]."), span_notice("You collect [transferred] units of honey from \the [src] into \the [G].")) return 1 diff --git a/code/modules/hydroponics/fruit_spawner.dm b/code/modules/hydroponics/fruit_spawner.dm index 4ebbff50d1..eaaa92f1be 100644 --- a/code/modules/hydroponics/fruit_spawner.dm +++ b/code/modules/hydroponics/fruit_spawner.dm @@ -17,312 +17,312 @@ /obj/fruitspawner/cabbage name = "cabbage spawner" - seedtype = "cabbage" + seedtype = PLANT_CABBAGE icon_state = "cabbage" /obj/fruitspawner/ambrosia name = "ambrosia spawner" - seedtype = "ambrosia" + seedtype = PLANT_AMBROSIA icon_state = "ambrosia" /obj/fruitspawner/apple name = "apple spawner" - seedtype = "apple" + seedtype = PLANT_APPLE icon_state = "apple" /obj/fruitspawner/banana name = "banana spawner" - seedtype = "banana" + seedtype = PLANT_BANANA icon_state = "bananas" /obj/fruitspawner/berry name = "berry spawner" - seedtype = "berries" + seedtype = PLANT_BERRIES icon_state = "berry" /obj/fruitspawner/carrot name = "carrot spawner" - seedtype = "carrot" + seedtype = PLANT_CARROT icon_state = "carrot" /obj/fruitspawner/celery name = "celery spawner" - seedtype = "celery" + seedtype = PLANT_CELERY icon_state = "stalk" /obj/fruitspawner/cherry name = "cherry spawner" - seedtype = "cherry" + seedtype = PLANT_CHERRY icon_state = "cherry" /obj/fruitspawner/chili name = "chili spawner" - seedtype = "chili" + seedtype = PLANT_CHILI icon_state = "chili" /obj/fruitspawner/icechili name = "icechili spawner" - seedtype = "icechili" + seedtype = PLANT_ICECHILI icon_state = "chili" /obj/fruitspawner/ghostchili name = "ghost chili spawner" - seedtype = "ghostchili" + seedtype = PLANT_GHOSTCHILI icon_state = "chili" /obj/fruitspawner/lime name = "lime spawner" - seedtype = "lime" + seedtype = PLANT_LIME icon_state = "treefruit" /obj/fruitspawner/lemon name = "lemon spawner" - seedtype = "lemon" + seedtype = PLANT_LEMON icon_state = "lemon" /obj/fruitspawner/orange name = "orange spawner" - seedtype = "orange" + seedtype = PLANT_ORANGE icon_state = "treefruit" /obj/fruitspawner/cocoa name = "cocoa spawner" - seedtype = "cocoa" + seedtype = PLANT_COCOA icon_state = "treefruit" /obj/fruitspawner/corn name = "corn spawner" - seedtype = "corn" + seedtype = PLANT_CORN icon_state = "corn" /obj/fruitspawner/diona name = "diona spawner" - seedtype = "diona" + seedtype = PLANT_DIONA icon_state = "diona" /obj/fruitspawner/durian name = "durian spawner" - seedtype = "durian" + seedtype = PLANT_DURIAN icon_state = "spinefruit" /obj/fruitspawner/eggplant name = "eggplant spawner" - seedtype = "eggplant" + seedtype = PLANT_EGGPLANT icon_state = "eggplant" /obj/fruitspawner/harebells name = "harebells spawner" - seedtype = "harebells" + seedtype = PLANT_HAREBELLS icon_state = "flower5" /obj/fruitspawner/poppies name = "poppies spawner" - seedtype = "poppies" + seedtype = PLANT_POPPIES icon_state = "flower3" /obj/fruitspawner/sunflowers name = "sunflowers spawner" - seedtype = "sunflowers" + seedtype = PLANT_SUNFLOWERS icon_state = "flower2" /obj/fruitspawner/lavender name = "lavender spawner" - seedtype = "lavender" + seedtype = PLANT_LAVENDER icon_state = "flower6" /obj/fruitspawner/rose name = "rose spawner" - seedtype = "rose" + seedtype = PLANT_ROSE icon_state = "flowers" /obj/fruitspawner/bloodrose name = "bloodrose spawner" - seedtype = "bloodrose" + seedtype = PLANT_BLOODROSE icon_state = "flowers" /obj/fruitspawner/gnomes name = "gnomes spawner" - seedtype = "gnomes" + seedtype = PLANT_GNOMES icon_state = "gnomes" /obj/fruitspawner/grapes name = "grapes spawner" - seedtype = "grapes" + seedtype = PLANT_GRAPES icon_state = "grapes" /obj/fruitspawner/greengrapes name = "greengrapes spawner" - seedtype = "greengrapes" + seedtype = PLANT_GREENGRAPES icon_state = "grapes" /obj/fruitspawner/grass name = "grass spawner" - seedtype = "grass" + seedtype = PLANT_GRASS icon_state = "grass" /obj/fruitspawner/carpet name = "carpet spawner" - seedtype = "carpet" + seedtype = PLANT_CARPET icon_state = "grass" /obj/fruitspawner/kudzu name = "kudzu spawner" - seedtype = "kudzu" + seedtype = PLANT_KUDZU icon_state = "treefruit" /obj/fruitspawner/lettuce name = "lettuce spawner" - seedtype = "lettuce" + seedtype = PLANT_LETTUCE icon_state = "lettuce" /obj/fruitspawner/siflettuce name = "siflettuce spawner" - seedtype = "siflettuce" + seedtype = PLANT_SIFLETTUCE icon_state = "lettuce" /obj/fruitspawner/mtear name = "mtear spawner" - seedtype = "mtear" + seedtype = PLANT_MTEAR icon_state = "alien4" /obj/fruitspawner/mushrooms name = "chanterelle spawner" - seedtype = "mushrooms" + seedtype = PLANT_MUSHROOMS icon_state = "mushroom4" /obj/fruitspawner/mold name = "mold spawner" - seedtype = "mold" + seedtype = PLANT_MOLD icon_state = "mushroom5" /obj/fruitspawner/plumphelmet name = "plumphelmet spawner" - seedtype = "plumphelmet" + seedtype = PLANT_PLUMPHELMET icon_state = "mushroom10" /obj/fruitspawner/reishi name = "reishi spawner" - seedtype = "reishi" + seedtype = PLANT_REISHI icon_state = "mushroom11" /obj/fruitspawner/libertycap name = "libertycap spawner" - seedtype = "libertycap" + seedtype = PLANT_LIBERTYCAP icon_state = "mushroom8" /obj/fruitspawner/amanita name = "amanita spawner" - seedtype = "amanita" + seedtype = PLANT_AMANITA icon_state = "mushroom" /obj/fruitspawner/destroyingangel name = "destroyingangel spawner" - seedtype = "destroyingangel" + seedtype = PLANT_DESTROYINGANGEL icon_state = "mushroom3" /obj/fruitspawner/towercap name = "towercap spawner" - seedtype = "towercap" + seedtype = PLANT_TOWERCAP icon_state = "mushroom7" /obj/fruitspawner/redcap name = "redcap spawner" - seedtype = "redcap" + seedtype = PLANT_REDCAP icon_state = "mushroom7" /obj/fruitspawner/glowshroom name = "glowshroom spawner" - seedtype = "glowshroom" + seedtype = PLANT_GLOWSHROOM icon_state = "mushroom2" /obj/fruitspawner/plastic name = "plastic spawner" - seedtype = "plastic" + seedtype = PLANT_PLASTIC icon_state = "mushroom6" /obj/fruitspawner/sporeshroom name = "sporeshroom spawner" - seedtype = "sporeshroom" + seedtype = PLANT_SPORESHROOM icon_state = "mushroom5" /obj/fruitspawner/nettle name = "nettle spawner" - seedtype = "nettle" + seedtype = PLANT_NETTLE icon_state = "nettles" /obj/fruitspawner/deathnettle name = "deathnettle spawner" - seedtype = "deathnettle" + seedtype = PLANT_DEATHNETTLE icon_state = "nettles" /obj/fruitspawner/onion name = "onion spawner" - seedtype = "onion" + seedtype = PLANT_ONION icon_state = "onion" /obj/fruitspawner/peanut name = "peanut spawner" - seedtype = "peanut" + seedtype = PLANT_PEANUT icon_state = "nuts" /obj/fruitspawner/pineapple name = "pineapple spawner" - seedtype = "pineapple" + seedtype = PLANT_PINEAPPLE icon_state = "pineapple" /obj/fruitspawner/spineapple name = "spineapple spawner" - seedtype = "spineapple" + seedtype = PLANT_SPINEAPPLE icon_state = "pineapple" /obj/fruitspawner/potato name = "potato spawner" - seedtype = "potato" + seedtype = PLANT_POTATO icon_state = "potato" /obj/fruitspawner/pumpkin name = "pumpkin spawner" - seedtype = "pumpkin" + seedtype = PLANT_PUMPKIN icon_state = "vine2" /obj/fruitspawner/rhubarb name = "rhubarb spawner" - seedtype = "rhubarb" + seedtype = PLANT_ROSE icon_state = "stalk" /obj/fruitspawner/rice name = "rice spawner" - seedtype = "rice" + seedtype = PLANT_RICE icon_state = "rice" /obj/fruitspawner/shand name = "selems hand spawner" - seedtype = "shand" + seedtype = PLANT_SHAND icon_state = "alien3" /obj/fruitspawner/soybean name = "soybean spawner" - seedtype = "soybean" + seedtype = PLANT_SOYBEAN icon_state = "bean" /obj/fruitspawner/sugarcane name = "sugarcane spawner" - seedtype = "sugarcane" + seedtype = PLANT_SUGARCANE icon_state = "stalk" /obj/fruitspawner/telriis name = "telriis spawner" - seedtype = "telriis" + seedtype = PLANT_TELRIIS icon_state = "ambrosia" /obj/fruitspawner/thaadra name = "thaadra spawner" - seedtype = "thaadra" + seedtype = PLANT_THAADRA icon_state = "grass" /obj/fruitspawner/tobacco name = "tobacco spawner" - seedtype = "tobacco" + seedtype = PLANT_TOBACCO icon_state = "leafy" /obj/fruitspawner/stimbush @@ -332,65 +332,65 @@ /obj/fruitspawner/tomato name = "tomato spawner" - seedtype = "tomato" + seedtype = PLANT_TOMATO icon_state = "tomato" /obj/fruitspawner/bloodtomato name = "bloodtomato spawner" - seedtype = "bloodtomato" + seedtype = PLANT_BLOODTOMATO icon_state = "tomato" /obj/fruitspawner/bluetomato name = "bluetomato spawner" - seedtype = "bluetomato" + seedtype = PLANT_BLUETOMATO icon_state = "tomato" /obj/fruitspawner/bluespacetomato name = "bluespacetomato spawner" - seedtype = "bluespacetomato" + seedtype = PLANT_BLUESPACETOMATO icon_state = "tomato" /obj/fruitspawner/vanilla name = "vanilla spawner" - seedtype = "vanilla" + seedtype = PLANT_VANILLA icon_state = "chili" /obj/fruitspawner/whitewabback name = "whitewabback spawner" - seedtype = "whitewabback" + seedtype = PLANT_WHITEWABBACK icon_state = "carrot2" /obj/fruitspawner/blackwabback name = "blackwabback spawner" - seedtype = "blackwabback" + seedtype = PLANT_BLACKWABBACK icon_state = "carrot2" /obj/fruitspawner/wildwabback name = "wildwabback spawner" - seedtype = "wildwabback" + seedtype = PLANT_WILDWABBACK icon_state = "carrot2" /obj/fruitspawner/watermelon name = "watermelon spawner" - seedtype = "watermelon" + seedtype = PLANT_WATERMELON icon_state = "vine" /obj/fruitspawner/weeds name = "weeds spawner" - seedtype = "weeds" + seedtype = PLANT_WEEDS icon_state = "flower4" /obj/fruitspawner/wheat name = "wheat spawner" - seedtype = "wheat" + seedtype = PLANT_WHEAT icon_state = "wheat" /obj/fruitspawner/whitebeet name = "whitebeet spawner" - seedtype = "whitebeet" + seedtype = PLANT_WHITEBEET icon_state = "carrot2" /obj/fruitspawner/wurmwoad name = "wurmwoad spawner" - seedtype = "wurmwoad" + seedtype = PLANT_WURMWOAD icon_state = "eyepod" diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index e42d0ff0cb..7e7629b0da 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -52,7 +52,7 @@ var/list/data = list() if(reagent_data.len > 1 && potency > 0) rtotal += round(potency/reagent_data[2]) - if(rid == "nutriment") + if(rid == REAGENT_ID_NUTRIMENT) data[seed.seed_name] = max(1,rtotal) reagents.add_reagent(rid,max(1,rtotal),data) @@ -70,33 +70,33 @@ desc = SSplants.product_descs["[seed.uid]"] else var/list/descriptors = list() - if(reagents.has_reagent("sugar") || reagents.has_reagent("cherryjelly") || reagents.has_reagent("honey") || reagents.has_reagent("berryjuice")) + if(reagents.has_reagent(REAGENT_ID_SUGAR) || reagents.has_reagent(REAGENT_ID_CHERRYJELLY) || reagents.has_reagent(REAGENT_ID_HONEY) || reagents.has_reagent(REAGENT_ID_BERRYJUICE)) descriptors |= "sweet" - if(reagents.has_reagent("anti_toxin")) + if(reagents.has_reagent(REAGENT_ID_ANTITOXIN)) descriptors |= "astringent" - if(reagents.has_reagent("frostoil")) + if(reagents.has_reagent(REAGENT_ID_FROSTOIL)) descriptors |= "numbing" - if(reagents.has_reagent("nutriment")) + if(reagents.has_reagent(REAGENT_ID_NUTRIMENT)) descriptors |= "nutritious" - if(reagents.has_reagent("condensedcapsaicin") || reagents.has_reagent("capsaicin")) + if(reagents.has_reagent(REAGENT_ID_CONDENSEDCAPSAICIN) || reagents.has_reagent(REAGENT_ID_CAPSAICIN)) descriptors |= "spicy" - if(reagents.has_reagent("coco")) + if(reagents.has_reagent(REAGENT_ID_COCO)) descriptors |= "bitter" - if(reagents.has_reagent("orangejuice") || reagents.has_reagent("lemonjuice") || reagents.has_reagent("limejuice")) + if(reagents.has_reagent(REAGENT_ID_ORANGEJUICE) || reagents.has_reagent(REAGENT_ID_LEMONJUICE) || reagents.has_reagent(REAGENT_ID_LIMEJUICE)) descriptors |= "sweet-sour" - if(reagents.has_reagent("radium") || reagents.has_reagent("uranium")) + if(reagents.has_reagent(REAGENT_ID_RADIUM) || reagents.has_reagent(REAGENT_ID_URANIUM)) descriptors |= "radioactive" - if(reagents.has_reagent("amatoxin") || reagents.has_reagent("toxin")) + if(reagents.has_reagent(REAGENT_ID_AMATOXIN) || reagents.has_reagent(REAGENT_ID_TOXIN)) descriptors |= "poisonous" - if(reagents.has_reagent("psilocybin") || reagents.has_reagent("bliss") || reagents.has_reagent("earthsblood")) + if(reagents.has_reagent(REAGENT_ID_PSILOCYBIN) || reagents.has_reagent(REAGENT_ID_BLISS) || reagents.has_reagent(REAGENT_ID_EARTHSBLOOD)) descriptors |= "hallucinogenic" - if(reagents.has_reagent("bicaridine") || reagents.has_reagent("earthsblood")) + if(reagents.has_reagent(REAGENT_ID_BICARIDINE) || reagents.has_reagent(REAGENT_ID_EARTHSBLOOD)) descriptors |= "medicinal" - if(reagents.has_reagent("gold") || reagents.has_reagent("earthsblood")) + if(reagents.has_reagent(REAGENT_ID_GOLD) || reagents.has_reagent(REAGENT_ID_EARTHSBLOOD)) descriptors |= "shiny" - if(reagents.has_reagent("lube")) + if(reagents.has_reagent(REAGENT_ID_LUBE)) descriptors |= "slippery" - if(reagents.has_reagent("pacid") || reagents.has_reagent("sacid")) + if(reagents.has_reagent(REAGENT_ID_PACID) || reagents.has_reagent(REAGENT_ID_SACID)) descriptors |= "acidic" if(seed.get_trait(TRAIT_JUICY)) descriptors |= "juicy" @@ -188,7 +188,7 @@ if(W.sharp) - if(seed.kitchen_tag == "pumpkin") // Ugggh these checks are awful. + if(seed.kitchen_tag == PLANT_PUMPKIN) // Ugggh these checks are awful. user.show_message(span_notice("You carve a face into [src]!"), 1) new /obj/item/clothing/head/pumpkinhead (user.loc) qdel(src) @@ -196,7 +196,7 @@ if(seed.chems) - if(W.sharp && W.edge && !isnull(seed.chems["woodpulp"])) + if(W.sharp && W.edge && !isnull(seed.chems[REAGENT_ID_WOODPULP])) user.show_message(span_notice("You make planks out of \the [src]!"), 1) playsound(src, 'sound/effects/woodcutting.ogg', 50, 1) var/flesh_colour = seed.get_trait(TRAIT_FLESH_COLOUR) @@ -214,31 +214,31 @@ qdel(src) return - if(seed.kitchen_tag == "sunflower") + if(seed.kitchen_tag == PLANT_SUNFLOWERS) new /obj/item/reagent_containers/food/snacks/rawsunflower(get_turf(src)) to_chat(user, span_notice("You remove the seeds from the flower, slightly damaging them.")) qdel(src) return - if(seed.kitchen_tag == "potato" || !isnull(seed.chems["potato"])) + if(seed.kitchen_tag == PLANT_POTATO || !isnull(seed.chems[REAGENT_ID_POTATOJUICE])) to_chat(user, span_filter_notice("You slice \the [src] into sticks.")) new /obj/item/reagent_containers/food/snacks/rawsticks(get_turf(src)) qdel(src) return - if(!isnull(seed.chems["carrotjuice"])) + if(!isnull(seed.chems[REAGENT_ID_CARROTJUICE])) to_chat(user, span_filter_notice("You slice \the [src] into sticks.")) new /obj/item/reagent_containers/food/snacks/carrotfries(get_turf(src)) qdel(src) return - if(!isnull(seed.chems["pineapplejuice"])) + if(!isnull(seed.chems[REAGENT_ID_PINEAPPLEJUICE])) to_chat(user, span_filter_notice("You slice \the [src] into rings.")) new /obj/item/reagent_containers/food/snacks/pineapple_ring(get_turf(src)) qdel(src) return - if(!isnull(seed.chems["soymilk"])) + if(!isnull(seed.chems[REAGENT_ID_SOYMILK])) to_chat(user, span_filter_notice("You roughly chop up \the [src].")) new /obj/item/reagent_containers/food/snacks/soydope(get_turf(src)) qdel(src) @@ -289,7 +289,7 @@ if(src) qdel(src) return - if(seed.kitchen_tag == "grass") + if(seed.kitchen_tag == PLANT_GRASS) user.show_message(span_notice("You make a grass tile out of \the [src]!"), 1) var/flesh_colour = seed.get_trait(TRAIT_FLESH_COLOUR) if(!flesh_colour) flesh_colour = seed.get_trait(TRAIT_PRODUCT_COLOUR) @@ -306,7 +306,7 @@ qdel(src) return - if(seed.kitchen_tag == "carpet") + if(seed.kitchen_tag == PLANT_CARPET) user.show_message(span_notice("You shape some carpet squares out of \the [src] fibers!"), 1) for(var/i=0,i<2,i++) var/obj/item/stack/tile/carpet/G = new (user.loc) @@ -330,13 +330,13 @@ /* if(seed.kitchen_tag) switch(seed.kitchen_tag) - if("shand") + if(PLANT_SHAND) var/obj/item/stack/medical/bruise_pack/tajaran/poultice = new /obj/item/stack/medical/bruise_pack/tajaran(user.loc) poultice.heal_brute = potency to_chat(user, span_notice("You mash the leaves into a poultice.")) qdel(src) return - if("mtear") + if(PLANT_MTEAR) var/obj/item/stack/medical/ointment/tajaran/poultice = new /obj/item/stack/medical/ointment/tajaran(user.loc) poultice.heal_burn = potency to_chat(user, span_notice("You mash the petals into a poultice.")) @@ -362,10 +362,10 @@ // Predefined types for placing on the map. /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap - plantname = "libertycap" + plantname = PLANT_LIBERTYCAP /obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris - plantname = "ambrosia" + plantname = PLANT_AMBROSIA /obj/item/reagent_containers/food/snacks/fruit_slice name = "fruit slice" diff --git a/code/modules/hydroponics/grown_predefined.dm b/code/modules/hydroponics/grown_predefined.dm index 196f72c667..66e1f8ee33 100644 --- a/code/modules/hydroponics/grown_predefined.dm +++ b/code/modules/hydroponics/grown_predefined.dm @@ -1,5 +1,5 @@ /obj/item/reagent_containers/food/snacks/grown/ambrosiavulgaris - plantname = "ambrosia" + plantname = PLANT_AMBROSIA /obj/item/reagent_containers/food/snacks/grown/ambrosiadeus - plantname = "ambrosiadeus" + plantname = PLANT_AMBROSIADEUS diff --git a/code/modules/hydroponics/grown_sif.dm b/code/modules/hydroponics/grown_sif.dm index c55600c756..aa3e827ca7 100644 --- a/code/modules/hydroponics/grown_sif.dm +++ b/code/modules/hydroponics/grown_sif.dm @@ -21,16 +21,16 @@ . = ..() /obj/item/reagent_containers/food/snacks/grown/sif/sifpod - plantname = "sifbulb" + plantname = PLANT_SIFBULB /obj/item/reagent_containers/food/snacks/grown/sif/wabback - plantname = "wabback" + plantname = PLANT_WHITEWABBACK /obj/item/reagent_containers/food/snacks/grown/sif/blackwabback - plantname = "blackwabback" + plantname = PLANT_BLACKWABBACK /obj/item/reagent_containers/food/snacks/grown/sif/wildwabback - plantname = "wildwabback" + plantname = PLANT_WILDWABBACK /obj/item/reagent_containers/food/snacks/grown/sif/eyebulbs plantname = "eyebulbs" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 8f9efc2835..01edbb4ac2 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -445,29 +445,29 @@ if(prob(5)) consume_gasses = list() - var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2) consume_gasses[gas] = rand(3,9) if(prob(5)) exude_gasses = list() - var/gas = pick("oxygen","nitrogen","phoron","carbon_dioxide") + var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2) exude_gasses[gas] = rand(3,9) chems = list() if(prob(80)) - chems["nutriment"] = list(rand(1,10),rand(10,20)) + chems[REAGENT_ID_NUTRIMENT] = list(rand(1,10),rand(10,20)) var/additional_chems = rand(0,5) if(additional_chems) // VOREStation Edit Start: Modified exclusion list var/list/banned_chems = list( - "adminordrazine", - "nutriment", - "macrocillin", - "microcillin", - "normalcillin", - "magicdust" + REAGENT_ID_ADMINORDRAZINE, + REAGENT_ID_NUTRIMENT, + REAGENT_ID_MACROCILLIN, + REAGENT_ID_MICROCILLIN, + REAGENT_ID_NORMALCILLIN, + REAGENT_ID_MAGICDUST ) // VOREStation Edit End: Modified exclusion list diff --git a/code/modules/hydroponics/seed_datums_vr.dm b/code/modules/hydroponics/seed_datums_vr.dm index a1c68e1f51..a6b50a0308 100644 --- a/code/modules/hydroponics/seed_datums_vr.dm +++ b/code/modules/hydroponics/seed_datums_vr.dm @@ -2,12 +2,12 @@ //Vore Originals /datum/seed/size - name = "microm" + name = PLANT_MICROM seed_name = "Shrinking Mushroom" display_name = "Shrinking mushroom trees" - mutants = list("megam") - kitchen_tag = "microm" - chems = list("microcillin" = list(1,20)) + mutants = list(PLANT_MEGAM) + kitchen_tag = PLANT_MICROM + chems = list(REAGENT_ID_MICROCILLIN = list(1,20)) /datum/seed/size/New() ..() @@ -22,12 +22,12 @@ /datum/seed/size/megam - name = "megam" + name = PLANT_MEGAM seed_name = "Mega Mushroom" display_name = "Mega mushroom trees" - mutants = list("microm") - kitchen_tag = "megam" - chems = list("macrocillin" = list(1,20)) + mutants = list(PLANT_MICROM) + kitchen_tag = PLANT_MEGAM + chems = list(REAGENT_ID_MACROCILLIN = list(1,20)) /datum/seed/size/megam/New() ..() diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 1574365617..baae35d32e 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -83,277 +83,283 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds) . = ..() /obj/item/seeds/replicapod - seed_type = "diona" + seed_type = PLANT_DIONA /obj/item/seeds/chiliseed - seed_type = "chili" + seed_type = PLANT_CHILI /obj/item/seeds/ghostchiliseed - seed_type = "ghostchili" + seed_type = PLANT_GHOSTCHILI /obj/item/seeds/plastiseed - seed_type = "plastic" + seed_type = PLANT_PLASTIC /obj/item/seeds/grapeseed - seed_type = "grapes" + seed_type = PLANT_GRAPES /obj/item/seeds/greengrapeseed - seed_type = "greengrapes" + seed_type = PLANT_GREENGRAPES /obj/item/seeds/peanutseed - seed_type = "peanut" + seed_type = PLANT_PEANUT /obj/item/seeds/cabbageseed - seed_type = "cabbage" + seed_type = PLANT_CABBAGE /obj/item/seeds/shandseed - seed_type = "shand" + seed_type = PLANT_SHAND /obj/item/seeds/mtearseed - seed_type = "mtear" + seed_type = PLANT_MTEAR /obj/item/seeds/berryseed - seed_type = "berries" + seed_type = PLANT_BERRIES /obj/item/seeds/glowberryseed - seed_type = "glowberries" + seed_type = PLANT_GLOWBERRIES /obj/item/seeds/peppercornseed - seed_type = "peppercorns" + seed_type = PLANT_PEPPERCORNS /obj/item/seeds/bananaseed - seed_type = "banana" + seed_type = PLANT_BANANA /obj/item/seeds/eggplantseed - seed_type = "eggplant" + seed_type = PLANT_EGGPLANT /obj/item/seeds/bloodtomatoseed - seed_type = "bloodtomato" + seed_type = PLANT_BLOODTOMATO /obj/item/seeds/tomatoseed - seed_type = "tomato" + seed_type = PLANT_TOMATO /obj/item/seeds/killertomatoseed - seed_type = "killertomato" + seed_type = PLANT_KILLERTOMATO /obj/item/seeds/bluetomatoseed - seed_type = "bluetomato" + seed_type = PLANT_BLUETOMATO /obj/item/seeds/bluespacetomatoseed - seed_type = "bluespacetomato" + seed_type = PLANT_BLUESPACETOMATO /obj/item/seeds/cornseed - seed_type = "corn" + seed_type = PLANT_CORN /obj/item/seeds/poppyseed - seed_type = "poppies" + seed_type = PLANT_POPPIES /obj/item/seeds/potatoseed - seed_type = "potato" + seed_type = PLANT_POTATO /obj/item/seeds/icepepperseed - seed_type = "icechili" + seed_type = PLANT_ICECHILI /obj/item/seeds/soyaseed - seed_type = "soybean" + seed_type = PLANT_SOYBEAN /obj/item/seeds/wheatseed - seed_type = "wheat" + seed_type = PLANT_WHEAT /obj/item/seeds/riceseed - seed_type = "rice" + seed_type = PLANT_RICE /obj/item/seeds/carrotseed - seed_type = "carrot" + seed_type = PLANT_CARROT /obj/item/seeds/reishimycelium - seed_type = "reishi" + seed_type = PLANT_REISHI /obj/item/seeds/amanitamycelium - seed_type = "amanita" + seed_type = PLANT_AMANITA /obj/item/seeds/angelmycelium - seed_type = "destroyingangel" + seed_type = PLANT_DESTROYINGANGEL /obj/item/seeds/libertymycelium - seed_type = "libertycap" + seed_type = PLANT_LIBERTYCAP /obj/item/seeds/chantermycelium - seed_type = "mushrooms" + seed_type = PLANT_MUSHROOMS /obj/item/seeds/towermycelium - seed_type = "towercap" + seed_type = PLANT_TOWERCAP /obj/item/seeds/redtowermycelium - seed_type = "redcap" + seed_type = PLANT_REDCAP /obj/item/seeds/glowshroom - seed_type = "glowshroom" + seed_type = PLANT_GLOWSHROOM /obj/item/seeds/plumpmycelium - seed_type = "plumphelmet" + seed_type = PLANT_PLUMPHELMET /obj/item/seeds/plastellmycelium - seed_type = "plastic" + seed_type = PLANT_PLASTIC /obj/item/seeds/sporemycelium - seed_type = "sporeshroom" + seed_type = PLANT_SPORESHROOM /obj/item/seeds/nettleseed - seed_type = "nettle" + seed_type = PLANT_NETTLE /obj/item/seeds/deathnettleseed - seed_type = "deathnettle" + seed_type = PLANT_DEATHNETTLE /obj/item/seeds/weeds - seed_type = "weeds" + seed_type = PLANT_WEEDS /obj/item/seeds/harebell - seed_type = "harebells" + seed_type = PLANT_HAREBELLS /obj/item/seeds/sunflowerseed - seed_type = "sunflowers" + seed_type = PLANT_SUNFLOWERS /obj/item/seeds/lavenderseed - seed_type = "lavender" + seed_type = PLANT_LAVENDER /obj/item/seeds/brownmold - seed_type = "mold" + seed_type = PLANT_MOLD /obj/item/seeds/appleseed - seed_type = "apple" + seed_type = PLANT_APPLE /obj/item/seeds/poisonedappleseed - seed_type = "poisonapple" + seed_type = PLANT_POISONAPPLE /obj/item/seeds/goldappleseed - seed_type = "goldapple" + seed_type = PLANT_GOLDAPPLE /obj/item/seeds/ambrosiavulgarisseed - seed_type = "ambrosia" + seed_type = PLANT_AMBROSIA /obj/item/seeds/ambrosiadeusseed - seed_type = "ambrosiadeus" + seed_type = PLANT_AMBROSIADEUS /obj/item/seeds/ambrosiagaiaseed - seed_type = "ambrosiagaia" + seed_type = PLANT_AMBROSIAGAIA /obj/item/seeds/ambrosiainfernusseed - seed_type = "ambrosiainfernus" + seed_type = PLANT_AMBROSIAINFERNUS /obj/item/seeds/whitebeetseed - seed_type = "whitebeet" + seed_type = PLANT_WHITEBEET /obj/item/seeds/sugarcaneseed - seed_type = "sugarcane" + seed_type = PLANT_SUGARCANE /obj/item/seeds/watermelonseed - seed_type = "watermelon" + seed_type = PLANT_WATERMELON /obj/item/seeds/pumpkinseed - seed_type = "pumpkin" + seed_type = PLANT_PUMPKIN /obj/item/seeds/limeseed - seed_type = "lime" + seed_type = PLANT_LIME /obj/item/seeds/lemonseed - seed_type = "lemon" + seed_type = PLANT_LEMON /obj/item/seeds/onionseed - seed_type = "onion" + seed_type = PLANT_ONION /obj/item/seeds/orangeseed - seed_type = "orange" + seed_type = PLANT_ORANGE /obj/item/seeds/poisonberryseed - seed_type = "poisonberries" + seed_type = PLANT_POISONBERRIES /obj/item/seeds/deathberryseed - seed_type = "deathberries" + seed_type = PLANT_DEATHBERRIES /obj/item/seeds/grassseed - seed_type = "grass" + seed_type = PLANT_GRASS /obj/item/seeds/carpetseed - seed_type = "carpet" + seed_type = PLANT_CARPET /obj/item/seeds/cocoapodseed - seed_type = "cocoa" + seed_type = PLANT_COCOA /obj/item/seeds/cherryseed - seed_type = "cherry" + seed_type = PLANT_CHERRY /obj/item/seeds/tobaccoseed - seed_type = "tobacco" + seed_type = PLANT_TOBACCO /obj/item/seeds/kudzuseed - seed_type = "kudzu" + seed_type = PLANT_KUDZU /obj/item/seeds/jurlmah - seed_type = "jurlmah" + seed_type = PLANT_JURLMAH /obj/item/seeds/amauri - seed_type = "amauri" + seed_type = PLANT_AMAURI /obj/item/seeds/gelthi - seed_type = "gelthi" + seed_type = PLANT_GELTHI /obj/item/seeds/vale - seed_type = "vale" + seed_type = PLANT_VALE /obj/item/seeds/surik - seed_type = "surik" + seed_type = PLANT_SURIK /obj/item/seeds/telriis - seed_type = "telriis" + seed_type = PLANT_TELRIIS /obj/item/seeds/thaadra - seed_type = "thaadra" + seed_type = PLANT_THAADRA /obj/item/seeds/celery - seed_type = "celery" + seed_type = PLANT_CELERY /obj/item/seeds/rhubarb - seed_type = "rhubarb" + seed_type = PLANT_ROSE /obj/item/seeds/wabback - seed_type = "whitewabback" + seed_type = PLANT_WHITEWABBACK /obj/item/seeds/blackwabback - seed_type = "blackwabback" + seed_type = PLANT_BLACKWABBACK /obj/item/seeds/wildwabback - seed_type = "wildwabback" + seed_type = PLANT_WILDWABBACK /obj/item/seeds/lettuce - seed_type = "lettuce" + seed_type = PLANT_LETTUCE /obj/item/seeds/siflettuce - seed_type = "siflettuce" + seed_type = PLANT_SIFLETTUCE /obj/item/seeds/eggyplant - seed_type = "egg-plant" + seed_type = PLANT_EGG_PLANT /obj/item/seeds/pineapple - seed_type = "pineapple" + seed_type = PLANT_PINEAPPLE /obj/item/seeds/durian - seed_type = "durian" + seed_type = PLANT_DURIAN /obj/item/seeds/vanilla - seed_type = "vanilla" + seed_type = PLANT_VANILLA /obj/item/seeds/rose - seed_type = "rose" + seed_type = PLANT_ROSE /obj/item/seeds/rose/blood - seed_type = "bloodrose" + seed_type = PLANT_BLOODROSE /obj/item/seeds/gnomes - seed_type = "gnomes" + seed_type = PLANT_GNOMES /obj/item/seeds/sifbulb - seed_type = "sifbulb" + seed_type = PLANT_SIFBULB /obj/item/seeds/wurmwoad - seed_type = "wurmwoad" + seed_type = PLANT_WURMWOAD + +/obj/item/seeds/shrinkshroom + seed_type = PLANT_MICROM + +/obj/item/seeds/megashroom + seed_type = PLANT_MEGAM diff --git a/code/modules/hydroponics/seed_packets_vr.dm b/code/modules/hydroponics/seed_packets_vr.dm deleted file mode 100644 index 82eaaf5d38..0000000000 --- a/code/modules/hydroponics/seed_packets_vr.dm +++ /dev/null @@ -1,5 +0,0 @@ -/obj/item/seeds/shrinkshroom - seed_type = "microm" - -/obj/item/seeds/megashroom - seed_type = "megam" diff --git a/code/modules/hydroponics/seedtypes/amauri.dm b/code/modules/hydroponics/seedtypes/amauri.dm index 0ad44e7862..c6cb81c3bc 100644 --- a/code/modules/hydroponics/seedtypes/amauri.dm +++ b/code/modules/hydroponics/seedtypes/amauri.dm @@ -1,9 +1,9 @@ /datum/seed/amauri - name = "amauri" - seed_name = "amauri" + name = PLANT_AMAURI + seed_name = PLANT_AMAURI display_name = "amauri plant" - kitchen_tag = "amauri" - chems = list("zombiepowder" = list(1,10),"condensedcapsaicin" = list(1,5),"nutriment" = list(1,5)) + kitchen_tag = PLANT_AMAURI + chems = list(REAGENT_ID_ZOMBIEPOWDER = list(1,10),REAGENT_ID_CONDENSEDCAPSAICIN = list(1,5),REAGENT_ID_NUTRIMENT = list(1,5)) /datum/seed/amauri/New() ..() @@ -12,4 +12,4 @@ set_trait(TRAIT_MATURATION,8) set_trait(TRAIT_PRODUCTION,9) set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) \ No newline at end of file + set_trait(TRAIT_POTENCY,10) diff --git a/code/modules/hydroponics/seedtypes/ambrosia.dm b/code/modules/hydroponics/seedtypes/ambrosia.dm index 289b182d9a..c548bd442c 100644 --- a/code/modules/hydroponics/seedtypes/ambrosia.dm +++ b/code/modules/hydroponics/seedtypes/ambrosia.dm @@ -1,11 +1,11 @@ //Ambrosia/varieties. /datum/seed/ambrosia - name = "ambrosia" + name = PLANT_AMBROSIA seed_name = "ambrosia vulgaris" display_name = "ambrosia vulgaris" - kitchen_tag = "ambrosia" - mutants = list("ambrosiadeus") - chems = list("nutriment" = list(1), "ambrosia_extract" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1)) + kitchen_tag = PLANT_AMBROSIA + mutants = list(PLANT_AMBROSIADEUS) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_AMBROSIAEXTRACT = list(1,8), REAGENT_ID_KELOTANE = list(1,8,1), REAGENT_ID_BICARIDINE = list(1,10,1)) /datum/seed/ambrosia/New() ..() @@ -20,12 +20,12 @@ set_trait(TRAIT_IDEAL_LIGHT, 6) /datum/seed/ambrosia/deus - name = "ambrosiadeus" + name = PLANT_AMBROSIADEUS seed_name = "ambrosia deus" display_name = "ambrosia deus" - kitchen_tag = "ambrosiadeus" - mutants = list("ambrosiainfernus", "ambrosiagaia") - chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "ambrosia_extract" = list(1,10)) + kitchen_tag = PLANT_AMBROSIADEUS + mutants = list(PLANT_AMBROSIAINFERNUS, PLANT_AMBROSIAGAIA) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_BICARIDINE = list(1,8), REAGENT_ID_SYNAPTIZINE = list(1,8,1), REAGENT_ID_HYPERZINE = list(1,10,1), REAGENT_ID_AMBROSIAEXTRACT = list(1,10)) /datum/seed/ambrosia/deus/New() ..() @@ -33,12 +33,12 @@ set_trait(TRAIT_PLANT_COLOUR,"#2A9C61") /datum/seed/ambrosia/infernus - name = "ambrosiainfernus" + name = PLANT_AMBROSIAINFERNUS seed_name = "ambrosia infernus" display_name = "ambrosia infernus" - kitchen_tag = "ambrosiainfernus" + kitchen_tag = PLANT_AMBROSIAINFERNUS mutants = null - chems = list("nutriment" = list(1,3), "oxycodone" = list(1,8), "impedrezene" = list(1,10), "mindbreaker" = list(1,10), "ambrosia_extract" = list(1,10)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,3), REAGENT_ID_OXYCODONE = list(1,8), REAGENT_ID_IMPEDREZENE = list(1,10), REAGENT_ID_MINDBREAKER = list(1,10), REAGENT_ID_AMBROSIAEXTRACT = list(1,10)) /datum/seed/ambrosia/infernus/New() ..() @@ -46,12 +46,12 @@ set_trait(TRAIT_PLANT_COLOUR,"#b22222") /datum/seed/ambrosia/gaia - name = "ambrosiagaia" + name = PLANT_AMBROSIAGAIA seed_name = "ambrosia gaia" display_name = "ambrosia gaia" - kitchen_tag = "ambrosiagaia" + kitchen_tag = PLANT_AMBROSIAGAIA mutants = null - chems = list ("earthsblood" = list(3,5), "nutriment" = list(1,3)) + chems = list (REAGENT_ID_EARTHSBLOOD = list(3,5), REAGENT_ID_NUTRIMENT = list(1,3)) /datum/seed/ambrosia/gaia/New() ..() @@ -65,4 +65,4 @@ set_trait(TRAIT_BIOLUM,1) set_trait(TRAIT_BIOLUM_COLOUR,"#ffb500") set_trait(TRAIT_PRODUCT_COLOUR, "#ffee00") - set_trait(TRAIT_PLANT_COLOUR,"#f3ba2b") \ No newline at end of file + set_trait(TRAIT_PLANT_COLOUR,"#f3ba2b") diff --git a/code/modules/hydroponics/seedtypes/apples.dm b/code/modules/hydroponics/seedtypes/apples.dm index 4bd8a0bade..25a4af5c00 100644 --- a/code/modules/hydroponics/seedtypes/apples.dm +++ b/code/modules/hydroponics/seedtypes/apples.dm @@ -1,11 +1,11 @@ //Apples/varieties. /datum/seed/apple - name = "apple" - seed_name = "apple" + name = PLANT_APPLE + seed_name = PLANT_APPLE display_name = "apple tree" - kitchen_tag = "apple" - mutants = list("poisonapple","goldapple") - chems = list("nutriment" = list(1,10),"applejuice" = list(10,20)) + kitchen_tag = PLANT_APPLE + mutants = list(PLANT_POISONAPPLE,PLANT_GOLDAPPLE) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10),REAGENT_ID_APPLEJUICE = list(10,20)) /datum/seed/apple/New() ..() @@ -21,17 +21,17 @@ set_trait(TRAIT_IDEAL_LIGHT, 4) /datum/seed/apple/poison - name = "poisonapple" + name = PLANT_POISONAPPLE mutants = null - chems = list("cyanide" = list(1,5)) + chems = list(REAGENT_ID_CYANIDE = list(1,5)) /datum/seed/apple/gold - name = "goldapple" + name = PLANT_GOLDAPPLE seed_name = "golden apple" display_name = "gold apple tree" - kitchen_tag = "goldapple" + kitchen_tag = PLANT_GOLDAPPLE mutants = null - chems = list("nutriment" = list(1,10), "gold" = list(1,5)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_GOLD = list(1,5)) /datum/seed/apple/gold/New() ..() @@ -42,11 +42,11 @@ set_trait(TRAIT_PLANT_COLOUR,"#D6B44D") /datum/seed/apple/sif - name = "sifbulb" + name = PLANT_SIFBULB seed_name = "sivian pod" display_name = "sivian pod" - kitchen_tag = "apple" - chems = list("nutriment" = list(1,5),"sifsap" = list(10,20)) + kitchen_tag = PLANT_APPLE + chems = list(REAGENT_ID_NUTRIMENT = list(1,5),REAGENT_ID_SIFSAP = list(10,20)) /datum/seed/apple/sif/New() ..() @@ -59,4 +59,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#0720c3") set_trait(TRAIT_PLANT_ICON,"tree5") set_trait(TRAIT_FLESH_COLOUR,"#05157d") - set_trait(TRAIT_IDEAL_LIGHT, 1) \ No newline at end of file + set_trait(TRAIT_IDEAL_LIGHT, 1) diff --git a/code/modules/hydroponics/seedtypes/banana.dm b/code/modules/hydroponics/seedtypes/banana.dm index c5cc980698..47dcc1486c 100644 --- a/code/modules/hydroponics/seedtypes/banana.dm +++ b/code/modules/hydroponics/seedtypes/banana.dm @@ -1,9 +1,9 @@ /datum/seed/banana - name = "banana" - seed_name = "banana" + name = PLANT_BANANA + seed_name = PLANT_BANANA display_name = "banana tree" - kitchen_tag = "banana" - chems = list("banana" = list(10,10)) + kitchen_tag = PLANT_BANANA + chems = list(REAGENT_ID_BANANA = list(10,10)) trash_type = /obj/item/bananapeel /datum/seed/banana/New() @@ -18,4 +18,4 @@ set_trait(TRAIT_PLANT_ICON,"tree4") set_trait(TRAIT_IDEAL_HEAT, 298) set_trait(TRAIT_IDEAL_LIGHT, 7) - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/berries.dm b/code/modules/hydroponics/seedtypes/berries.dm index 3654a62cb3..d4263e2a6f 100644 --- a/code/modules/hydroponics/seedtypes/berries.dm +++ b/code/modules/hydroponics/seedtypes/berries.dm @@ -1,11 +1,11 @@ // Berry plants/variants. /datum/seed/berry - name = "berries" + name = PLANT_BERRIES seed_name = "berry" display_name = "berry bush" - kitchen_tag = "berries" - mutants = list("glowberries","poisonberries") - chems = list("nutriment" = list(1,10), "berryjuice" = list(10,10)) + kitchen_tag = PLANT_BERRIES + mutants = list(PLANT_GLOWBERRIES,PLANT_POISONBERRIES) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_BERRYJUICE = list(10,10)) /datum/seed/berry/New() ..() @@ -22,11 +22,11 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/berry/glow - name = "glowberries" + name = PLANT_GLOWBERRIES seed_name = "glowberry" display_name = "glowberry bush" mutants = null - chems = list("nutriment" = list(1,10), "uranium" = list(3,5)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_URANIUM = list(3,5)) /datum/seed/berry/glow/New() ..() @@ -42,12 +42,12 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) /datum/seed/berry/poison - name = "poisonberries" + name = PLANT_POISONBERRIES seed_name = "poison berry" - kitchen_tag = "poisonberries" + kitchen_tag = PLANT_POISONBERRIES display_name = "poison berry bush" - mutants = list("deathberries") - chems = list("nutriment" = list(1), "toxin" = list(3,5), "poisonberryjuice" = list(10,5)) + mutants = list(PLANT_DEATHBERRIES) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_TOXIN = list(3,5), REAGENT_ID_POISONBERRYJUICE = list(10,5)) /datum/seed/berry/poison/New() ..() @@ -56,11 +56,11 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) /datum/seed/berry/poison/death - name = "deathberries" + name = PLANT_DEATHBERRIES seed_name = "death berry" display_name = "death berry bush" mutants = null - chems = list("nutriment" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5)) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_TOXIN = list(3,3), REAGENT_ID_LEXORIN = list(1,5)) /datum/seed/berry/poison/death/New() ..() @@ -70,13 +70,13 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.35) /datum/seed/berry/peppercorn - name = "peppercorns" + name = PLANT_PEPPERCORNS seed_name = "peppercorn berry" - kitchen_tag = "peppercorns" + kitchen_tag = PLANT_PEPPERCORNS display_name = "peppercorn bush" - chems = list("blackpepper" = list(5,10)) + chems = list(REAGENT_ID_BLACKPEPPER = list(5,10)) /datum/seed/berry/peppercorn/New() ..() set_trait(TRAIT_PRODUCT_COLOUR,"#303030") - set_trait(TRAIT_WATER_CONSUMPTION, 2) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 2) diff --git a/code/modules/hydroponics/seedtypes/cabbage.dm b/code/modules/hydroponics/seedtypes/cabbage.dm index 0ee7fb2693..f116f7b42c 100644 --- a/code/modules/hydroponics/seedtypes/cabbage.dm +++ b/code/modules/hydroponics/seedtypes/cabbage.dm @@ -1,9 +1,9 @@ /datum/seed/cabbage - name = "cabbage" - seed_name = "cabbage" + name = PLANT_CABBAGE + seed_name = PLANT_CABBAGE display_name = "cabbages" - kitchen_tag = "cabbage" - chems = list("nutriment" = list(1,10)) + kitchen_tag = PLANT_CABBAGE + chems = list(REAGENT_ID_NUTRIMENT = list(1,10)) /datum/seed/cabbage/New() ..() @@ -18,4 +18,4 @@ set_trait(TRAIT_PLANT_ICON,"vine2") set_trait(TRAIT_IDEAL_LIGHT, 6) set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) \ No newline at end of file + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seedtypes/carrots.dm b/code/modules/hydroponics/seedtypes/carrots.dm index 2b8ef7577b..25b49ee3a2 100644 --- a/code/modules/hydroponics/seedtypes/carrots.dm +++ b/code/modules/hydroponics/seedtypes/carrots.dm @@ -1,9 +1,9 @@ /datum/seed/carrots - name = "carrot" - seed_name = "carrot" + name = PLANT_CARROT + seed_name = PLANT_CARROT display_name = "carrots" - kitchen_tag = "carrot" - chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5), "carrotjuice" = list(10,20)) + kitchen_tag = PLANT_CARROT + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_IMIDAZOLINE = list(3,5), REAGENT_ID_CARROTJUICE = list(10,20)) /datum/seed/carrots/New() ..() @@ -14,4 +14,4 @@ set_trait(TRAIT_PRODUCT_ICON,"carrot") set_trait(TRAIT_PRODUCT_COLOUR,"#FFDB4A") set_trait(TRAIT_PLANT_ICON,"carrot") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/celery.dm b/code/modules/hydroponics/seedtypes/celery.dm index c404ed670f..a0d783cba6 100644 --- a/code/modules/hydroponics/seedtypes/celery.dm +++ b/code/modules/hydroponics/seedtypes/celery.dm @@ -1,9 +1,9 @@ /datum/seed/celery - name = "celery" - seed_name = "celery" - display_name = "celery" - kitchen_tag = "celery" - chems = list("nutriment" = list(5,20)) + name = PLANT_CELERY + seed_name = PLANT_CELERY + display_name = PLANT_CELERY + kitchen_tag = PLANT_CELERY + chems = list(REAGENT_ID_NUTRIMENT = list(5,20)) /datum/seed/celery/New() ..() @@ -14,4 +14,4 @@ set_trait(TRAIT_POTENCY,8) set_trait(TRAIT_PRODUCT_ICON,"stalk") set_trait(TRAIT_PRODUCT_COLOUR,"#56FD56") - set_trait(TRAIT_PLANT_ICON,"stalk3") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"stalk3") diff --git a/code/modules/hydroponics/seedtypes/cherries.dm b/code/modules/hydroponics/seedtypes/cherries.dm index ece8d793e7..41ea7b9026 100644 --- a/code/modules/hydroponics/seedtypes/cherries.dm +++ b/code/modules/hydroponics/seedtypes/cherries.dm @@ -1,10 +1,10 @@ /datum/seed/cherries - name = "cherry" - seed_name = "cherry" + name = PLANT_CHERRY + seed_name = PLANT_CHERRY seed_noun = "pits" display_name = "cherry tree" - kitchen_tag = "cherries" - chems = list("nutriment" = list(1,15), "sugar" = list(1,15), "cherryjelly" = list(10,15)) + kitchen_tag = PLANT_CHERRY + chems = list(REAGENT_ID_NUTRIMENT = list(1,15), REAGENT_ID_SUGAR = list(1,15), REAGENT_ID_CHERRYJELLY = list(10,15)) /datum/seed/cherries/New() ..() @@ -17,4 +17,4 @@ set_trait(TRAIT_PRODUCT_ICON,"cherry") set_trait(TRAIT_PRODUCT_COLOUR,"#A80000") set_trait(TRAIT_PLANT_ICON,"tree2") - set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D") \ No newline at end of file + set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D") diff --git a/code/modules/hydroponics/seedtypes/chili.dm b/code/modules/hydroponics/seedtypes/chili.dm index 8a93d5b786..b7fcc13298 100644 --- a/code/modules/hydroponics/seedtypes/chili.dm +++ b/code/modules/hydroponics/seedtypes/chili.dm @@ -1,11 +1,11 @@ // Chili plants/variants. /datum/seed/chili - name = "chili" - seed_name = "chili" + name = PLANT_CHILI + seed_name = PLANT_CHILI display_name = "chili plants" - kitchen_tag = "chili" - chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25)) - mutants = list("icechili", "ghostchili") + kitchen_tag = PLANT_CHILI + chems = list(REAGENT_ID_CAPSAICIN = list(3,5), REAGENT_ID_NUTRIMENT = list(1,25)) + mutants = list(PLANT_ICECHILI, PLANT_GHOSTCHILI) /datum/seed/chili/New() ..() @@ -21,12 +21,12 @@ set_trait(TRAIT_IDEAL_LIGHT, 7) /datum/seed/chili/ice - name = "icechili" + name = PLANT_ICECHILI seed_name = "ice pepper" display_name = "ice-pepper plants" - kitchen_tag = "icechili" + kitchen_tag = PLANT_ICECHILI mutants = null - chems = list("frostoil" = list(3,5), "nutriment" = list(1,50)) + chems = list(REAGENT_ID_FROSTOIL = list(3,5), REAGENT_ID_NUTRIMENT = list(1,50)) /datum/seed/chili/ice/New() ..() @@ -35,15 +35,15 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") /datum/seed/chili/ghost - name = "ghostchili" + name = PLANT_GHOSTCHILI seed_name = "ghost chili" display_name = "ghost chili plants" - kitchen_tag = "ghostchili" + kitchen_tag = PLANT_GHOSTCHILI mutants = null - chems = list("condensedcapsaicin" = list (3,10), "nutriment" = list (1,25)) - + chems = list(REAGENT_ID_CONDENSEDCAPSAICIN = list (3,10), REAGENT_ID_NUTRIMENT = list (1,25)) + /datum/seed/chili/ghost/New() ..() set_trait(TRAIT_MATURATION,6) set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_PRODUCT_COLOUR,"#eaecec") \ No newline at end of file + set_trait(TRAIT_PRODUCT_COLOUR,"#eaecec") diff --git a/code/modules/hydroponics/seedtypes/citrus.dm b/code/modules/hydroponics/seedtypes/citrus.dm index ebc154aa40..190cce1af0 100644 --- a/code/modules/hydroponics/seedtypes/citrus.dm +++ b/code/modules/hydroponics/seedtypes/citrus.dm @@ -1,9 +1,9 @@ /datum/seed/citrus - name = "lime" - seed_name = "lime" + name = PLANT_LIME + seed_name = PLANT_LIME display_name = "lime trees" - kitchen_tag = "lime" - chems = list("nutriment" = list(1,20), "limejuice" = list(10,20)) + kitchen_tag = PLANT_LIME + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_LIMEJUICE = list(10,20)) /datum/seed/citrus/New() ..() @@ -19,11 +19,11 @@ set_trait(TRAIT_FLESH_COLOUR,"#3AF026") /datum/seed/citrus/lemon - name = "lemon" - seed_name = "lemon" + name = PLANT_LEMON + seed_name = PLANT_LEMON display_name = "lemon trees" - kitchen_tag = "lemon" - chems = list("nutriment" = list(1,20), "lemonjuice" = list(10,20)) + kitchen_tag = PLANT_LEMON + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_LEMONJUICE = list(10,20)) /datum/seed/citrus/lemon/New() ..() @@ -34,13 +34,13 @@ set_trait(TRAIT_IDEAL_LIGHT, 6) /datum/seed/citrus/orange - name = "orange" - seed_name = "orange" + name = PLANT_ORANGE + seed_name = PLANT_ORANGE display_name = "orange trees" - kitchen_tag = "orange" - chems = list("nutriment" = list(1,20), "orangejuice" = list(10,20)) + kitchen_tag = PLANT_ORANGE + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_ORANGEJUICE = list(10,20)) /datum/seed/citrus/orange/New() ..() set_trait(TRAIT_PRODUCT_COLOUR,"#FFC20A") - set_trait(TRAIT_FLESH_COLOUR,"#FFC20A") \ No newline at end of file + set_trait(TRAIT_FLESH_COLOUR,"#FFC20A") diff --git a/code/modules/hydroponics/seedtypes/cocoa.dm b/code/modules/hydroponics/seedtypes/cocoa.dm index 7f7aa31b39..a3e55af687 100644 --- a/code/modules/hydroponics/seedtypes/cocoa.dm +++ b/code/modules/hydroponics/seedtypes/cocoa.dm @@ -1,9 +1,9 @@ /datum/seed/cocoa - name = "cocoa" + name = PLANT_COCOA seed_name = "cacao" display_name = "cacao tree" - kitchen_tag = "cocoa" - chems = list("nutriment" = list(1,10), "coco" = list(4,5)) + kitchen_tag = PLANT_COCOA + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_COCO = list(4,5)) /datum/seed/cocoa/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#CCA935") set_trait(TRAIT_PLANT_ICON,"tree2") set_trait(TRAIT_IDEAL_HEAT, 298) - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/corn.dm b/code/modules/hydroponics/seedtypes/corn.dm index 40071604fb..11d64a8e16 100644 --- a/code/modules/hydroponics/seedtypes/corn.dm +++ b/code/modules/hydroponics/seedtypes/corn.dm @@ -1,9 +1,9 @@ /datum/seed/corn - name = "corn" - seed_name = "corn" + name = PLANT_CORN + seed_name = PLANT_CORN display_name = "ears of corn" - kitchen_tag = "corn" - chems = list("nutriment" = list(1,10), "cornoil" = list(3,15)) + kitchen_tag = PLANT_CORN + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_CORNOIL = list(3,15)) trash_type = /obj/item/corncob /datum/seed/corn/New() @@ -18,4 +18,4 @@ set_trait(TRAIT_PLANT_ICON,"corn") set_trait(TRAIT_IDEAL_HEAT, 298) set_trait(TRAIT_IDEAL_LIGHT, 6) - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/diona.dm b/code/modules/hydroponics/seedtypes/diona.dm index be3b80b6bf..f1d56c0f24 100644 --- a/code/modules/hydroponics/seedtypes/diona.dm +++ b/code/modules/hydroponics/seedtypes/diona.dm @@ -1,6 +1,6 @@ /datum/seed/diona - name = "diona" - seed_name = "diona" + name = PLANT_DIONA + seed_name = PLANT_DIONA seed_noun = "nodes" display_name = "replicant pods" can_self_harvest = 1 @@ -18,4 +18,4 @@ set_trait(TRAIT_PRODUCT_ICON,"diona") set_trait(TRAIT_PRODUCT_COLOUR,"#799957") set_trait(TRAIT_PLANT_COLOUR,"#66804B") - set_trait(TRAIT_PLANT_ICON,"alien4") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"alien4") diff --git a/code/modules/hydroponics/seedtypes/durian.dm b/code/modules/hydroponics/seedtypes/durian.dm index 8963f4c9ec..b11b24f2b6 100644 --- a/code/modules/hydroponics/seedtypes/durian.dm +++ b/code/modules/hydroponics/seedtypes/durian.dm @@ -1,10 +1,10 @@ /datum/seed/durian - name = "durian" - seed_name = "durian" + name = PLANT_DURIAN + seed_name = PLANT_DURIAN seed_noun = "pits" - display_name = "durian" - kitchen_tag = "durian" - chems = list("nutriment" = list(1,5), "durianpaste" = list(1, 20)) + display_name = PLANT_DURIAN + kitchen_tag = PLANT_DURIAN + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_DURIANPASTE = list(1, 20)) /datum/seed/durian/New() ..() @@ -18,4 +18,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#87C969") set_trait(TRAIT_PLANT_ICON,"tree") set_trait(TRAIT_IDEAL_LIGHT, 8) - set_trait(TRAIT_WATER_CONSUMPTION, 8) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 8) diff --git a/code/modules/hydroponics/seedtypes/eggplant.dm b/code/modules/hydroponics/seedtypes/eggplant.dm index 587146d9d0..fc1e2c8838 100644 --- a/code/modules/hydroponics/seedtypes/eggplant.dm +++ b/code/modules/hydroponics/seedtypes/eggplant.dm @@ -1,11 +1,11 @@ //Eggplants/varieties. /datum/seed/eggplant - name = "eggplant" - seed_name = "eggplant" + name = PLANT_EGGPLANT + seed_name = PLANT_EGGPLANT display_name = "eggplants" - kitchen_tag = "eggplant" - mutants = list("egg-plant") - chems = list("nutriment" = list(1,10)) + kitchen_tag = PLANT_EGGPLANT + mutants = list(PLANT_EGGPLANT) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10)) /datum/seed/eggplant/New() ..() @@ -22,10 +22,10 @@ // Return of Eggy. Just makes purple eggs. If the reagents are separated from the egg production by xenobotany or RNG, it's still an Egg plant. /datum/seed/eggplant/egg - name = "egg-plant" - seed_name = "egg-plant" + name = PLANT_EGG_PLANT + seed_name = PLANT_EGG_PLANT display_name = "egg-plants" - kitchen_tag = "egg-plant" + kitchen_tag = PLANT_EGG_PLANT mutants = null - chems = list("nutriment" = list(1,5), "egg" = list(3,12)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_EGG = list(3,12)) has_item_product = /obj/item/reagent_containers/food/snacks/egg/purple diff --git a/code/modules/hydroponics/seedtypes/flowers.dm b/code/modules/hydroponics/seedtypes/flowers.dm index e6c2e86f59..e12503fb58 100644 --- a/code/modules/hydroponics/seedtypes/flowers.dm +++ b/code/modules/hydroponics/seedtypes/flowers.dm @@ -1,10 +1,10 @@ //Flowers/varieties /datum/seed/flower - name = "harebells" - seed_name = "harebell" - display_name = "harebells" - kitchen_tag = "harebell" - chems = list("nutriment" = list(1,20)) + name = PLANT_HAREBELLS + seed_name = PLANT_HAREBELLS + display_name = PLANT_HAREBELLS + kitchen_tag = PLANT_HAREBELLS + chems = list(REAGENT_ID_NUTRIMENT = list(1,20)) /datum/seed/flower/New() ..() @@ -18,11 +18,11 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/flower/poppy - name = "poppies" - seed_name = "poppy" - display_name = "poppies" - kitchen_tag = "poppy" - chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10)) + name = PLANT_POPPIES + seed_name = PLANT_POPPIES + display_name = PLANT_POPPIES + kitchen_tag = PLANT_POPPIES + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_BICARIDINE = list(1,10)) /datum/seed/flower/poppy/New() ..() @@ -38,10 +38,10 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/flower/sunflower - name = "sunflowers" - seed_name = "sunflower" - display_name = "sunflowers" - kitchen_tag = "sunflower" + name = PLANT_SUNFLOWERS + seed_name = PLANT_SUNFLOWERS + display_name = PLANT_SUNFLOWERS + kitchen_tag = PLANT_SUNFLOWERS /datum/seed/flower/sunflower/New() ..() @@ -54,11 +54,11 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/flower/lavender - name = "lavender" - seed_name = "lavender" - display_name = "lavender" - kitchen_tag = "lavender" - chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10)) + name = PLANT_LAVENDER + seed_name = PLANT_LAVENDER + display_name = PLANT_LAVENDER + kitchen_tag = PLANT_LAVENDER + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_BICARIDINE = list(1,10)) /datum/seed/flower/lavender/New() ..() @@ -74,12 +74,12 @@ set_trait(TRAIT_WATER_CONSUMPTION, 0.5) /datum/seed/flower/rose - name = "rose" - seed_name = "rose" - display_name = "rose" - kitchen_tag = "rose" - mutants = list("bloodrose") - chems = list("nutriment" = list(1,5), "stoxin" = list(0,2)) + name = PLANT_ROSE + seed_name = PLANT_ROSE + display_name = PLANT_ROSE + kitchen_tag = PLANT_ROSE + mutants = list(PLANT_BLOODROSE) + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_STOXIN = list(0,2)) /datum/seed/flower/rose/New() ..() @@ -96,10 +96,10 @@ set_trait(TRAIT_STINGS,1) /datum/seed/flower/rose/blood - name = "bloodrose" + name = PLANT_BLOODROSE display_name = "bleeding rose" mutants = null - chems = list("nutriment" = list(1,5), "stoxin" = list(1,5), "blood" = list(0,2)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_STOXIN = list(1,5), REAGENT_ID_BLOOD = list(0,2)) /datum/seed/flower/rose/blood/New() ..() diff --git a/code/modules/hydroponics/seedtypes/gelthi.dm b/code/modules/hydroponics/seedtypes/gelthi.dm index 1fa365c875..b81e993d44 100644 --- a/code/modules/hydroponics/seedtypes/gelthi.dm +++ b/code/modules/hydroponics/seedtypes/gelthi.dm @@ -1,9 +1,9 @@ /datum/seed/gelthi - name = "gelthi" - seed_name = "gelthi" + name = PLANT_GELTHI + seed_name = PLANT_GELTHI display_name = "gelthi plant" - kitchen_tag = "gelthi" - chems = list("stoxin" = list(1,5),"capsaicin" = list(1,5),"nutriment" = list(1,5)) + kitchen_tag = PLANT_GELTHI + chems = list(REAGENT_ID_STOXIN = list(1,5),REAGENT_ID_CAPSAICIN = list(1,5),REAGENT_ID_NUTRIMENT = list(1,5)) /datum/seed/gelthi/New() ..() @@ -12,4 +12,4 @@ set_trait(TRAIT_MATURATION,6) set_trait(TRAIT_PRODUCTION,6) set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,1) \ No newline at end of file + set_trait(TRAIT_POTENCY,1) diff --git a/code/modules/hydroponics/seedtypes/gnomes.dm b/code/modules/hydroponics/seedtypes/gnomes.dm index 2ee0901926..0b9efd92cc 100644 --- a/code/modules/hydroponics/seedtypes/gnomes.dm +++ b/code/modules/hydroponics/seedtypes/gnomes.dm @@ -1,10 +1,10 @@ // Gnomes /datum/seed/gnomes - name = "gnomes" - seed_name = "gnomes" - display_name = "gnomes" + name = PLANT_GNOMES + seed_name = PLANT_GNOMES + display_name = PLANT_GNOMES force_layer = 3 - chems = list("magicdust" = list(5,20)) + chems = list(REAGENT_ID_MAGICDUST = list(5,20)) /datum/seed/gnomes/New() ..() diff --git a/code/modules/hydroponics/seedtypes/grapes.dm b/code/modules/hydroponics/seedtypes/grapes.dm index e61978e5f0..4e968fc811 100644 --- a/code/modules/hydroponics/seedtypes/grapes.dm +++ b/code/modules/hydroponics/seedtypes/grapes.dm @@ -1,11 +1,11 @@ //Grapes/varieties /datum/seed/grapes - name = "grapes" + name = PLANT_GRAPES seed_name = "grape" display_name = "grapevines" - kitchen_tag = "grapes" - mutants = list("greengrapes") - chems = list("nutriment" = list(1,10), "sugar" = list(1,5), "grapejuice" = list(10,10)) + kitchen_tag = PLANT_GRAPES + mutants = list(PLANT_GREENGRAPES) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_SUGAR = list(1,5), REAGENT_ID_GRAPEJUICE = list(10,10)) /datum/seed/grapes/New() ..() @@ -22,12 +22,12 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/grapes/green - name = "greengrapes" + name = PLANT_GREENGRAPES seed_name = "green grape" display_name = "green grapevines" mutants = null - chems = list("nutriment" = list(1,10), "kelotane" = list(3,5), "grapejuice" = list(10,10)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_KELOTANE = list(3,5), REAGENT_ID_GRAPEJUICE = list(10,10)) /datum/seed/grapes/green/New() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"42ed2f") \ No newline at end of file + set_trait(TRAIT_PRODUCT_COLOUR,"42ed2f") diff --git a/code/modules/hydroponics/seedtypes/grass.dm b/code/modules/hydroponics/seedtypes/grass.dm index 25231b84a8..9f0c29ad3a 100644 --- a/code/modules/hydroponics/seedtypes/grass.dm +++ b/code/modules/hydroponics/seedtypes/grass.dm @@ -1,10 +1,10 @@ /datum/seed/grass - name = "grass" - seed_name = "grass" - display_name = "grass" - kitchen_tag = "grass" - mutants = list("carpet") - chems = list("nutriment" = list(1,20)) + name = PLANT_GRASS + seed_name = PLANT_GRASS + display_name = PLANT_GRASS + kitchen_tag = PLANT_GRASS + mutants = list(PLANT_CARPET) + chems = list(REAGENT_ID_NUTRIMENT = list(1,20)) /datum/seed/grass/New() ..() @@ -20,12 +20,12 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/grass/carpet - name = "carpet" - seed_name = "carpet" - display_name = "carpet" - kitchen_tag = "carpet" + name = PLANT_CARPET + seed_name = PLANT_CARPET + display_name = PLANT_CARPET + kitchen_tag = PLANT_CARPET mutants = null - chems = list("liquidcarpet" = list(5,10)) + chems = list(REAGENT_ID_LIQUIDCARPET = list(5,10)) /datum/seed/grass/carpet/New() ..() @@ -33,4 +33,4 @@ set_trait(TRAIT_PRODUCT_ICON,"grass") set_trait(TRAIT_PRODUCT_COLOUR,"#9e2500") set_trait(TRAIT_PLANT_COLOUR,"#ee4401") - set_trait(TRAIT_PLANT_ICON,"grass") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"grass") diff --git a/code/modules/hydroponics/seedtypes/jurlmah.dm b/code/modules/hydroponics/seedtypes/jurlmah.dm index 61e810b9da..3945259cc5 100644 --- a/code/modules/hydroponics/seedtypes/jurlmah.dm +++ b/code/modules/hydroponics/seedtypes/jurlmah.dm @@ -1,9 +1,9 @@ /datum/seed/jurlmah - name = "jurlmah" + name = PLANT_JURLMAH seed_name = "jurl'mah" display_name = "jurl'mah reeds" - kitchen_tag = "jurlmah" - chems = list("serotrotium" = list(1,5),"nutriment" = list(1,5)) + kitchen_tag = PLANT_JURLMAH + chems = list(REAGENT_ID_SEROTROTIUM = list(1,5),REAGENT_ID_NUTRIMENT = list(1,5)) /datum/seed/jurlmah/New() ..() @@ -12,4 +12,4 @@ set_trait(TRAIT_MATURATION,8) set_trait(TRAIT_PRODUCTION,9) set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,10) \ No newline at end of file + set_trait(TRAIT_POTENCY,10) diff --git a/code/modules/hydroponics/seedtypes/kudzu.dm b/code/modules/hydroponics/seedtypes/kudzu.dm index 336c205b25..2c003a6d3b 100644 --- a/code/modules/hydroponics/seedtypes/kudzu.dm +++ b/code/modules/hydroponics/seedtypes/kudzu.dm @@ -1,9 +1,9 @@ /datum/seed/kudzu - name = "kudzu" - seed_name = "kudzu" + name = PLANT_KUDZU + seed_name = PLANT_KUDZU display_name = "kudzu vines" - kitchen_tag = "kudzu" - chems = list("nutriment" = list(1,50), "anti_toxin" = list(1,25)) + kitchen_tag = PLANT_KUDZU + chems = list(REAGENT_ID_NUTRIMENT = list(1,50), REAGENT_ID_ANTITOXIN = list(1,25)) /datum/seed/kudzu/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#96D278") set_trait(TRAIT_PLANT_COLOUR,"#6F7A63") set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_WATER_CONSUMPTION, 0.5) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 0.5) diff --git a/code/modules/hydroponics/seedtypes/lettuce.dm b/code/modules/hydroponics/seedtypes/lettuce.dm index b9293fbed7..94a8aaeab0 100644 --- a/code/modules/hydroponics/seedtypes/lettuce.dm +++ b/code/modules/hydroponics/seedtypes/lettuce.dm @@ -1,10 +1,10 @@ // Lettuce/varieties. /datum/seed/lettuce - name = "lettuce" - seed_name = "lettuce" - display_name = "lettuce" - kitchen_tag = "lettuce" - chems = list("nutriment" = list(1,15)) + name = PLANT_LETTUCE + seed_name = PLANT_LETTUCE + display_name = PLANT_LETTUCE + kitchen_tag = PLANT_LETTUCE + chems = list(REAGENT_ID_NUTRIMENT = list(1,15)) /datum/seed/lettuce/New() ..() @@ -22,13 +22,13 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.13) /datum/seed/lettuce/ice - name = "siflettuce" + name = PLANT_SIFLETTUCE seed_name = "glacial lettuce" display_name = "glacial lettuce" kitchen_tag = "icelettuce" - chems = list("nutriment" = list(1,5), "paracetamol" = list(0,2)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_PARACETAMOL = list(0,2)) /datum/seed/lettuce/ice/New() ..() set_trait(TRAIT_ALTER_TEMP, -5) - set_trait(TRAIT_PRODUCT_COLOUR,"#9ABCC9") \ No newline at end of file + set_trait(TRAIT_PRODUCT_COLOUR,"#9ABCC9") diff --git a/code/modules/hydroponics/seedtypes/malanitear.dm b/code/modules/hydroponics/seedtypes/malanitear.dm index 15b62d23d4..2a765a4766 100644 --- a/code/modules/hydroponics/seedtypes/malanitear.dm +++ b/code/modules/hydroponics/seedtypes/malanitear.dm @@ -1,9 +1,9 @@ /datum/seed/mtear - name = "mtear" + name = PLANT_MTEAR seed_name = "Malani's tear" display_name = "Malani's tear leaves" - kitchen_tag = "mtear" - chems = list("honey" = list(1,10), "kelotane" = list(3,5)) + kitchen_tag = PLANT_MTEAR + chems = list(REAGENT_ID_HONEY = list(1,10), REAGENT_ID_KELOTANE = list(3,5)) /datum/seed/mtear/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#4CC789") set_trait(TRAIT_PLANT_ICON,"bush7") set_trait(TRAIT_IDEAL_HEAT, 283) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) \ No newline at end of file + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seedtypes/mushrooms.dm b/code/modules/hydroponics/seedtypes/mushrooms.dm index 4be5e0fb31..19d738c3c0 100644 --- a/code/modules/hydroponics/seedtypes/mushrooms.dm +++ b/code/modules/hydroponics/seedtypes/mushrooms.dm @@ -1,13 +1,13 @@ //Mushrooms/varieties. /datum/seed/mushroom - name = "mushrooms" + name = PLANT_MUSHROOMS seed_name = "chanterelle" seed_noun = "spores" display_name = "chanterelle mushrooms" - mutants = list("reishi","amanita","plumphelmet") - chems = list("nutriment" = list(1,25)) + mutants = list(PLANT_REISHI,PLANT_AMANITA,PLANT_PLUMPHELMET) + chems = list(REAGENT_ID_NUTRIMENT = list(1,25)) splat_type = /obj/effect/plant - kitchen_tag = "mushroom" + kitchen_tag = PLANT_MUSHROOMS /datum/seed/mushroom/New() ..() @@ -24,7 +24,7 @@ set_trait(TRAIT_LIGHT_TOLERANCE, 6) /datum/seed/mushroom/mold - name = "mold" + name = PLANT_MOLD seed_name = "brown mold" display_name = "brown mold" mutants = null @@ -40,12 +40,12 @@ set_trait(TRAIT_PLANT_ICON,"mushroom9") /datum/seed/mushroom/plump - name = "plumphelmet" + name = PLANT_PLUMPHELMET seed_name = "plump helmet" display_name = "plump helmet mushrooms" - mutants = list("walkingmushroom","towercap") - chems = list("nutriment" = list(2,10)) - kitchen_tag = "plumphelmet" + mutants = list("walkingmushroom",PLANT_TOWERCAP) + chems = list(REAGENT_ID_NUTRIMENT = list(2,10)) + kitchen_tag = PLANT_PLUMPHELMET /datum/seed/mushroom/plump/New() ..() @@ -58,11 +58,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom2") /datum/seed/mushroom/hallucinogenic - name = "reishi" - seed_name = "reishi" - display_name = "reishi" - mutants = list("libertycap","glowshroom") - chems = list("nutriment" = list(1,50), "psilocybin" = list(3,5)) + name = PLANT_REISHI + seed_name = PLANT_REISHI + display_name = PLANT_REISHI + mutants = list(PLANT_LIBERTYCAP,PLANT_GLOWSHROOM) + chems = list(REAGENT_ID_NUTRIMENT = list(1,50), REAGENT_ID_PSILOCYBIN = list(3,5)) /datum/seed/mushroom/hallucinogenic/New() ..() @@ -76,11 +76,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom6") /datum/seed/mushroom/hallucinogenic/strong - name = "libertycap" + name = PLANT_LIBERTYCAP seed_name = "liberty cap" display_name = "liberty cap mushrooms" mutants = null - chems = list("nutriment" = list(1), "stoxin" = list(3,3), "bliss" = list(1,25)) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_STOXIN = list(3,3), REAGENT_ID_BLISS = list(1,25)) /datum/seed/mushroom/hallucinogenic/strong/New() ..() @@ -92,11 +92,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom3") /datum/seed/mushroom/poison - name = "amanita" + name = PLANT_AMANITA seed_name = "fly amanita" display_name = "fly amanita mushrooms" - mutants = list("destroyingangel","plastic") - chems = list("nutriment" = list(1), "amatoxin" = list(3,3), "psilocybin" = list(1,25)) + mutants = list(PLANT_DESTROYINGANGEL,PLANT_PLASTIC) + chems = list(REAGENT_ID_NUTRIMENT = list(1), REAGENT_ID_AMATOXIN = list(3,3), REAGENT_ID_PSILOCYBIN = list(1,25)) /datum/seed/mushroom/poison/New() ..() @@ -110,11 +110,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom4") /datum/seed/mushroom/poison/death - name = "destroyingangel" + name = PLANT_DESTROYINGANGEL seed_name = "destroying angel" display_name = "destroying angel mushrooms" mutants = null - chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,50), REAGENT_ID_AMATOXIN = list(13,3), REAGENT_ID_PSILOCYBIN = list(1,25)) /datum/seed/mushroom/poison/death/New() ..() @@ -127,11 +127,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom5") /datum/seed/mushroom/towercap - name = "towercap" + name = PLANT_TOWERCAP seed_name = "tower cap" display_name = "tower caps" - chems = list("woodpulp" = list(10,1)) - mutants = list("redcap") + chems = list(REAGENT_ID_WOODPULP = list(10,1)) + mutants = list(PLANT_REDCAP) has_item_product = /obj/item/stack/material/log /datum/seed/mushroom/towercap/New() @@ -143,10 +143,10 @@ set_trait(TRAIT_PLANT_ICON,"mushroom8") /datum/seed/mushroom/towercap/red - name = "redcap" + name = PLANT_REDCAP seed_name = "red cap" display_name = "red caps" - chems = list("woodpulp" = list(10,1), "tannin" = list(1,10)) + chems = list(REAGENT_ID_WOODPULP = list(10,1), REAGENT_ID_TANNIN = list(1,10)) mutants = null has_item_product = null @@ -155,11 +155,11 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#b81414") /datum/seed/mushroom/glowshroom - name = "glowshroom" - seed_name = "glowshroom" + name = PLANT_GLOWSHROOM + seed_name = PLANT_GLOWSHROOM display_name = "glowshrooms" mutants = null - chems = list("radium" = list(1,20)) + chems = list(REAGENT_ID_RADIUM = list(1,20)) /datum/seed/mushroom/glowshroom/New() ..() @@ -175,11 +175,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom7") /datum/seed/mushroom/plastic - name = "plastic" + name = PLANT_PLASTIC seed_name = "plastellium" display_name = "plastellium" mutants = null - chems = list("plasticide" = list(1,10)) + chems = list(REAGENT_ID_PLASTICIDE = list(1,10)) /datum/seed/mushroom/plastic/New() ..() @@ -193,11 +193,11 @@ set_trait(TRAIT_PLANT_ICON,"mushroom10") /datum/seed/mushroom/spore - name = "sporeshroom" + name = PLANT_SPORESHROOM seed_name = "corpellian" display_name = "corpellian" mutants = null - chems = list("serotrotium" = list(5,10), "mold" = list(1,10)) + chems = list(REAGENT_ID_SEROTROTIUM = list(5,10), REAGENT_ID_MOLD = list(1,10)) /datum/seed/mushroom/spore/New() ..() @@ -209,4 +209,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#e29cd2") set_trait(TRAIT_PLANT_COLOUR,"#f8e6f4") set_trait(TRAIT_PLANT_ICON,"mushroom9") - set_trait(TRAIT_SPORING, TRUE) \ No newline at end of file + set_trait(TRAIT_SPORING, TRUE) diff --git a/code/modules/hydroponics/seedtypes/nettles.dm b/code/modules/hydroponics/seedtypes/nettles.dm index 5a1073c6fc..2d2d27e7b0 100644 --- a/code/modules/hydroponics/seedtypes/nettles.dm +++ b/code/modules/hydroponics/seedtypes/nettles.dm @@ -1,11 +1,11 @@ // Nettles/variants. /datum/seed/nettle - name = "nettle" - seed_name = "nettle" + name = PLANT_NETTLE + seed_name = PLANT_NETTLE display_name = "nettles" - mutants = list("deathnettle") - chems = list("nutriment" = list(1,50), "sacid" = list(0,1)) - kitchen_tag = "nettle" + mutants = list(PLANT_DEATHNETTLE) + chems = list(REAGENT_ID_NUTRIMENT = list(1,50), REAGENT_ID_SACID = list(0,1)) + kitchen_tag = PLANT_NETTLE /datum/seed/nettle/New() ..() @@ -20,12 +20,12 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#728A54") /datum/seed/nettle/death - name = "deathnettle" + name = PLANT_DEATHNETTLE seed_name = "death nettle" display_name = "death nettles" - kitchen_tag = "deathnettle" + kitchen_tag = PLANT_DEATHNETTLE mutants = null - chems = list("nutriment" = list(1,50), "pacid" = list(0,1)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,50), REAGENT_ID_PACID = list(0,1)) /datum/seed/nettle/death/New() ..() diff --git a/code/modules/hydroponics/seedtypes/onion.dm b/code/modules/hydroponics/seedtypes/onion.dm index 2123ad2b38..1a2e6e4283 100644 --- a/code/modules/hydroponics/seedtypes/onion.dm +++ b/code/modules/hydroponics/seedtypes/onion.dm @@ -1,9 +1,9 @@ /datum/seed/onion - name = "onion" - seed_name = "onion" + name = PLANT_ONION + seed_name = PLANT_ONION display_name = "onions" - kitchen_tag = "onion" - chems = list("nutriment" = list(1,10)) + kitchen_tag = PLANT_ONION + chems = list(REAGENT_ID_NUTRIMENT = list(1,10)) /datum/seed/onion/New() ..() @@ -14,4 +14,4 @@ set_trait(TRAIT_PRODUCT_ICON,"onion") set_trait(TRAIT_PRODUCT_COLOUR,"#E0C367") set_trait(TRAIT_PLANT_ICON,"carrot") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/peanuts.dm b/code/modules/hydroponics/seedtypes/peanuts.dm index cc710d25ca..4e5e2a3b53 100644 --- a/code/modules/hydroponics/seedtypes/peanuts.dm +++ b/code/modules/hydroponics/seedtypes/peanuts.dm @@ -1,10 +1,10 @@ //Everything else /datum/seed/peanuts - name = "peanut" - seed_name = "peanut" + name = PLANT_PEANUT + seed_name = PLANT_PEANUT display_name = "peanut vines" - kitchen_tag = "peanut" - chems = list("nutriment" = list(1,10), "peanutoil" = list(3,10)) + kitchen_tag = PLANT_PEANUT + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_PEANUTOIL = list(3,10)) /datum/seed/peanuts/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCT_ICON,"nuts") set_trait(TRAIT_PRODUCT_COLOUR,"#C4AE7A") set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, 6) \ No newline at end of file + set_trait(TRAIT_IDEAL_LIGHT, 6) diff --git a/code/modules/hydroponics/seedtypes/pineapple.dm b/code/modules/hydroponics/seedtypes/pineapple.dm index 9e14b244dc..536479ab8b 100644 --- a/code/modules/hydroponics/seedtypes/pineapple.dm +++ b/code/modules/hydroponics/seedtypes/pineapple.dm @@ -1,12 +1,12 @@ //pineapple and variants /datum/seed/pineapple - name = "pineapple" - seed_name = "pineapple" - display_name = "pineapple" - kitchen_tag = "pineapple" - mutants = list("spineapple") - chems = list("nutriment" = list(1,5), "pineapplejuice" = list(1, 20)) + name = PLANT_PINEAPPLE + seed_name = PLANT_PINEAPPLE + display_name = PLANT_PINEAPPLE + kitchen_tag = PLANT_PINEAPPLE + mutants = list(PLANT_SPINEAPPLE) + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_PINEAPPLEJUICE = list(1, 20)) /datum/seed/pineapple/New() ..() @@ -26,11 +26,11 @@ //A pineapple that stings and produces enzymes. /datum/seed/spineapple - name = "spineapple" - seed_name = "spineapple" - display_name = "spineapple" - kitchen_tag = "spineapple" - chems = list("nutriment" = list(1,5), "enzyme" = list(1,5), "pineapplejuice" = list(1, 20)) + name = PLANT_SPINEAPPLE + seed_name = PLANT_SPINEAPPLE + display_name = PLANT_SPINEAPPLE + kitchen_tag = PLANT_SPINEAPPLE + chems = list(REAGENT_ID_NUTRIMENT = list(1,5), REAGENT_ID_ENZYME = list(1,5), REAGENT_ID_PINEAPPLEJUICE = list(1, 20)) /datum/seed/spineapple/New() ..() @@ -46,4 +46,4 @@ set_trait(TRAIT_IDEAL_HEAT, 298) set_trait(TRAIT_IDEAL_LIGHT, 4) set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_STINGS,1) \ No newline at end of file + set_trait(TRAIT_STINGS,1) diff --git a/code/modules/hydroponics/seedtypes/potato.dm b/code/modules/hydroponics/seedtypes/potato.dm index 8aad55afc6..db695a49d9 100644 --- a/code/modules/hydroponics/seedtypes/potato.dm +++ b/code/modules/hydroponics/seedtypes/potato.dm @@ -1,9 +1,9 @@ /datum/seed/potato - name = "potato" - seed_name = "potato" + name = PLANT_POTATO + seed_name = PLANT_POTATO display_name = "potatoes" - kitchen_tag = "potato" - chems = list("nutriment" = list(1,10), "potatojuice" = list(10,10)) + kitchen_tag = PLANT_POTATO + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_POTATOJUICE = list(10,10)) /datum/seed/potato/New() ..() @@ -15,4 +15,4 @@ set_trait(TRAIT_PRODUCT_ICON,"potato") set_trait(TRAIT_PRODUCT_COLOUR,"#D4CAB4") set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/pumpkin.dm b/code/modules/hydroponics/seedtypes/pumpkin.dm index 916d44e58b..bb583f2000 100644 --- a/code/modules/hydroponics/seedtypes/pumpkin.dm +++ b/code/modules/hydroponics/seedtypes/pumpkin.dm @@ -1,9 +1,9 @@ /datum/seed/pumpkin - name = "pumpkin" - seed_name = "pumpkin" + name = PLANT_PUMPKIN + seed_name = PLANT_PUMPKIN display_name = "pumpkin vine" - kitchen_tag = "pumpkin" - chems = list("nutriment" = list(1,6)) + kitchen_tag = PLANT_PUMPKIN + chems = list(REAGENT_ID_NUTRIMENT = list(1,6)) /datum/seed/pumpkin/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#DBAC02") set_trait(TRAIT_PLANT_COLOUR,"#21661E") set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/rhubarb.dm b/code/modules/hydroponics/seedtypes/rhubarb.dm index f3ee13ce41..69bbed5ef3 100644 --- a/code/modules/hydroponics/seedtypes/rhubarb.dm +++ b/code/modules/hydroponics/seedtypes/rhubarb.dm @@ -1,9 +1,9 @@ /datum/seed/rhubarb - name = "rhubarb" - seed_name = "rhubarb" - display_name = "rhubarb" - kitchen_tag = "rhubarb" - chems = list("nutriment" = list(1,15)) + name = PLANT_ROSE + seed_name = PLANT_ROSE + display_name = PLANT_ROSE + kitchen_tag = PLANT_ROSE + chems = list(REAGENT_ID_NUTRIMENT = list(1,15)) /datum/seed/rhubarb/New() ..() @@ -14,4 +14,4 @@ set_trait(TRAIT_POTENCY,6) set_trait(TRAIT_PRODUCT_ICON,"stalk") set_trait(TRAIT_PRODUCT_COLOUR,"#FD5656") - set_trait(TRAIT_PLANT_ICON,"stalk3") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"stalk3") diff --git a/code/modules/hydroponics/seedtypes/rice.dm b/code/modules/hydroponics/seedtypes/rice.dm index 413c43b9fc..f0904b43a9 100644 --- a/code/modules/hydroponics/seedtypes/rice.dm +++ b/code/modules/hydroponics/seedtypes/rice.dm @@ -1,9 +1,9 @@ /datum/seed/rice - name = "rice" - seed_name = "rice" + name = PLANT_RICE + seed_name = PLANT_RICE display_name = "rice stalks" - kitchen_tag = "rice" - chems = list("nutriment" = list(1,25), "rice" = list(10,15)) + kitchen_tag = PLANT_RICE + chems = list(REAGENT_ID_NUTRIMENT = list(1,25), REAGENT_ID_RICE = list(10,15)) /datum/seed/rice/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#8ED17D") set_trait(TRAIT_PLANT_ICON,"stalk2") set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) \ No newline at end of file + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seedtypes/selemhand.dm b/code/modules/hydroponics/seedtypes/selemhand.dm index 5b49728c61..81986c0305 100644 --- a/code/modules/hydroponics/seedtypes/selemhand.dm +++ b/code/modules/hydroponics/seedtypes/selemhand.dm @@ -1,9 +1,9 @@ /datum/seed/shand - name = "shand" + name = PLANT_SHAND seed_name = "Selem's hand" display_name = "Selem's hand leaves" - kitchen_tag = "shand" - chems = list("bicaridine" = list(0,10)) + kitchen_tag = PLANT_SHAND + chems = list(REAGENT_ID_BICARIDINE = list(0,10)) /datum/seed/shand/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#378C61") set_trait(TRAIT_PLANT_ICON,"tree5") set_trait(TRAIT_IDEAL_HEAT, 283) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) \ No newline at end of file + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seedtypes/soybean.dm b/code/modules/hydroponics/seedtypes/soybean.dm index 22329be263..a08515b57c 100644 --- a/code/modules/hydroponics/seedtypes/soybean.dm +++ b/code/modules/hydroponics/seedtypes/soybean.dm @@ -1,9 +1,9 @@ /datum/seed/soybean - name = "soybean" - seed_name = "soybean" - display_name = "soybeans" - kitchen_tag = "soybeans" - chems = list("nutriment" = list(1,20), "soymilk" = list(10,20)) + name = PLANT_SOYBEAN + seed_name = PLANT_SOYBEAN + display_name = PLANT_SOYBEAN + "s" + kitchen_tag = PLANT_SOYBEAN + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_SOYMILK = list(10,20)) /datum/seed/soybean/New() ..() @@ -14,4 +14,4 @@ set_trait(TRAIT_POTENCY,5) set_trait(TRAIT_PRODUCT_ICON,"bean") set_trait(TRAIT_PRODUCT_COLOUR,"#EBE7C0") - set_trait(TRAIT_PLANT_ICON,"stalk") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"stalk") diff --git a/code/modules/hydroponics/seedtypes/sugarcane.dm b/code/modules/hydroponics/seedtypes/sugarcane.dm index c670500a1d..c566c409b3 100644 --- a/code/modules/hydroponics/seedtypes/sugarcane.dm +++ b/code/modules/hydroponics/seedtypes/sugarcane.dm @@ -1,9 +1,9 @@ /datum/seed/sugarcane - name = "sugarcane" - seed_name = "sugarcane" - display_name = "sugarcanes" - kitchen_tag = "sugarcanes" - chems = list("sugar" = list(4,5)) + name = PLANT_SUGARCANE + seed_name = PLANT_SUGARCANE + display_name = PLANT_SUGARCANE + "s" + kitchen_tag = PLANT_SUGARCANE + chems = list(REAGENT_ID_SUGAR = list(4,5)) /datum/seed/sugarcane/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#B4D6BD") set_trait(TRAIT_PLANT_COLOUR,"#6BBD68") set_trait(TRAIT_PLANT_ICON,"stalk3") - set_trait(TRAIT_IDEAL_HEAT, 298) \ No newline at end of file + set_trait(TRAIT_IDEAL_HEAT, 298) diff --git a/code/modules/hydroponics/seedtypes/surik.dm b/code/modules/hydroponics/seedtypes/surik.dm index 8ea521995c..430560c828 100644 --- a/code/modules/hydroponics/seedtypes/surik.dm +++ b/code/modules/hydroponics/seedtypes/surik.dm @@ -1,9 +1,9 @@ /datum/seed/surik - name = "surik" - seed_name = "surik" + name = PLANT_SURIK + seed_name = PLANT_SURIK display_name = "surik vine" - kitchen_tag = "surik" - chems = list("impedrezene" = list(1,3),"synaptizine" = list(1,2),"nutriment" = list(1,5)) + kitchen_tag = PLANT_SURIK + chems = list(REAGENT_ID_IMPEDREZENE = list(1,3),REAGENT_ID_SYNAPTIZINE = list(1,2),REAGENT_ID_NUTRIMENT = list(1,5)) /datum/seed/surik/New() ..() @@ -12,4 +12,4 @@ set_trait(TRAIT_MATURATION,7) set_trait(TRAIT_PRODUCTION,7) set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,3) \ No newline at end of file + set_trait(TRAIT_POTENCY,3) diff --git a/code/modules/hydroponics/seedtypes/telriis.dm b/code/modules/hydroponics/seedtypes/telriis.dm index 47c577b787..a85d394a56 100644 --- a/code/modules/hydroponics/seedtypes/telriis.dm +++ b/code/modules/hydroponics/seedtypes/telriis.dm @@ -1,9 +1,9 @@ /datum/seed/telriis - name = "telriis" - seed_name = "telriis" + name = PLANT_TELRIIS + seed_name = PLANT_TELRIIS display_name = "telriis grass" - kitchen_tag = "telriis" - chems = list("pwine" = list(1,5), "nutriment" = list(1,6)) + kitchen_tag = PLANT_TELRIIS + chems = list(REAGENT_ID_PWINE = list(1,5), REAGENT_ID_NUTRIMENT = list(1,6)) /datum/seed/telriis/New() ..() @@ -13,4 +13,4 @@ set_trait(TRAIT_MATURATION,5) set_trait(TRAIT_PRODUCTION,5) set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,5) \ No newline at end of file + set_trait(TRAIT_POTENCY,5) diff --git a/code/modules/hydroponics/seedtypes/thaadra.dm b/code/modules/hydroponics/seedtypes/thaadra.dm index 209b495c82..0bb3eab1f1 100644 --- a/code/modules/hydroponics/seedtypes/thaadra.dm +++ b/code/modules/hydroponics/seedtypes/thaadra.dm @@ -1,9 +1,9 @@ /datum/seed/thaadra - name = "thaadra" + name = PLANT_THAADRA seed_name = "thaa'dra" display_name = "thaa'dra lichen" - kitchen_tag = "thaadra" - chems = list("frostoil" = list(1,5),"nutriment" = list(1,5)) + kitchen_tag = PLANT_THAADRA + chems = list(REAGENT_ID_FROSTOIL = list(1,5),REAGENT_ID_NUTRIMENT = list(1,5)) /datum/seed/thaadra/New() ..() @@ -13,4 +13,4 @@ set_trait(TRAIT_MATURATION,5) set_trait(TRAIT_PRODUCTION,9) set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,5) \ No newline at end of file + set_trait(TRAIT_POTENCY,5) diff --git a/code/modules/hydroponics/seedtypes/tobacco.dm b/code/modules/hydroponics/seedtypes/tobacco.dm index d9550fef8c..074b041131 100644 --- a/code/modules/hydroponics/seedtypes/tobacco.dm +++ b/code/modules/hydroponics/seedtypes/tobacco.dm @@ -1,11 +1,11 @@ //Tobacco/varieties. /datum/seed/tobacco - name = "tobacco" - seed_name = "tobacco" - display_name = "tobacco" - kitchen_tag = "tobacco" + name = PLANT_TOBACCO + seed_name = PLANT_TOBACCO + display_name = PLANT_TOBACCO + kitchen_tag = PLANT_TOBACCO mutants = list("stimbush") - chems = list("nutriment" = list(1,15), "nicotine" = list(1,20)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,15), REAGENT_ID_NICOTINE = list(1,20)) /datum/seed/tobacco/New() ..() @@ -23,7 +23,7 @@ name = "stimbush" seed_name = "stim-bush" display_name = "stim-bush" - chems = list("nutriment" = list(1,10), "hyperzine" = list(1,10), "synaptizine" = list(1,5)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_HYPERZINE = list(1,10), REAGENT_ID_SYNAPTIZINE = list(1,5)) /datum/seed/tobacco/stimbush/New() ..() diff --git a/code/modules/hydroponics/seedtypes/tomatoes.dm b/code/modules/hydroponics/seedtypes/tomatoes.dm index 3454d69952..670cb3c39f 100644 --- a/code/modules/hydroponics/seedtypes/tomatoes.dm +++ b/code/modules/hydroponics/seedtypes/tomatoes.dm @@ -1,11 +1,11 @@ //Tomatoes/variants. /datum/seed/tomato - name = "tomato" - seed_name = "tomato" + name = PLANT_TOMATO + seed_name = PLANT_TOMATO display_name = "tomato plant" - mutants = list("bluetomato","bloodtomato") - chems = list("nutriment" = list(1,10), "tomatojuice" = list(10,10)) - kitchen_tag = "tomato" + mutants = list(PLANT_BLUETOMATO,PLANT_BLOODTOMATO) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_TOMATOJUICE = list(10,10)) + kitchen_tag = PLANT_TOMATO /datum/seed/tomato/New() ..() @@ -23,11 +23,11 @@ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) /datum/seed/tomato/blood - name = "bloodtomato" + name = PLANT_BLOODTOMATO seed_name = "blood tomato" display_name = "blood tomato plant" - mutants = list("killertomato") - chems = list("nutriment" = list(1,10), "blood" = list(1,5)) + mutants = list(PLANT_KILLERTOMATO) + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_BLOOD = list(1,5)) splat_type = /obj/effect/decal/cleanable/blood/splatter /datum/seed/tomato/blood/New() @@ -36,7 +36,7 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000") /datum/seed/tomato/killer - name = "killertomato" + name = PLANT_KILLERTOMATO seed_name = "killer tomato" display_name = "killer tomato plant" mutants = null @@ -49,11 +49,11 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#A86747") /datum/seed/tomato/blue - name = "bluetomato" + name = PLANT_BLUETOMATO seed_name = "blue tomato" display_name = "blue tomato plant" - mutants = list("bluespacetomato") - chems = list("nutriment" = list(1,20), "lube" = list(1,5)) + mutants = list(PLANT_BLUESPACETOMATO) + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_LUBE = list(1,5)) /datum/seed/tomato/blue/New() ..() @@ -61,15 +61,15 @@ set_trait(TRAIT_PLANT_COLOUR,"#070AAD") /datum/seed/tomato/blue/teleport - name = "bluespacetomato" + name = PLANT_BLUESPACETOMATO seed_name = "bluespace tomato" display_name = "bluespace tomato plant" mutants = null - chems = list("nutriment" = list(1,20), "singulo" = list(10,5)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,20), REAGENT_ID_SINGULO = list(10,5)) /datum/seed/tomato/blue/teleport/New() ..() set_trait(TRAIT_TELEPORTING,1) set_trait(TRAIT_PRODUCT_COLOUR,"#00E5FF") set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8") \ No newline at end of file + set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8") diff --git a/code/modules/hydroponics/seedtypes/vale.dm b/code/modules/hydroponics/seedtypes/vale.dm index 166fafcf97..e20c30537f 100644 --- a/code/modules/hydroponics/seedtypes/vale.dm +++ b/code/modules/hydroponics/seedtypes/vale.dm @@ -1,9 +1,9 @@ /datum/seed/vale - name = "vale" - seed_name = "vale" + name = PLANT_VALE + seed_name = PLANT_VALE display_name = "vale bush" - kitchen_tag = "vale" - chems = list("paracetamol" = list(1,5),"dexalin" = list(1,2),"nutriment"= list(1,5)) + kitchen_tag = PLANT_VALE + chems = list(REAGENT_ID_PARACETAMOL = list(1,5),REAGENT_ID_DEXALIN = list(1,2),REAGENT_ID_NUTRIMENT= list(1,5)) /datum/seed/vale/New() ..() @@ -12,4 +12,4 @@ set_trait(TRAIT_MATURATION,8) set_trait(TRAIT_PRODUCTION,10) set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,3) \ No newline at end of file + set_trait(TRAIT_POTENCY,3) diff --git a/code/modules/hydroponics/seedtypes/vanilla.dm b/code/modules/hydroponics/seedtypes/vanilla.dm index a2bc5c8dcf..adff9e30e4 100644 --- a/code/modules/hydroponics/seedtypes/vanilla.dm +++ b/code/modules/hydroponics/seedtypes/vanilla.dm @@ -1,9 +1,9 @@ /datum/seed/vanilla - name = "vanilla" - seed_name = "vanilla" - display_name = "vanilla" - kitchen_tag = "vanilla" - chems = list("nutriment" = list(1,10), "vanilla" = list(2,8), "sugar" = list(1, 4)) + name = PLANT_VANILLA + seed_name = PLANT_VANILLA + display_name = PLANT_VANILLA + kitchen_tag = PLANT_VANILLA + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_VANILLA = list(2,8), REAGENT_ID_SUGAR = list(1, 4)) /datum/seed/vanilla/New() ..() diff --git a/code/modules/hydroponics/seedtypes/wabback.dm b/code/modules/hydroponics/seedtypes/wabback.dm index 8c1e9411f0..50323222bd 100644 --- a/code/modules/hydroponics/seedtypes/wabback.dm +++ b/code/modules/hydroponics/seedtypes/wabback.dm @@ -1,12 +1,12 @@ //Wabback / varieties. /datum/seed/wabback - name = "whitewabback" + name = PLANT_WHITEWABBACK seed_name = "white wabback" seed_noun = "nodes" display_name = "white wabback" - chems = list("nutriment" = list(1,10), "protein" = list(1,5), "enzyme" = list(0,3)) - kitchen_tag = "wabback" - mutants = list("blackwabback","wildwabback") + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_PROTEIN = list(1,5), REAGENT_ID_ENZYME = list(0,3)) + kitchen_tag = PLANT_WHITEWABBACK + mutants = list(PLANT_BLACKWABBACK,PLANT_WILDWABBACK) has_item_product = /obj/item/stack/material/cloth /datum/seed/wabback/New() @@ -27,11 +27,11 @@ set_trait(TRAIT_SPREAD,1) /datum/seed/wabback/vine - name = "blackwabback" + name = PLANT_BLACKWABBACK seed_name = "black wabback" display_name = "black wabback" mutants = null - chems = list("nutriment" = list(1,3), "protein" = list(1,10), "serotrotium_v" = list(0,1)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,3), REAGENT_ID_PROTEIN = list(1,10), REAGENT_ID_SEROTROTIUMV = list(0,1)) /datum/seed/wabback/vine/New() ..() @@ -39,16 +39,16 @@ set_trait(TRAIT_CARNIVOROUS,2) /datum/seed/wabback/wild - name = "wildwabback" + name = PLANT_WILDWABBACK seed_name = "wild wabback" display_name = "wild wabback" - mutants = list("whitewabback") + mutants = list(PLANT_WHITEWABBACK) has_item_product = null - chems = list("nutriment" = list(1,15), "protein" = list(0,2), "enzyme" = list(0,1)) + chems = list(REAGENT_ID_NUTRIMENT = list(1,15), REAGENT_ID_PROTEIN = list(0,2), REAGENT_ID_ENZYME = list(0,1)) /datum/seed/wabback/wild/New() ..() set_trait(TRAIT_IDEAL_LIGHT, 3) set_trait(TRAIT_WATER_CONSUMPTION, 7) set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1) - set_trait(TRAIT_YIELD,5) \ No newline at end of file + set_trait(TRAIT_YIELD,5) diff --git a/code/modules/hydroponics/seedtypes/watermelon.dm b/code/modules/hydroponics/seedtypes/watermelon.dm index 79ae157295..3fba78c4db 100644 --- a/code/modules/hydroponics/seedtypes/watermelon.dm +++ b/code/modules/hydroponics/seedtypes/watermelon.dm @@ -1,9 +1,9 @@ /datum/seed/watermelon - name = "watermelon" - seed_name = "watermelon" + name = PLANT_WATERMELON + seed_name = PLANT_WATERMELON display_name = "watermelon vine" - kitchen_tag = "watermelon" - chems = list("nutriment" = list(1,6), "watermelonjuice" = list(10,6)) + kitchen_tag = PLANT_WATERMELON + chems = list(REAGENT_ID_NUTRIMENT = list(1,6), REAGENT_ID_WATERMELONJUICE = list(10,6)) /datum/seed/watermelon/New() ..() @@ -20,4 +20,4 @@ set_trait(TRAIT_FLESH_COLOUR,"#F22C2C") set_trait(TRAIT_IDEAL_HEAT, 298) set_trait(TRAIT_IDEAL_LIGHT, 6) - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/weeds.dm b/code/modules/hydroponics/seedtypes/weeds.dm index 9a867174b8..264bfd7b74 100644 --- a/code/modules/hydroponics/seedtypes/weeds.dm +++ b/code/modules/hydroponics/seedtypes/weeds.dm @@ -1,7 +1,7 @@ /datum/seed/weeds - name = "weeds" + name = PLANT_WEEDS seed_name = "weed" - display_name = "weeds" + display_name = PLANT_WEEDS /datum/seed/weeds/New() ..() @@ -13,4 +13,4 @@ set_trait(TRAIT_PRODUCT_ICON,"flower4") set_trait(TRAIT_PRODUCT_COLOUR,"#FCEB2B") set_trait(TRAIT_PLANT_COLOUR,"#59945A") - set_trait(TRAIT_PLANT_ICON,"bush6") \ No newline at end of file + set_trait(TRAIT_PLANT_ICON,"bush6") diff --git a/code/modules/hydroponics/seedtypes/wheat.dm b/code/modules/hydroponics/seedtypes/wheat.dm index a657490c15..60f1f82277 100644 --- a/code/modules/hydroponics/seedtypes/wheat.dm +++ b/code/modules/hydroponics/seedtypes/wheat.dm @@ -1,9 +1,9 @@ /datum/seed/wheat - name = "wheat" - seed_name = "wheat" + name = PLANT_WHEAT + seed_name = PLANT_WHEAT display_name = "wheat stalks" - kitchen_tag = "wheat" - chems = list("nutriment" = list(1,25), "flour" = list(10,30)) + kitchen_tag = PLANT_WHEAT + chems = list(REAGENT_ID_NUTRIMENT = list(1,25), REAGENT_ID_FLOUR = list(10,30)) /datum/seed/wheat/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PLANT_COLOUR,"#BFAF82") set_trait(TRAIT_PLANT_ICON,"stalk2") set_trait(TRAIT_IDEAL_LIGHT, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) \ No newline at end of file + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seedtypes/whitebeets.dm b/code/modules/hydroponics/seedtypes/whitebeets.dm index 3534fcc7ff..fff02afa55 100644 --- a/code/modules/hydroponics/seedtypes/whitebeets.dm +++ b/code/modules/hydroponics/seedtypes/whitebeets.dm @@ -1,9 +1,9 @@ /datum/seed/whitebeets - name = "whitebeet" + name = PLANT_WHITEBEET seed_name = "white-beet" display_name = "white-beets" - kitchen_tag = "whitebeet" - chems = list("nutriment" = list(0,20), "sugar" = list(1,5)) + kitchen_tag = PLANT_WHITEBEET + chems = list(REAGENT_ID_NUTRIMENT = list(0,20), REAGENT_ID_SUGAR = list(1,5)) /datum/seed/whitebeets/New() ..() @@ -15,4 +15,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#EEF5B0") set_trait(TRAIT_PLANT_COLOUR,"#4D8F53") set_trait(TRAIT_PLANT_ICON,"carrot2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/wurmwoad.dm b/code/modules/hydroponics/seedtypes/wurmwoad.dm index bb4df620a2..fe575ad061 100644 --- a/code/modules/hydroponics/seedtypes/wurmwoad.dm +++ b/code/modules/hydroponics/seedtypes/wurmwoad.dm @@ -1,11 +1,11 @@ // Wurmwoad, the Space Spice maker. Totally is actually, 100% literal worms. /datum/seed/wurmwoad - name = "wurmwoad" - seed_name = "wurmwoad" + name = PLANT_WURMWOAD + seed_name = PLANT_WURMWOAD display_name = "wurmwoad growth" - chems = list("nutriment" = list(1,10), "spacespice" = list(5,15)) - kitchen_tag = "wurmwoad" + chems = list(REAGENT_ID_NUTRIMENT = list(1,10), REAGENT_ID_SPACESPICE = list(5,15)) + kitchen_tag = PLANT_WURMWOAD /datum/seed/wurmwoad/New() ..() diff --git a/code/modules/hydroponics/seedtypes/xeno.dm b/code/modules/hydroponics/seedtypes/xeno.dm index 2b1acd76b0..a3cc708ce6 100644 --- a/code/modules/hydroponics/seedtypes/xeno.dm +++ b/code/modules/hydroponics/seedtypes/xeno.dm @@ -4,7 +4,7 @@ seed_name = "alien weed" display_name = "alien weeds" force_layer = 3 - chems = list("phoron" = list(1,3)) + chems = list(REAGENT_ID_PHORON = list(1,3)) /datum/seed/xenomorph/New() ..() @@ -16,4 +16,4 @@ set_trait(TRAIT_PRODUCTION,1) set_trait(TRAIT_YIELD,-1) set_trait(TRAIT_SPREAD,2) - set_trait(TRAIT_POTENCY,50) \ No newline at end of file + set_trait(TRAIT_POTENCY,50) diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm index 00f6e4dbb2..c3ca8e77a1 100644 --- a/code/modules/hydroponics/spreading/spreading.dm +++ b/code/modules/hydroponics/spreading/spreading.dm @@ -1,4 +1,4 @@ -#define DEFAULT_SEED "glowshroom" +#define DEFAULT_SEED PLANT_GLOWSHROOM #define VINE_GROWTH_STAGES 5 /proc/spacevine_infestation(var/potency_min=70, var/potency_max=100, var/maturation_min=5, var/maturation_max=15) @@ -135,7 +135,7 @@ update_icon() SSplants.add_plant(src) //Some plants eat through plating. - if(islist(seed.chems) && !isnull(seed.chems["pacid"])) + if(islist(seed.chems) && !isnull(seed.chems[REAGENT_ID_PACID])) var/turf/T = get_turf(src) T.ex_act(prob(80) ? 3 : 2) @@ -198,7 +198,7 @@ if(growth>2 && growth == max_growth) plane = ABOVE_PLANE set_opacity(1) - if(!isnull(seed.chems["woodpulp"])) + if(!isnull(seed.chems[REAGENT_ID_WOODPULP])) density = TRUE else reset_plane_and_layer() diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 1fe2f70b05..1a28408475 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -26,7 +26,7 @@ continue if(floor.density) - if(!isnull(seed.chems["pacid"])) + if(!isnull(seed.chems[REAGENT_ID_PACID])) spawn(rand(5,25)) floor.ex_act(3) continue @@ -51,7 +51,7 @@ return 0 for(var/obj/effect/effect/smoke/chem/smoke in view(1, src)) - if(smoke.reagents.has_reagent("plantbgone")) + if(smoke.reagents.has_reagent(REAGENT_ID_PLANTBGONE)) die_off() return diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 62fe40d707..7afaa3f6b6 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -55,82 +55,82 @@ // Reagent information for process(), consider moving this to a controller along // with cycle information under 'mechanical concerns' at some point. var/static/list/toxic_reagents = list( - "anti_toxin" = -2, - "toxin" = 2, - "fluorine" = 2.5, - "chlorine" = 1.5, - "sacid" = 1.5, - "pacid" = 3, - "plantbgone" = 3, - "cryoxadone" = -3, - "radium" = 2 + REAGENT_ID_ANTITOXIN = -2, + REAGENT_ID_TOXIN = 2, + REAGENT_ID_FLUORINE = 2.5, + REAGENT_ID_CHLORINE = 1.5, + REAGENT_ID_SACID = 1.5, + REAGENT_ID_PACID = 3, + REAGENT_ID_PLANTBGONE = 3, + REAGENT_ID_CRYOXADONE = -3, + REAGENT_ID_RADIUM = 2 ) var/static/list/nutrient_reagents = list( - "milk" = 0.1, - "beer" = 0.25, - "phosphorus" = 0.1, - "sugar" = 0.1, - "sodawater" = 0.1, - "ammonia" = 1, - "diethylamine" = 2, - "nutriment" = 1, - "adminordrazine" = 1, - "eznutrient" = 1, - "robustharvest" = 1, - "left4zed" = 1 + REAGENT_ID_MILK = 0.1, + REAGENT_ID_BEER = 0.25, + REAGENT_ID_PHOSPHORUS = 0.1, + REAGENT_ID_SUGAR = 0.1, + REAGENT_ID_SODAWATER = 0.1, + REAGENT_ID_AMMONIA = 1, + REAGENT_ID_DIETHYLAMINE = 2, + REAGENT_ID_NUTRIMENT = 1, + REAGENT_ID_ADMINORDRAZINE = 1, + REAGENT_ID_EZNUTRIENT = 1, + REAGENT_ID_ROBUSTHARVEST = 1, + REAGENT_ID_LEFT4ZED = 1 ) var/static/list/weedkiller_reagents = list( - "fluorine" = -4, - "chlorine" = -3, - "phosphorus" = -2, - "sugar" = 2, - "sacid" = -2, - "pacid" = -4, - "plantbgone" = -8, - "adminordrazine" = -5 + REAGENT_ID_FLUORINE = -4, + REAGENT_ID_CHLORINE = -3, + REAGENT_ID_PHOSPHORUS = -2, + REAGENT_ID_SUGAR = 2, + REAGENT_ID_SACID = -2, + REAGENT_ID_PACID = -4, + REAGENT_ID_PLANTBGONE = -8, + REAGENT_ID_ADMINORDRAZINE = -5 ) var/static/list/pestkiller_reagents = list( - "sugar" = 2, - "diethylamine" = -2, - "adminordrazine" = -5 + REAGENT_ID_SUGAR = 2, + REAGENT_ID_DIETHYLAMINE = -2, + REAGENT_ID_ADMINORDRAZINE = -5 ) var/static/list/water_reagents = list( - "water" = 1, - "adminordrazine" = 1, - "milk" = 0.9, - "beer" = 0.7, - "fluorine" = -0.5, - "chlorine" = -0.5, - "phosphorus" = -0.5, - "water" = 1, - "sodawater" = 1, + REAGENT_ID_WATER = 1, + REAGENT_ID_ADMINORDRAZINE = 1, + REAGENT_ID_MILK = 0.9, + REAGENT_ID_BEER = 0.7, + REAGENT_ID_FLUORINE = -0.5, + REAGENT_ID_CHLORINE = -0.5, + REAGENT_ID_PHOSPHORUS = -0.5, + REAGENT_ID_WATER = 1, + REAGENT_ID_SODAWATER = 1, ) // Beneficial reagents also have values for modifying health, yield_mod and mut_mod (in that order). var/static/list/beneficial_reagents = list( - "beer" = list( -0.05, 0, 0 ), - "fluorine" = list( -2, 0, 0 ), - "chlorine" = list( -1, 0, 0 ), - "phosphorus" = list( -0.75, 0, 0 ), - "sodawater" = list( 0.1, 0, 0 ), - "sacid" = list( -1, 0, 0 ), - "pacid" = list( -2, 0, 0 ), - "plantbgone" = list( -2, 0, 0.2), - "cryoxadone" = list( 3, 0, 0 ), - "ammonia" = list( 0.5, 0, 0 ), - "diethylamine" = list( 1, 0, 0 ), - "nutriment" = list( 0.5, 0.1, 0 ), - "radium" = list( -1.5, 0, 0.2), - "adminordrazine" = list( 1, 1, 1 ), - "robustharvest" = list( 0, 0.2, 0 ), - "left4zed" = list( 0, 0, 0.2) + REAGENT_ID_BEER = list( -0.05, 0, 0 ), + REAGENT_ID_FLUORINE = list( -2, 0, 0 ), + REAGENT_ID_CHLORINE = list( -1, 0, 0 ), + REAGENT_ID_PHOSPHORUS = list( -0.75, 0, 0 ), + REAGENT_ID_SODAWATER = list( 0.1, 0, 0 ), + REAGENT_ID_SACID = list( -1, 0, 0 ), + REAGENT_ID_PACID = list( -2, 0, 0 ), + REAGENT_ID_PLANTBGONE = list( -2, 0, 0.2), + REAGENT_ID_CRYOXADONE = list( 3, 0, 0 ), + REAGENT_ID_AMMONIA = list( 0.5, 0, 0 ), + REAGENT_ID_DIETHYLAMINE = list( 1, 0, 0 ), + REAGENT_ID_NUTRIMENT = list( 0.5, 0.1, 0 ), + REAGENT_ID_RADIUM = list( -1.5, 0, 0.2), + REAGENT_ID_ADMINORDRAZINE = list( 1, 1, 1 ), + REAGENT_ID_ROBUSTHARVEST = list( 0, 0.2, 0 ), + REAGENT_ID_LEFT4ZED = list( 0, 0, 0.2) ) // Mutagen list specifies minimum value for the mutation to take place, rather // than a bound as the lists above specify. var/static/list/mutagenic_reagents = list( - "radium" = 8, - "mutagen" = 15 + REAGENT_ID_RADIUM = 8, + REAGENT_ID_MUTAGEN = 15 ) /obj/machinery/portable_atmospherics/hydroponics/AltClick(var/mob/living/user) @@ -164,7 +164,7 @@ return if(weedlevel > 0) - nymph.reagents.add_reagent("glucose", weedlevel) + nymph.reagents.add_reagent(REAGENT_ID_GLUCOSE, weedlevel) weedlevel = 0 nymph.visible_message(span_notice(span_bold("[nymph]") + " begins rooting through [src], ripping out weeds and eating them noisily."),span_notice("You begin rooting through [src], ripping out weeds and eating them noisily.")) else if(nymph.nutrition > 100 && nutrilevel < 10) @@ -380,7 +380,7 @@ if(seed) previous_plant = seed.display_name seed = null - seed = SSplants.seeds[pick(list("reishi","nettle","amanita","mushrooms","plumphelmet","towercap","harebells","weeds"))] + seed = SSplants.seeds[pick(list(PLANT_REISHI,PLANT_NETTLE,PLANT_AMANITA,PLANT_MUSHROOMS,PLANT_PLUMPHELMET,PLANT_TOWERCAP,PLANT_HAREBELLS,PLANT_WEEDS))] if(!seed) return //Weed does not exist, someone fucked up. dead = 0 diff --git a/code/modules/instruments/songs/editor.dm b/code/modules/instruments/songs/editor.dm index 9f67412670..695cd8bfee 100644 --- a/code/modules/instruments/songs/editor.dm +++ b/code/modules/instruments/songs/editor.dm @@ -4,30 +4,30 @@ /datum/song/proc/instrument_status_ui() . = list() . += "
    " - . += span_bold("Current instrument:") + " " + . += span_bold("Current instrument:") + " " if(!using_instrument) . += span_danger("No instrument loaded!") + "
    " else . += "[using_instrument.name]
    " . += "Playback Settings:
    " if(can_noteshift) - . += "Note Shift/Note Transpose: [note_shift] keys / [round(note_shift / 12, 0.01)] octaves
    " + . += "Note Shift/Note Transpose: [note_shift] keys / [round(note_shift / 12, 0.01)] octaves
    " var/smt var/modetext = "" switch(sustain_mode) if(SUSTAIN_LINEAR) smt = "Linear" - modetext = "Linear Sustain Duration: [sustain_linear_duration / 10] seconds
    " + modetext = "Linear Sustain Duration: [sustain_linear_duration / 10] seconds
    " if(SUSTAIN_EXPONENTIAL) smt = "Exponential" - modetext = "Exponential Falloff Factor: [sustain_exponential_dropoff]% per decisecond
    " - . += "Sustain Mode: [smt]
    " + modetext = "Exponential Falloff Factor: [sustain_exponential_dropoff]% per decisecond
    " + . += "Sustain Mode: [smt]
    " . += modetext . += using_instrument?.ready()? ("Status: " + span_green("Ready") + "
    ") : ("Status: " + span_red("!Instrument Definition Error!") + "
    ") . += "Instrument Type: [legacy? "Legacy" : "Synthesized"]
    " - . += "Volume: [volume]
    " - . += "Volume Dropoff Threshold: [sustain_dropoff_volume]
    " - . += "Sustain indefinitely last held note: [full_sustain_held_note? "Enabled" : "Disabled"].
    " + . += "Volume: [volume]
    " + . += "Volume Dropoff Threshold: [sustain_dropoff_volume]
    " + . += "Sustain indefinitely last held note: [full_sustain_held_note? "Enabled" : "Disabled"].
    " . += "
    " /datum/song/proc/interact(mob/user) @@ -38,31 +38,31 @@ if(lines.len > 0) dat += "

    Playback

    " if(!playing) - dat += "Play " + span_linkOn("Stop") + "

    " + dat += "Play " + span_linkOn("Stop") + "

    " dat += "Repeat Song: " - dat += repeat > 0 ? "--" : (span_linkOff("-") + span_linkOff("-")) + dat += repeat > 0 ? "--" : (span_linkOff("-") + span_linkOff("-")) dat += " [repeat] times " - dat += repeat < max_repeats ? "++" : (span_linkOff("+") + span_linkOff("+")) + dat += repeat < max_repeats ? "++" : (span_linkOff("+") + span_linkOff("+")) dat += "
    " else - dat += span_linkOn("Play") + " Stop
    " + dat += span_linkOn("Play") + " Stop
    " dat += "Repeats left: " + span_bold("[repeat]") + "
    " if(!editing) - dat += "
    " + span_bold("Show Editor") + "
    " + dat += "
    " + span_bold("Show Editor") + "
    " else dat += "

    Editing

    " - dat += span_bold("Hide Editor") - dat += " Start a New Song" - dat += " Import a Song

    " + dat += span_bold("Hide Editor") + dat += " Start a New Song" + dat += " Import a Song

    " var/bpm = round(600 / tempo) - dat += "Tempo: - [bpm] BPM +

    " + dat += "Tempo: - [bpm] BPM +

    " var/linecount = 0 for(var/line in lines) linecount += 1 - dat += "Line [linecount]: Edit X [line]
    " - dat += "Add Line

    " + dat += "Line [linecount]: Edit X [line]
    " + dat += "Add Line

    " if(help) - dat += span_bold("Hide Help") + "
    " + dat += span_bold("Hide Help") + "
    " dat += {" Lines are a series of chords, separated by commas (,), each with notes separated by hyphens (-).
    Every note in a chord will play together, with chord timed by the tempo.
    @@ -81,7 +81,7 @@ A song may only contain up to [MUSIC_MAXLINES] lines.
    "} else - dat += span_bold("Show Help") + "
    " + dat += span_bold("Show Help") + "
    " var/datum/browser/popup = new(user, "instrument", parent?.name || "instrument", 700, 500) popup.set_content(dat.Join("")) diff --git a/code/modules/integrated_electronics/core/assemblies/clothing.dm b/code/modules/integrated_electronics/core/assemblies/clothing.dm index 087171bbd8..d2f559013f 100644 --- a/code/modules/integrated_electronics/core/assemblies/clothing.dm +++ b/code/modules/integrated_electronics/core/assemblies/clothing.dm @@ -77,7 +77,7 @@ action_circuit = new(src.IC) IC.force_add_circuit(action_circuit) - new /datum/action/item_action/activate(src, name) + add_item_action(new /datum/action/item_action/activate(src, name)) /obj/item/clothing/Destroy() if(IC) diff --git a/code/modules/integrated_electronics/core/special_pins/list_pin.dm b/code/modules/integrated_electronics/core/special_pins/list_pin.dm index 7f7c836d84..4a8ae54035 100644 --- a/code/modules/integrated_electronics/core/special_pins/list_pin.dm +++ b/code/modules/integrated_electronics/core/special_pins/list_pin.dm @@ -11,17 +11,17 @@ var/list/my_list = data var/t = "

    [src]


    " t += "List length: [my_list.len]
    " - t += "\[Refresh\] | " - t += "\[Add\] | " - t += "\[Swap\] | " - t += "\[Clear\]
    " + t += "\[Refresh\] | " + t += "\[Add\] | " + t += "\[Swap\] | " + t += "\[Clear\]
    " t += "
    " var/i = 0 for(var/line in my_list) i++ t += "#[i] | [display_data(line)] | " - t += "\[Edit\] | " - t += "\[Remove\]
    " + t += "\[Edit\] | " + t += "\[Remove\]
    " user << browse(t, "window=list_pin_\ref[src];size=500x400") /datum/integrated_io/list/proc/add_to_list(mob/user, var/new_entry) diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm index f58209feae..b96b6d32d2 100644 --- a/code/modules/integrated_electronics/passive/power.dm +++ b/code/modules/integrated_electronics/passive/power.dm @@ -118,7 +118,7 @@ spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2, TECH_BIO = 2) var/volume = 60 - var/list/fuel = list("phoron" = 50000, "slimejelly" = 25000, "fuel" = 15000, "carbon" = 10000, "ethanol"= 10000, "nutriment" =8000, "blood" = 5000) + var/list/fuel = list(REAGENT_ID_PHORON = 50000, REAGENT_ID_SLIMEJELLY = 25000, REAGENT_ID_FUEL = 15000, REAGENT_ID_CARBON = 10000, REAGENT_ID_ETHANOL= 10000, REAGENT_ID_NUTRIMENT = 8000, REAGENT_ID_BLOOD = 5000) /obj/item/integrated_circuit/passive/power/chemical_cell/New() ..() diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 741b3b48dd..fd008425d3 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -741,10 +741,10 @@ outputs = list( "pressure" = IC_PINTYPE_NUMBER, "temperature" = IC_PINTYPE_NUMBER, - "oxygen" = IC_PINTYPE_NUMBER, - "nitrogen" = IC_PINTYPE_NUMBER, + GAS_O2 = IC_PINTYPE_NUMBER, + GAS_N2 = IC_PINTYPE_NUMBER, "carbon dioxide" = IC_PINTYPE_NUMBER, - "phoron" = IC_PINTYPE_NUMBER, + GAS_PHORON = IC_PINTYPE_NUMBER, "other" = IC_PINTYPE_NUMBER ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) @@ -762,10 +762,10 @@ var/total_moles = environment.total_moles if (total_moles) - var/o2_level = environment.gas["oxygen"]/total_moles - var/n2_level = environment.gas["nitrogen"]/total_moles - var/co2_level = environment.gas["carbon_dioxide"]/total_moles - var/phoron_level = environment.gas["phoron"]/total_moles + var/o2_level = environment.gas[GAS_O2]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) set_pin_data(IC_OUTPUT, 1, pressure) set_pin_data(IC_OUTPUT, 2, round(environment.temperature-T0C,0.1)) @@ -851,7 +851,7 @@ complexity = 3 inputs = list() outputs = list( - "oxygen" = IC_PINTYPE_NUMBER + GAS_O2 = IC_PINTYPE_NUMBER ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH @@ -867,7 +867,7 @@ var/total_moles = environment.total_moles if (total_moles) - var/o2_level = environment.gas["oxygen"]/total_moles + var/o2_level = environment.gas[GAS_O2]/total_moles set_pin_data(IC_OUTPUT, 1, round(o2_level*100,0.1)) else set_pin_data(IC_OUTPUT, 1, 0) @@ -897,7 +897,7 @@ var/total_moles = environment.total_moles if (total_moles) - var/co2_level = environment.gas["carbon_dioxide"]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles set_pin_data(IC_OUTPUT, 1, round(co2_level*100,0.1)) else set_pin_data(IC_OUTPUT, 1, 0) @@ -911,7 +911,7 @@ complexity = 3 inputs = list() outputs = list( - "nitrogen" = IC_PINTYPE_NUMBER + GAS_N2 = IC_PINTYPE_NUMBER ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH @@ -927,7 +927,7 @@ var/total_moles = environment.total_moles if (total_moles) - var/n2_level = environment.gas["nitrogen"]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles set_pin_data(IC_OUTPUT, 1, round(n2_level*100,0.1)) else set_pin_data(IC_OUTPUT, 1, 0) @@ -941,7 +941,7 @@ complexity = 3 inputs = list() outputs = list( - "phoron" = IC_PINTYPE_NUMBER + GAS_PHORON = IC_PINTYPE_NUMBER ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH @@ -957,7 +957,7 @@ var/total_moles = environment.total_moles if (total_moles) - var/phoron_level = environment.gas["phoron"]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles set_pin_data(IC_OUTPUT, 1, round(phoron_level*100,0.1)) else set_pin_data(IC_OUTPUT, 1, 0) diff --git a/code/modules/library/hardcode_library/fiction/PortedBooks.dm b/code/modules/library/hardcode_library/fiction/PortedBooks.dm index 0bc2ef9846..c52a4dfde9 100644 --- a/code/modules/library/hardcode_library/fiction/PortedBooks.dm +++ b/code/modules/library/hardcode_library/fiction/PortedBooks.dm @@ -46,39 +46,39 @@ Category: Fiction

    - Once upon a time there was a cat, but he wasn�t the kind of cat you�re thinking of. He was from the land of the fairies and his fur was completely unexpected colors. For starters, his nose was violet. His eyes were indigo, his ears were sky blue, his front paws were green, his body was yellow, his back paws were orange, and his tail was red. So he was a mysterious cat of seven colors arranged just like a rainbow. + Once upon a time there was a cat, but he wasn't the kind of cat you're thinking of. He was from the land of the fairies and his fur was completely unexpected colors. For starters, his nose was violet. His eyes were indigo, his ears were sky blue, his front paws were green, his body was yellow, his back paws were orange, and his tail was red. So he was a mysterious cat of seven colors arranged just like a rainbow.

    That rainbow cat went on all sorts of strange adventures. The following story is one of them.

    One day while the rainbow cat was sunbathing, he was suddenly vexed by boredom. That is to say, peace reigned in the land of the fairies, so nothing much was going on.

    - It�s not good for my health to spend all my time idling about as if I haven�t got a care in the world, he thought. Perhaps I should head out and go on an adventure. + It's not good for my health to spend all my time idling about as if I haven't got a care in the world, he thought. Perhaps I should head out and go on an adventure.

    So he put a note up on his door: "Dear Mr. Post Man, I will be gone for two or three days, so if any packages or letters come, please throw them down the chimney."

    Then he packed a small bag, hung it on his tail, and wobbled off to the border of the land of the fairies. When he arrived, a thick cloud billowed up.

    - "Well, maybe I�ll drop by the cloud people�s place," he chattered to himself, climbing up the cloud embankment. + "Well, maybe I'll drop by the cloud people's place," he chattered to himself, climbing up the cloud embankment.

    - The people who lived in cloud country were quite pleasant folks. They didn�t do any work, in particular, but just because they were lazy didn�t mean that they didn�t find the world interesting. They all lived in splendid palaces, of which the ones you couldn�t see from Earth were far more beautiful than the ones you could. + The people who lived in cloud country were quite pleasant folks. They didn't do any work, in particular, but just because they were lazy didn't mean that they didn't find the world interesting. They all lived in splendid palaces, of which the ones you couldn't see from Earth were far more beautiful than the ones you could.

    - The people of the cloud country sometimes drove pearly gray carriages or went sailing in lightweight boats. They lived in the sky, so the only person they had to fear was Sir Thunder. It�s quite understandable given that he was quick to anger -- he would make the sky rumble with his stomping and go around knocking down their houses. + The people of the cloud country sometimes drove pearly gray carriages or went sailing in lightweight boats. They lived in the sky, so the only person they had to fear was Sir Thunder. It's quite understandable given that he was quick to anger -- he would make the sky rumble with his stomping and go around knocking down their houses.

    The people of the cloud country were very happy to have the rainbow cat visit and greeted him politely.

    - "You�ve come at a great time," they said. "We�re having a big celebration at the Wind God�s house. His eldest son, North Wind is taking the daughter of the King of the Magic Isle as his wife." + "You've come at a great time," they said. "We're having a big celebration at the Wind God's house. His eldest son, North Wind is taking the daughter of the King of the Magic Isle as his wife."

    The rainbow cat, having thought just such a thing might happen, was prepared with various goods in the bag on his tail.

    It was a truly magnificent wedding.

    - Everyone came. Even Comet showed up. You wouldn�t see Comet unless it was a very fine banquet indeed. + Everyone came. Even Comet showed up. You wouldn't see Comet unless it was a very fine banquet indeed.

    - And Aurora came in the most indescribably beautiful garments of light. Of course, the bride�s parents, the King of Magic Isle and his Pearl Oyster Queen, were in attendance. + And Aurora came in the most indescribably beautiful garments of light. Of course, the bride's parents, the King of Magic Isle and his Pearl Oyster Queen, were in attendance.

    - A feast was served and everyone was in a lively mood, having interesting conversations and drinking, when all of the sudden a swallow flew in. According to him, the giant Sir Thunder was rushing towards them at a tremendous speed. Apparently, when Trade Wind was hurrying by, he had tripped over sleeping Sir Thunder�s toes and Sir Thunder was furious. + A feast was served and everyone was in a lively mood, having interesting conversations and drinking, when all of the sudden a swallow flew in. According to him, the giant Sir Thunder was rushing towards them at a tremendous speed. Apparently, when Trade Wind was hurrying by, he had tripped over sleeping Sir Thunder's toes and Sir Thunder was furious.

    - "What�ll we do?" everyone wondered at once, their faces pale. "The celebration will be ruined!" + "What'll we do?" everyone wondered at once, their faces pale. "The celebration will be ruined!"

    All the guests and the master of the house began to scatter in a panic.

    @@ -88,9 +88,9 @@ Category: Fiction

    A moment later, he came back out.

    - "I�ll find a way to keep Sir Thunder from coming here," said the cat. "So please continue the celebration as you were. I�ll go to him and see what I can do." + "I'll find a way to keep Sir Thunder from coming here," said the cat. "So please continue the celebration as you were. I'll go to him and see what I can do."

    - Everyone was surprised at how brave and composed the rainbow cat was, but it sounded like their celebration wouldn�t be intruded upon partway through, so they were happy to gather and see off the cat as he raced towards the far-off rumblings of Sir Thunder. + Everyone was surprised at how brave and composed the rainbow cat was, but it sounded like their celebration wouldn't be intruded upon partway through, so they were happy to gather and see off the cat as he raced towards the far-off rumblings of Sir Thunder.

    @@ -111,21 +111,21 @@ Category: Fiction

    "Hey, who are you and what are you doing here?" he shouted.

    - "Me? I�m the famed magician Mewpuu," replied the rainbow cat in a voice made to sound serious and important. "Take a look at my bag, here. There are magic seeds inside. Mr. Thunder, I�ve known about you for a while now. You�re quite famous." + "Me? I'm the famed magician Mewpuu," replied the rainbow cat in a voice made to sound serious and important. "Take a look at my bag, here. There are magic seeds inside. Mr. Thunder, I've known about you for a while now. You're quite famous."

    Hearing this Sir Thunder felt a bit proud, but his foot was sore, so he was soon angry again.

    - "Hrmph! I don�t think too highly of magicians. What can you do, anyways?" + "Hrmph! I don't think too highly of magicians. What can you do, anyways?"

    "I can read your mind."

    - "Oh? Is that so? Then try to guess what I�m thinking right now." + "Oh? Is that so? Then try to guess what I'm thinking right now."

    - "A simple matter. You�re angry because your foot hurts and you want to catch the fellow who kicked your blister, right?" + "A simple matter. You're angry because your foot hurts and you want to catch the fellow who kicked your blister, right?"

    The rainbow cat had heard all that from the swallow. Sir Thunder was flabbergasted.

    - "Wow, that�s right. Will you teach me your magic?" + "Wow, that's right. Will you teach me your magic?"

    "Sure I will. But first I must test your potential. Have a seat."

    @@ -133,35 +133,35 @@ Category: Fiction

    "Now then, try to tell me what I am thinking right now," said the cat.

    - Sir Thunder the giant looked blankly at the cat�s face. He was not very bright. + Sir Thunder the giant looked blankly at the cat's face. He was not very bright.

    "You must be thinking that I look pretty foolish sitting here."

    "Excellent. Astonishing! You have more than enough talent to begin the training. You may be my brightest disciple yet."

    - "Then maybe I�ll try one more time." Sir Thunder now thought himself terribly sharp. + "Then maybe I'll try one more time." Sir Thunder now thought himself terribly sharp.

    - "Very well. Try to guess what I�m thinking." + "Very well. Try to guess what I'm thinking."

    - Sir Thunder tried to look wise and peered at the cat�s face with his small, goofy eyes. + Sir Thunder tried to look wise and peered at the cat's face with his small, goofy eyes.

    "Beef steak and onions," he announced abruptly.

    - "Brilliant!" the cat feigned surprise and purposely lost his footing to land on his rump. "You�re exactly right. But how did you know?" + "Brilliant!" the cat feigned surprise and purposely lost his footing to land on his rump. "You're exactly right. But how did you know?"

    "Oh, how do you say...? I guess it just came to me," replied Sir Thunder.

    The cat assumed a serious air. "We must cultivate that fine talent of yours!"

    - "How do we cultivate it?" asked Sir Thunder. He thought being able to read people�s minds was quite fun. + "How do we cultivate it?" asked Sir Thunder. He thought being able to read people's minds was quite fun.

    - "It�s a cinch," said the cat, finally telling a blatant lie now that he thought he had the giant where he wanted him. "Go home and sleep for two or three hours. Then have some cake and sleep another two or three hours. Then, when you wake up, drink one cup of hot tea. But you have to be as still as possible or it won�t work. If you do all that, by tomorrow morning you�ll be reading people�s minds like it�s nothing." + "It's a cinch," said the cat, finally telling a blatant lie now that he thought he had the giant where he wanted him. "Go home and sleep for two or three hours. Then have some cake and sleep another two or three hours. Then, when you wake up, drink one cup of hot tea. But you have to be as still as possible or it won't work. If you do all that, by tomorrow morning you'll be reading people's minds like it's nothing."

    - Sir Thunder wanted to go running straight home, but of course, he couldn�t forget his manners. "Thanks a lot. But Master Mewpuu, what can I offer you in return for teaching me this?" + Sir Thunder wanted to go running straight home, but of course, he couldn't forget his manners. "Thanks a lot. But Master Mewpuu, what can I offer you in return for teaching me this?"

    - The rainbow cat thought a moment and said, "I�d like a tiny bit of lightning. Please give me just a smidge." + The rainbow cat thought a moment and said, "I'd like a tiny bit of lightning. Please give me just a smidge."

    - Sir Thunder the giant put his hand in his pocket and said, "No problem. If that�s all, I have a bundle of it right here, so please take this. When you need it, just undo the string and the lightning will come out in a most amusing way." + Sir Thunder the giant put his hand in his pocket and said, "No problem. If that's all, I have a bundle of it right here, so please take this. When you need it, just undo the string and the lightning will come out in a most amusing way."

    "Thank you very much."

    @@ -285,7 +285,7 @@ Category: Fiction Those that I fight I do not hate
    Those that I guard I do not love;
    My country is Kiltartan Cross,
    - My countrymen Kiltartan�s poor,
    + My countrymen Kiltartan's poor,
    No likely end could bring them loss
    Or leave them happier than before.
    Nor law, nor duty bade me fight,
    @@ -417,7 +417,7 @@ Category: Fiction Gas! GAS! Quick, boys! -- An ecstasy of fumbling
    Fitting the clumsy helmets just in time,
    But someone still was yelling out and stumbling
    - And flound�ring like a man in fire or lime.--
    + And flound'ring like a man in fire or lime.--
    Dim through the misty panes and thick green light,
    As under a green sea, I saw him drowning.

    In all my dreams before my helpless sight,
    @@ -425,7 +425,7 @@ Category: Fiction If in some smothering dreams, you too could pace
    Behind the wagon that we flung him in,
    And watch the white eyes writhing in his face,
    - His hanging face, like a devil�s sick of sin;
    + His hanging face, like a devil's sick of sin;
    If you could hear, at every jolt, the blood
    Come gargling from the froth-corrupted lungs,
    Obscene as cancer, bitter as the cud
    @@ -612,13 +612,13 @@ Category: Fiction
    - "I wonder where they might be taking shelter from the storm. There is no where else to go in this wide, wide ocean. They must have sunk...��

    + "I wonder where they might be taking shelter from the storm. There is no where else to go in this wide, wide ocean. They must have sunk..."

    The first fisherman had started to worry as the stormy night turned to complete darkness. Whenever he looked out, the waves of the ocean were winding into the skies above. He could see no sign of a boat. The first fisherman had been abandoned on the small, deserted island. He stood on the rocks of the shore and waited a full day for his friends to return. But perhaps because the winds from yesterday had made the ocean rough, the sun that day went down without any sign of the boat he had been waiting for.

    Three days passed. The first fisherman had started to grow weak. Finally, after standing on the beach looking intently out over the ocean for three days, the boat carrying his friends cut through the waves and sailed towards the beach. It felt like a thousand years since he had seen them last. He could see that the second fisherman and the third fisherman were fine and moving about on the boat.

    "Hey!" the first fisherman called out over the water, raising both of his hands high in the air. When he did, it looked like they too had thrown their hands in the air and called back. Only he couldn't hear their voices. Just then as the setting sun illuminated the tips of the waves, the two fishermen on the boat came into sight, red in the face.

    "Ahh, here's a sight for sore eyes, my two friends! They made it back alive," said the first fisherman, warm tears of joy swelling in his eyes. Before long the boat was nearly on the sand.

    "Hey!" the first fisherman called out, his hand in the air. He thought the other to fishermen would respond, but just as the pair were about to turn to the side and bring their boat in, they disappeared like a puff of smoke. The first fisherman was shocked.

    - "A ghost ship!� + "A ghost ship!"

    III
    @@ -634,8 +634,8 @@ Category: Fiction
    The first fisherman lost all hope, threw himself down on the sand and began to cry. His imagination was running wild, and his nightmares ran through the night. When he awoke the next morning his eyes were blood-shot and his heart was pounding. It was just past midday. The first fisherman raised his head and looked out over the sea only to spot the same boat in the distance. But it was the same as yesterday, a ghost ship, that had come to the island. For a moment he was relieved, and happiness danced in his chest, but in the next instant his body shook with fear.

    - "Damn it. Are they trying to kill me?� said the first fisherman, as he started to lose his mind. The boat cut through the waves and came in closer and closer to the island. The first fisherman pulled out his pistol, aimed at the boat and pulled the trigger. But this time the boat wasn't a ghost, and it didn't disappear. Once the boat was docked at the beach, the two other fishermen scrambled up onto land.

    - "Have you gone completely mad?�� yelled one, which was enough to snap the first fisherman back to reality.

    + "Damn it. Are they trying to kill me?" said the first fisherman, as he started to lose his mind. The boat cut through the waves and came in closer and closer to the island. The first fisherman pulled out his pistol, aimed at the boat and pulled the trigger. But this time the boat wasn't a ghost, and it didn't disappear. Once the boat was docked at the beach, the two other fishermen scrambled up onto land.

    + "Have you gone completely mad?" yelled one, which was enough to snap the first fisherman back to reality.

    The first fisherman had gone completely mad. That night the winds had caused the boat to be pushed back against a nearby island. Once the waves had died down, the two fishermen went back to the island to rescue their friend. The two fishermen got their crazy friend back on the boat and returned to the mainland. The pair cared for their weakened friend, and through their care he was able to lose his madness and returned to how he used to be. And from there the three friends went on to be even better friends for a very long time. This story is still told in the harbors to the north where the head of that deserted island still pokes up from between those blue black waves.

    IV
    diff --git a/code/modules/library/hardcode_library/fiction/battlefieldcommander.dm b/code/modules/library/hardcode_library/fiction/battlefieldcommander.dm index 1a4716f36f..b9953697ff 100644 --- a/code/modules/library/hardcode_library/fiction/battlefieldcommander.dm +++ b/code/modules/library/hardcode_library/fiction/battlefieldcommander.dm @@ -83,14 +83,14 @@ CATEGORY: Fiction -
    In the land of Margata, nothing is ever as it seems. There have been many verifiable cases of local bakers having a secret double life as DJs. The correlation between exposure to bread and wanting to scratch out some sick beats has never been quantified, quite possibly to science being illegal in the region. That didn't happen to be the case of a young boy named Gadroc, who was neither a baker nor a DJ. In fact, his story happens to have nothing to do with either of the two. Poor Gadroc was afflicted with a terrible curse. It had been that way ever since he was born, because a witch had cursed his mother for saying "Keep the change," when there was only one cent of change left. Gadroc�s curse was horrible, one that no human being should suffer through: he couldn�t look at butts. Whenever someone showed him a full moon, he transformed into a horrible beast with astoundingly fresh breath. Whenever this happened, he would always run to the nearest cornfield and begin uncontrollably eating corn. Why corn? Because magic, that�s why. That's just how it fucking works. Don't you know anything?
    -
    After coming home with corn stuck in his teeth for three days straight, and only having one more pair of pants that weren�t destroyed, Gadroc knew that he needed to do something about his curse. He went to the first person he could think of for help.
    -
    Carne was the town�s blacksmith. He wasn�t very wise, but he always spoke as though he was. It was for this reason that Gadroc often came to Carne for help, despite the fact that he could probably go to basically anyone else. The town beggar, who was constantly sitting in a puddle of his own pee, gave better advice than the blacksmith. Carne was the only one who knew about Gadroc�s affliction. No one else knew who was ravaging the town�s corn population, and riots had already broken out over the severe deficit in cornbread supply.
    +
    In the land of Margata, nothing is ever as it seems. There have been many verifiable cases of local bakers having a secret double life as DJs. The correlation between exposure to bread and wanting to scratch out some sick beats has never been quantified, quite possibly to science being illegal in the region. That didn't happen to be the case of a young boy named Gadroc, who was neither a baker nor a DJ. In fact, his story happens to have nothing to do with either of the two. Poor Gadroc was afflicted with a terrible curse. It had been that way ever since he was born, because a witch had cursed his mother for saying "Keep the change," when there was only one cent of change left. Gadroc's curse was horrible, one that no human being should suffer through: he couldn't look at butts. Whenever someone showed him a full moon, he transformed into a horrible beast with astoundingly fresh breath. Whenever this happened, he would always run to the nearest cornfield and begin uncontrollably eating corn. Why corn? Because magic, that's why. That's just how it fucking works. Don't you know anything?
    +
    After coming home with corn stuck in his teeth for three days straight, and only having one more pair of pants that weren't destroyed, Gadroc knew that he needed to do something about his curse. He went to the first person he could think of for help.
    +
    Carne was the town's blacksmith. He wasn't very wise, but he always spoke as though he was. It was for this reason that Gadroc often came to Carne for help, despite the fact that he could probably go to basically anyone else. The town beggar, who was constantly sitting in a puddle of his own pee, gave better advice than the blacksmith. Carne was the only one who knew about Gadroc's affliction. No one else knew who was ravaging the town's corn population, and riots had already broken out over the severe deficit in cornbread supply.
    "Carne, you have to help me!" Gadroc shouted as he burst through the doors of the smithy. Carne was in the middle of forging a pair of iron gauntlets, and had his back turned to Gadroc. He did not turn around.
    "Do you need my help? Or do you need my help to help yourself?" Carne said, spouting his signature wisdom.
    "Yes. No. What? Did you get that from a fortune cookie?" replied Gadroc.
    -
    "Yes, actually." Carne turned around. He was loudly crunching on some fortune cookie and inexplicably wearing the gauntlets he was working on, still glowing red hot. He held up the fortune, but Gadroc didn�t have time to read it, as it immediately caught fire and fell into a pile of ashes on the floor.
    -
    Gadroc was concerned. "Doesn�t that... you know... hurt?"
    +
    "Yes, actually." Carne turned around. He was loudly crunching on some fortune cookie and inexplicably wearing the gauntlets he was working on, still glowing red hot. He held up the fortune, but Gadroc didn't have time to read it, as it immediately caught fire and fell into a pile of ashes on the floor.
    +
    Gadroc was concerned. "Doesn't that... you know... hurt?"
    "Oh yes, extremely," Carne said with a smile. They both stared at each other for a moment.
    @@ -105,27 +105,27 @@ CATEGORY: Fiction
    "AHHHHHHHHHHHHHHHHHHHH!" screamed Carne. He flailed his arms around wildly until the gauntlets flew off. One of them flew across the room and hit a painting hanging on the wall. The painting was of our lord and president, Orcbama, and the gauntlet punched him in the face. The painting had a large scorch mark in the same place where the gauntlet had hit, indicating that this was a common occurrence.
    "Anyways," Carne said casually, hands blistered and burnt, "What do you need to help me with?"
    -
    "That�s not what I... you know what, nevermind. Listen. I am sick and tired of this stupid werewolf bullshit! Corn used to be my favorite, and now I can�t stand it! I miss the days when I enjoyed cornbread..."
    +
    "That's not what I... you know what, nevermind. Listen. I am sick and tired of this stupid werewolf bullshit! Corn used to be my favorite, and now I can't stand it! I miss the days when I enjoyed cornbread..."
    "Yeah, so do the townsfolk," the blacksmith replied.
    "That's not helpful," Gadroc said, but Carne went on.
    "I've always been more of a corn casserole kind of guy myself. Easier on the old gut. Y'know, when I was a boy-"
    "Would you shut up and listen? We need to do something about this!"
    -
    "Right... What�s the problem again?" Gadroc smacked his forehead. He pointed to his own butt.
    +
    "Right... What's the problem again?" Gadroc smacked his forehead. He pointed to his own butt.
    "Listen, son, if that's the way you're swingin', you don't have to play charades about it. Old Carne won't judge," Carne said.
    -
    "No, the werewolf problem!" Gadroc screamed. He fell to his knees, tears welling up in his eyes. He sniffed. "I just want to be able to look at butts. That�s all I want."
    -
    Carne walked up and put his gross, burnt hand on Gadroc�s shoulder. "It�s alright. I�ll help you with your problem."
    +
    "No, the werewolf problem!" Gadroc screamed. He fell to his knees, tears welling up in his eyes. He sniffed. "I just want to be able to look at butts. That's all I want."
    +
    Carne walked up and put his gross, burnt hand on Gadroc's shoulder. "It's alright. I'll help you with your problem."
    Gadroc sniffed again. "Really?"
    -
    "Yes. Even if it means I�m helping myself to help you help me-"
    -
    "Carne, you�re not helping again."
    +
    "Yes. Even if it means I'm helping myself to help you help me-"
    +
    "Carne, you're not helping again."

    -
    CUT TO: Gadroc and Carne, scaling a mountain. Both men were equipped with the finest blades from Carne�s smithy. Gadroc was feeling a little indignant, considering Carne had only given him a foam sword. Carne had taken the only finished blade in the smithy.
    -
    "You see that up there?" Carne said to Gadroc as they climbed. "That�s the ancient temple whose name is really hard to pronounce."
    +
    CUT TO: Gadroc and Carne, scaling a mountain. Both men were equipped with the finest blades from Carne's smithy. Gadroc was feeling a little indignant, considering Carne had only given him a foam sword. Carne had taken the only finished blade in the smithy.
    +
    "You see that up there?" Carne said to Gadroc as they climbed. "That's the ancient temple whose name is really hard to pronounce."
    "Really?" Gadroc asked. "What's it called?"
    -
    "I�d tell you, but it�s really hard to pronounce," explained the smith. He continued. "From what I understand, there�s a mystical artifact that can cure any curse. We�re going to use it to cure your werewolf problem."
    -
    "Why didn�t you tell me any of this on the way here? I�ve been following you up this mountain for hours with no idea of what we�re doing."
    +
    "I'd tell you, but it's really hard to pronounce," explained the smith. He continued. "From what I understand, there's a mystical artifact that can cure any curse. We're going to use it to cure your werewolf problem."
    +
    "Why didn't you tell me any of this on the way here? I've been following you up this mountain for hours with no idea of what we're doing."
    "We took that part out in post. It was a really long and not very funny bit that didn't get much of a reaction out of anyone the first time this story was read out loud. It's a little trick the boys back home call 'the Director's Cut.'"
    "Ah. That makes a lot of sense."
    -
    "Right?" The two laughed at that, looked at the camera for a moment, then back to each other. A laugh track played during this. It lasted for an uncomfortable amount of time. It was the kind of laughter that you think is about to die down, but then it kicks right back up again. There�s also that one lady who�s cackling like a hyena having a tea party with a witch. You try to unhear her, but you just keep noticing her. Why do sitcoms think laugh tracks add anything to the show? It doesn't. That shit just doesn�t sit right with me.
    +
    "Right?" The two laughed at that, looked at the camera for a moment, then back to each other. A laugh track played during this. It lasted for an uncomfortable amount of time. It was the kind of laughter that you think is about to die down, but then it kicks right back up again. There's also that one lady who's cackling like a hyena having a tea party with a witch. You try to unhear her, but you just keep noticing her. Why do sitcoms think laugh tracks add anything to the show? It doesn't. That shit just doesn't sit right with me.
    "}, @@ -139,20 +139,20 @@ CATEGORY: Fiction
    They continued to hike up the mountain. After a little while, they reached the temple. The door was guarded by two dog-men holding spears.
    "Who are these guys?" Gadroc asked.
    -
    "Let me handle this," assured Carne. "How�s it going gentlemen?" The dog-men stepped closer and crossed their spears across the door.
    -
    "Listen boys, there�s no need for the attitude," said the smith. The dog-men began to growl at him.
    -
    Carne frowned. "Hey now, that�s just rude." The dog-men responded to this by shoulder-checking Carne, knocking him to the ground. Gadroc sighed and walked up to the armored, bipedal golden retriever.
    -
    "Who�s a good boy?" Gadroc said as he began to scratch the dog behind his cutie ears. The dog-man turned his head into Gadroc�s hand and began to pant.
    -
    Gadroc continued. "You are! You�re a good boy! Oh it�s you!" The dog barked as if to say, "YES IT IS ME, I AM THE GOOD BOY." The dog-man eventually got down on all fours, stomped around in a circle a bit, and promptly fell asleep. The other guard whimpered. He had felt that he had been a good boy too, and that he deserved scratchies just as much as his partner, if not more. He conveyed this to Gadroc in a single bark. Gadroc turned to him.
    -
    "Oh I know! You�ve been a good boy too!" He pet the guard for a little bit, then pulled an ear of corn out of his pocket.
    +
    "Let me handle this," assured Carne. "How's it going gentlemen?" The dog-men stepped closer and crossed their spears across the door.
    +
    "Listen boys, there's no need for the attitude," said the smith. The dog-men began to growl at him.
    +
    Carne frowned. "Hey now, that's just rude." The dog-men responded to this by shoulder-checking Carne, knocking him to the ground. Gadroc sighed and walked up to the armored, bipedal golden retriever.
    +
    "Who's a good boy?" Gadroc said as he began to scratch the dog behind his cutie ears. The dog-man turned his head into Gadroc's hand and began to pant.
    +
    Gadroc continued. "You are! You're a good boy! Oh it's you!" The dog barked as if to say, "YES IT IS ME, I AM THE GOOD BOY." The dog-man eventually got down on all fours, stomped around in a circle a bit, and promptly fell asleep. The other guard whimpered. He had felt that he had been a good boy too, and that he deserved scratchies just as much as his partner, if not more. He conveyed this to Gadroc in a single bark. Gadroc turned to him.
    +
    "Oh I know! You've been a good boy too!" He pet the guard for a little bit, then pulled an ear of corn out of his pocket.
    "You want a treat boy?" Gadroc asked, as he held up the corn. The dog nodded violently and made a couple of attempts to nibble on the corn, but Gadroc pulled it away before he could.
    "Go get it!" shouted Gadroc as he threw the corn down the mountain. The dog guard threw his spear to the side as he bounded after the corn bouncing down the path. Certain the guard had made it out of sight, Gadroc went to help Carne up.
    "Where did you learn to deal with Canine-sapiens like that?" Carne asked.
    "Well, if you think about it, werewolves are technically part dog. Plus, I just know a good boy when I see one."
    The two stepped through the doors of the temple. At the end of the long, church-like room was a marble altar on a platform, with a set of stairs leading up to it. On the altar sat a small, simple wooden box. From above, a light fell gently on the box, giving it a soft, almost holy glow. The stained glass windows at the back of the room were arranged in such a way that they almost seemed to be pointing at the box. Many different flowers were arranged on either side of the box and at the foot of the altar.
    -
    "Call it a hunch," Carne said slowly, "but I think those flowers might be important somehow. I just get that feeling, I couldn�t tell you why."
    -
    "It�s the box that�s important, or whatever's in it," Gadroc said dryly. "The only thing that could make it more obvious is if a huge, luminescent sign dropped down with blinking arrows that read, �There�s probably a magic artifact in this box.�" Just then, a huge luminescent sign with blinking arrows that read, "There�s probably a magic artifact in this box." dropped down. Gadroc pinched the bridge of his nose.
    -
    "Do you think there might be a secret compartment in the altar? I bet that�s where the artifact is," pondered the smith.
    +
    "Call it a hunch," Carne said slowly, "but I think those flowers might be important somehow. I just get that feeling, I couldn't tell you why."
    +
    "It's the box that's important, or whatever's in it," Gadroc said dryly. "The only thing that could make it more obvious is if a huge, luminescent sign dropped down with blinking arrows that read, ‘There's probably a magic artifact in this box.'" Just then, a huge luminescent sign with blinking arrows that read, "There's probably a magic artifact in this box." dropped down. Gadroc pinched the bridge of his nose.
    +
    "Do you think there might be a secret compartment in the altar? I bet that's where the artifact is," pondered the smith.
    "}, @@ -164,20 +164,20 @@ CATEGORY: Fiction -
    "Welcome to the temple of Ivyechneyoveen Kah�al, my children," came a voice.
    -
    "Who said that?" Gadroc asked. "So that�s how it�s pronounced," mused Carne. A figure stepped out from behind a pillar. It was a robed dog-woman, an ancient St. Bernard.
    +
    "Welcome to the temple of Ivyechneyoveen Kah'al, my children," came a voice.
    +
    "Who said that?" Gadroc asked. "So that's how it's pronounced," mused Carne. A figure stepped out from behind a pillar. It was a robed dog-woman, an ancient St. Bernard.
    The dog lady spoke again. "Have you come to give your thanks to Orcville?"
    -
    "I�m sorry, who?" Gadroc asked, confused.
    +
    "I'm sorry, who?" Gadroc asked, confused.
    "Yes, Orcville Redenbacher. He blessed the world with his glorious popcorn and saved our souls."
    "Wait," interrupted Carne. "Then why is it called the temple of Itchyville Cable?"
    -
    "Ivyechneyoveen Kah�al," corrected the priestess with a polite smile.
    -
    "Yeah, that�s what I said."
    -
    "I�d be glad to enlighten you, my child. It all started when..." The priestess lengthy explanation on the history and fine points of the religion of the dog people. It didn�t make the slightest bit of sense, though Carne did have a bit of a chuckle at the part where Orcville defeated the demon lord who wouldn't stop pretending to throw a ball to go fetch and then never actually throw the ball. Gadroc nearly fell asleep on his feet. He decided not to take part in the theological discussion and turned his attention back to the box. He walked up to the altar platform and climbed the steps. Carefully he opened the two small, wooden doors on the front of the box. Words could not describe his excitement. Inside the box was...
    -
    "A hot dog?" Gadroc asked aloud. He was thoroughly baffled. Inside the box was a golden hot dog that sparkled in the light. He couldn�t tell whether or not it had ketchup, mustard, or even relish on it; it was all gold.
    +
    "Ivyechneyoveen Kah'al," corrected the priestess with a polite smile.
    +
    "Yeah, that's what I said."
    +
    "I'd be glad to enlighten you, my child. It all started when..." The priestess lengthy explanation on the history and fine points of the religion of the dog people. It didn't make the slightest bit of sense, though Carne did have a bit of a chuckle at the part where Orcville defeated the demon lord who wouldn't stop pretending to throw a ball to go fetch and then never actually throw the ball. Gadroc nearly fell asleep on his feet. He decided not to take part in the theological discussion and turned his attention back to the box. He walked up to the altar platform and climbed the steps. Carefully he opened the two small, wooden doors on the front of the box. Words could not describe his excitement. Inside the box was...
    +
    "A hot dog?" Gadroc asked aloud. He was thoroughly baffled. Inside the box was a golden hot dog that sparkled in the light. He couldn't tell whether or not it had ketchup, mustard, or even relish on it; it was all gold.
    "What are you doing with our sacred artifact?" shouted the dog priestess. Gadroc jumped, startled. He was too busy thinking about what gold tasted like.
    "Uh... I need it... for... a friend," Gadroc lied, incredibly convincingly.
    -
    "You�d better not eat that because that�s totally not how a magic artifact shaped like a hot dog would work!" screeched the priestess.
    -
    Gadroc looked again at the supposed cure to all his problems. It was right there in his hands! "You�re not my mom!" he shouted, and promptly shoved the entire hot dog in his mouth and made a break for the door. Carne seemed impressed.
    +
    "You'd better not eat that because that's totally not how a magic artifact shaped like a hot dog would work!" screeched the priestess.
    +
    Gadroc looked again at the supposed cure to all his problems. It was right there in his hands! "You're not my mom!" he shouted, and promptly shoved the entire hot dog in his mouth and made a break for the door. Carne seemed impressed.
    "Damn," he said. "Wish I could run that fast after stuffing an entire hot dog in my mouth. Last time I did that I got a hernia." He turned to the dog priestess.
    "So, uh... wanna go grab some popcorn later?" The priestess slapped him across the face. "Right. I'll get goin', then. Sorry about the hot dog. We'll make you a new one." Carne began to head in Gadroc's direction.
    @@ -192,12 +192,12 @@ CATEGORY: Fiction -
    "Gadroc, where are you?" Carne shouted. "You can come out now, she didn�t follow us." Gadroc looked around and slowly stepped out from behind a tree that didn't even come close to consealing him whatsoever.
    -
    "I... I don�t know if it worked, Carne," the boy said nervously.
    -
    "Here," said the smith. He handed Gadroc a small, folded up piece of paper. Almost the exact moment Gadroc�s fingers touched it, Carne leapt like an orc-lympic death hurdle sprinter and combat rolled to take cover behind a nearby fallen tree. Gadroc unfolded the paper, hands trembling. On it was a pin up of a real buff orc dude. His shirtless body was ripped and glistening with sweat. He held a wrench and his jeans were not tight around his waist. Another shot showed him crouched down in front of a sink, which was confusing because plumbing was not very popular yet. The orc�s loose jeans were sagging down his pants, and they revealed the glowing, firm cheeks of his fine behind. A single tear rolled down Gadroc�s face.
    +
    "Gadroc, where are you?" Carne shouted. "You can come out now, she didn't follow us." Gadroc looked around and slowly stepped out from behind a tree that didn't even come close to consealing him whatsoever.
    +
    "I... I don't know if it worked, Carne," the boy said nervously.
    +
    "Here," said the smith. He handed Gadroc a small, folded up piece of paper. Almost the exact moment Gadroc's fingers touched it, Carne leapt like an orc-lympic death hurdle sprinter and combat rolled to take cover behind a nearby fallen tree. Gadroc unfolded the paper, hands trembling. On it was a pin up of a real buff orc dude. His shirtless body was ripped and glistening with sweat. He held a wrench and his jeans were not tight around his waist. Another shot showed him crouched down in front of a sink, which was confusing because plumbing was not very popular yet. The orc's loose jeans were sagging down his pants, and they revealed the glowing, firm cheeks of his fine behind. A single tear rolled down Gadroc's face.
    "Carne," he sniffed. "It worked." Carne came out from behind the log and wiped the sweat from his brow with a "Phew!"
    -
    "It�s beautiful, Carne," Gadroc went on.
    -
    "Keep it, kid," the blacksmith said with a smile. "You need it more than I do. Let�s go home."
    +
    "It's beautiful, Carne," Gadroc went on.
    +
    "Keep it, kid," the blacksmith said with a smile. "You need it more than I do. Let's go home."
    Gadroc had gold poop for a week.


    diff --git a/code/modules/library/hardcode_library/reference/Schnayy.dm b/code/modules/library/hardcode_library/reference/Schnayy.dm index d3edc453fc..43a758bcf5 100644 --- a/code/modules/library/hardcode_library/reference/Schnayy.dm +++ b/code/modules/library/hardcode_library/reference/Schnayy.dm @@ -49,7 +49,7 @@ CATEGORY: Reference
    Phoron research and study is a vital subject of research -- it has been a pillar of humanity's progress, a staple of the technology that has shaped our society. To work on expanding our knowledge and shape our future in the cosmos is a noble cause, but it should be done with caution.

    - This is not to speak on safety in your lab, but the consequences of action. Many times has man created the unthinkable, and many times we have not been prepared for such discoveries. We should not censor ourselves from advancement, but we should shape the world to be ready for what comes with it � and know that it is an invariable consequence there will be those who seek to abuse it. + This is not to speak on safety in your lab, but the consequences of action. Many times has man created the unthinkable, and many times we have not been prepared for such discoveries. We should not censor ourselves from advancement, but we should shape the world to be ready for what comes with it - and know that it is an invariable consequence there will be those who seek to abuse it.

    You cannot take back what you give to the world. diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 45598b0126..e224dc3c4c 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -318,16 +318,16 @@ Book Cart End var/obj/item/W = pages[page] // first if(page == 1) - dat+= "" - dat+= "

    " + dat+= "" + dat+= "

    " // last else if(page == pages.len) - dat+= "" - dat+= "

    " + dat+= "" + dat+= "

    " // middle pages else - dat+= "" - dat+= "

    " + dat+= "" + dat+= "

    " if(istype(pages[page], /obj/item/paper)) var/obj/item/paper/P = W if(!(istype(usr, /mob/living/carbon/human) || isobserver(usr) || istype(usr, /mob/living/silicon))) diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 06edbb0331..c9bc2e8ded 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -38,10 +38,10 @@ switch(screenstate) if(0) dat += {"

    Search Settings


    - Filter by Title: [title]
    - Filter by Category: [category]
    - Filter by Author: [author]
    - \[Start Search\]
    "} + Filter by Title: [title]
    + Filter by Category: [category]
    + Filter by Author: [author]
    + \[Start Search\]
    "} if(1) establish_db_connection() if(!dbcon_old.IsConnected()) @@ -62,7 +62,7 @@ var/id = query.item[4] dat += "[author][title][category][id]" dat += "
    " - dat += "\[Go Back\]
    " + dat += "\[Go Back\]
    " user << browse(dat, "window=publiclibrary") onclose(user, "publiclibrary") @@ -174,15 +174,15 @@ switch(screenstate) if(0) // Main Menu //VOREStation Edit start - dat += {"1. View General Inventory
    - 2. View Checked Out Inventory
    - 3. Check out a Book
    - 4. Connect to Internal Archive
    - 5. Upload New Title to Archive
    - 6. Print a Bible
    - 8. Access External Archive
    "} //VOREStation Edit end + dat += {"1. View General Inventory
    + 2. View Checked Out Inventory
    + 3. Check out a Book
    + 4. Connect to Internal Archive
    + 5. Upload New Title to Archive
    + 6. Print a Bible
    + 8. Access External Archive
    "} //VOREStation Edit end if(src.emagged) - dat += "7. Access the Forbidden Lore Vault
    " + dat += "7. Access the Forbidden Lore Vault
    " if(src.arcanecheckout) new /obj/item/book/tome(src.loc) var/datum/gender/T = gender_datums[user.get_visible_gender()] @@ -193,8 +193,8 @@ // Inventory dat += "

    Inventory


    " for(var/obj/item/book/b in inventory) - dat += "[b.name] (Delete)
    " - dat += "(Return to main menu)
    " + dat += "[b.name] (Delete)
    " + dat += "(Return to main menu)
    " if(2) // Checked Out dat += "

    Checked Out Books


    " @@ -211,27 +211,27 @@ else timedue = round(timedue) dat += {"\"[b.bookname]\", Checked out to: [b.mobname]
    --- Taken: [timetaken] minutes ago, Due: in [timedue] minutes
    - (Check In)

    "} - dat += "(Return to main menu)
    " + (Check In)

    "} + dat += "(Return to main menu)
    " if(3) // Check Out a Book dat += {"

    Check Out a Book


    Book: [src.buffer_book] - \[Edit\]
    + \[Edit\]
    Recipient: [src.buffer_mob] - \[Edit\]
    + \[Edit\]
    Checkout Date : [world.time/600]
    Due Date: [(world.time + checkoutperiod)/600]
    - (Checkout Period: [checkoutperiod] minutes) (+/-) - (Commit Entry)
    - (Return to main menu)
    "} + (Checkout Period: [checkoutperiod] minutes) (+/-) + (Commit Entry)
    + (Return to main menu)
    "} if(4) dat += "

    Internal Archive

    " if(!all_books || !all_books.len) dat += span_red(span_bold("ERROR") + " Something has gone seriously wrong. Contact System Administrator for more information.") else dat += {" - "} for(var/name in all_books) var/obj/item/book/masterbook = all_books[name] @@ -239,9 +239,9 @@ var/author = masterbook.author var/title = masterbook.name var/category = masterbook.libcategory - dat += "" + dat += "" dat += "
    TITLEAUTHORCATEGORY
    [author][title][category]\[Order\]
    [author][title][category]\[Order\]
    " - dat += "
    (Return to main menu)
    " + dat += "
    (Return to main menu)
    " if(5) //dat += "

    ERROR

    " //VOREStation Removal //dat+= span_red("Library Database is in Secure Management Mode.") + "
    \ //VOREStation Removal @@ -261,16 +261,16 @@ Title: [scanner.cache.name]
    "} if(!scanner.cache.author) scanner.cache.author = "Anonymous" - dat += {"Author: [scanner.cache.author]
    - Category: [upload_category]
    - \[Upload\]
    "} + dat += {"Author: [scanner.cache.author]
    + Category: [upload_category]
    + \[Upload\]
    "} //VOREStation Edit End - dat += "(Return to main menu)
    " + dat += "(Return to main menu)
    " if(7) dat += {"

    Accessing Forbidden Lore Vault v 1.3

    Are you absolutely sure you want to proceed? EldritchTomes Inc. takes no responsibilities for loss of sanity resulting from this action.

    - Yes.
    - No.
    "} + Yes.
    + No.
    "} if(8) dat += "

    External Archive

    " //VOREStation Edit establish_db_connection() @@ -280,9 +280,9 @@ if(!dbcon_old.IsConnected()) dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.") else - dat += {"(Order book by SS13BN)

    + dat += {"(Order book by SS13BN)

    - "} var/DBQuery/query = dbcon_old.NewQuery("SELECT id, author, title, category FROM library ORDER BY [sortby]") query.Execute() @@ -293,14 +293,14 @@ var/author = query.item[2] var/title = query.item[3] var/category = query.item[4] - dat += "" dat += "
    TITLEAUTHORCATEGORY
    [author][title][category]\[Order\]" + dat += "
    [author][title][category]\[Order\]" if(show_admin_options) // This isn't the only check, since you can just href-spoof press this button. Just to tidy things up. - dat += "\[Del\]" + dat += "\[Del\]" dat += "
    " - dat += "
    (Return to main menu)
    " + dat += "
    (Return to main menu)
    " - //dat += "Close

    " + //dat += "Close

    " user << browse(dat, "window=library") onclose(user, "library") @@ -321,9 +321,9 @@ if(!dbcon_old.IsConnected()) dat += span_red(span_bold("ERROR") + ": Unable to contact External Archive. Please contact your system administrator for assistance.") else - dat += {"(Order book by SS13BN)

    + dat += {"(Order book by SS13BN)

    - "} var/DBQuery/query = dbcon_old.NewQuery("SELECT id, author, title, category FROM library ORDER BY [sortby]") query.Execute() @@ -332,10 +332,10 @@ var/author = query.item[2] var/title = query.item[3] var/category = query.item[4] - dat += "" dat += "
    TITLEAUTHORCATEGORY
    [author][title][category]\[Del\]" + dat += "
    [author][title][category]\[Del\]" dat += "
    " - dat += "
    (Return to main menu)
    " + dat += "
    (Return to main menu)
    " user << browse(dat, "window=library") onclose(user, "library") @@ -539,9 +539,9 @@ dat += span_darkgray("Data stored in memory.") + "
    " else dat += "No data stored in memory.
    " - dat += "\[Scan\]" + dat += "\[Scan\]" if(cache) - dat += " \[Clear Memory\]

    \[Remove Book\]" + dat += " \[Clear Memory\]

    \[Remove Book\]" else dat += "
    " user << browse(dat, "window=scanner") diff --git a/code/modules/lore_codex/codex_tree.dm b/code/modules/lore_codex/codex_tree.dm index c6c00643f8..9c49b6ecf0 100644 --- a/code/modules/lore_codex/codex_tree.dm +++ b/code/modules/lore_codex/codex_tree.dm @@ -73,7 +73,7 @@ var/output = "" output = span_bold("[checked.name]") while(checked.parent) - output = "[checked.parent.name] \> [output]" + output = "[checked.parent.name] \> [output]" checked = checked.parent return output @@ -129,16 +129,16 @@ dat += "
    " var/datum/lore/codex/category/C = D for(var/datum/lore/codex/child in C.children) - dat += "[child.name]" + dat += "[child.name]" dat += "
    " dat += "
    " var/list/H = history["[user]"] if(LAZYLEN(H)) - dat += "
    \[Go Back\]" + dat += "
    \[Go Back\]" if(D.parent) - dat += "
    \[Go Up\]" + dat += "
    \[Go Up\]" if(D != home) - dat += "
    \[Go To Home\]" + dat += "
    \[Go To Home\]" dat += "" user << browse(dat, "window=the_empress_protects;size=600x550") onclose(user, "the_empress_protects", src) diff --git a/code/modules/lore_codex/lore_data/important_locations.dm b/code/modules/lore_codex/lore_data/important_locations.dm index aebe6e8175..fdb49c2dc7 100644 --- a/code/modules/lore_codex/lore_data/important_locations.dm +++ b/code/modules/lore_codex/lore_data/important_locations.dm @@ -42,13 +42,13 @@ name = "Firnir (Terrestrial Planet)" keywords += list("Firnir") data = "Firnir is the first planet of Vir, tidally locked to it, and having temperatures in excess of 570 degrees \ - kelvin (299C) on the day side has caused this planet to go mostly ignored." + kelvin (299°C) on the day side has caused this planet to go mostly ignored." /datum/lore/codex/page/tyr/add_content() name = "Tyr (Terrestrial Planet)" keywords += list("Tyr") data = "The second closest planet to [quick_link("Vir")], this planet has a high concentration of minerals inside its crust, as well as active volcanism and plate tectonics. \ - The temperature on the surface can reach up to 405 degrees kelvin (132C), which has deterred most people from the planet, except for two [quick_link("TSC", "TSCs")], \ + The temperature on the surface can reach up to 405 degrees kelvin (132°C), which has deterred most people from the planet, except for two [quick_link("TSC", "TSCs")], \ Greyson Manufactories and [quick_link("Xion Manufacturing Group")]. In orbit, the two companies each have a space station, used to coordinate and \ control their stations on the surface without having to suffer the intense heat. Xion's station also doubles as a control and oversight facility for their \ [quick_link("drones","autonomous mining drones")].\ @@ -98,7 +98,7 @@ /datum/lore/codex/page/magni/add_content() name = "Magni (Terrestrial Planet)" keywords += list("Magni") - data = "Outside of the habitable zone, the barren world Magni is generally at 202 kelvin (-71C)." + data = "Outside of the habitable zone, the barren world Magni is generally at 202 kelvin (-71°C)." /datum/lore/codex/page/kara/add_content() name = "Kara (Gas Giant)" @@ -107,7 +107,7 @@ to be the remnants of a much larger moon that was ripped apart by Kara, long ago. Curerntly, a large number of these \ asteroids are being used by many different businesses, and some governmental infrastructure has been built. The most prominent \ asteroid installation is the [quick_link("Northern Star", "NCS Northern Star")], a general purpose colony owned and operated by \ - [quick_link("NanoTrasen")]. The mid-atmospheric temperature of the gas giant averages to around 150 kelvin (-108C)." + [quick_link("NanoTrasen")]. The mid-atmospheric temperature of the gas giant averages to around 150 kelvin (-108°C)." /datum/lore/codex/page/northern_star/add_content() name = "Northern Star (Artificial Satellite)" @@ -126,4 +126,4 @@ /datum/lore/codex/page/rota/add_content() name = "Rota (Gas Giant)" keywords += list("Rota") - data = "An ice giant, with a beautiful ring system circling it. The average temperature for it is 165 kelvin (-157C)." \ No newline at end of file + data = "An ice giant, with a beautiful ring system circling it. The average temperature for it is 165 kelvin (-157°C)." diff --git a/code/modules/lore_codex/lore_data/species.dm b/code/modules/lore_codex/lore_data/species.dm index 0ce44f016b..c24453a112 100644 --- a/code/modules/lore_codex/lore_data/species.dm +++ b/code/modules/lore_codex/lore_data/species.dm @@ -132,12 +132,12 @@ name = "Promethean" keywords += list("slime", "promethean") data = "Prometheans are an artificial species created by the Humans sometime in the 2540s, aboard the NRS Prometheus, while experimenting with \ - the Aetolian giant slime, or Macrolimus vulgaris. They themselves are considered sapient beings and given protection under prior Human legislation, \ - though often only appear to serve as aides or inferior positions when kept as staff. Aetolus, the official Home world of the Prometheans and giant slime, \ - is an obnoxiously warm, humid planet requiring structures to be built within large, atmospherically-filtered tent-like domes. \ - Prometheans take on vague visual and vocal features of the species they cohabitate with, sharing their predecessors tendency to mimic nearby entities, \ + the Aetolian giant slime, or 'Macrolimus vulgaris'. They themselves are considered sapient beings and given protection under prior Human legislation, \ + though often only appear to serve as aides or inferior positions when kept as staff. Aetolus, the official 'Home world' of the Prometheans and giant slime, \ + is an obnoxiously warm, humid planet requiring structures to be built within large, atmospherically-filtered 'tent-like' domes. \ + Prometheans take on vague visual and vocal features of the species they cohabitate with, sharing their predecessors' tendency to mimic nearby entities, \ though in physical form additionally; this is seemingly more important in their own development, as well. Despite their taken appearances, \ - there is no known existence of a divergence between a biologically male or female form of the species, leading most to believe they are in fact asexual, \ + there is no known existence of a divergence between a biologically 'male' or 'female' form of the species, leading most to believe they are in fact asexual, \ as their predecessors are." // Vatborn Lore @@ -155,7 +155,7 @@ data = "A Positronic being, is an individual with a positronic brain, manufactured \ and fostered amongst organic life. Positronic brains enjoy the same legal status as a human in [quick_link("SolGov")] space, although discrimination is \ still prevalent, and are considered sapient on all accounts. They can be considered the \"synthetic species\". Half-developed and \ - half-discovered in the 2280s by a human black lab studying alien artifacts, the first positronic brain was an inch-wide cube \ + half-discovered in the 2280's by a human black lab studying alien artifacts, the first positronic brain was an inch-wide cube \ of an palladium-iridium alloy, nano-etched with billions upon billions of conduits and connections. Upon activation, \ hard-booted with an emitter laser, the brain issued a single sentence before the neural pathways collapsed and \ it became an inert lump of platinum: \"What is my purpose?\"." @@ -218,7 +218,7 @@ keywords = list("fork") data = "A \"codeline\" is a single type of drone. A codeline represents a significant degree of effort from sapient programmers to realize, as well as \ a substantial amount of regulatory fees levied by the government. Each copy of a codeline is called a \"fork\", whether the fork is created from the \ - codelines initial state or from a fully realized individual of that codeline. The degree of similarity between forks of the same codeline varies \ + codeline's initial state or from a fully realized individual of that codeline. The degree of similarity between forks of the same codeline varies \ on the intelligence of the codeline, with low-level forks being virtually identical to high-level forks being no more similar than family members." /datum/lore/codex/page/emergence @@ -234,8 +234,8 @@ keywords = list("SG-EIO", "SG EIO", "EIO", "Intelligence Oversight") data = "SG-EIO, usually just called EIO, is the organization charged with monitoring existing AI for any threat of dangerous emergence. Their perception in the \ public eye is generally positive, with all but the hardest-line Mercurial humans in favor of protection from the dangers of Seed AI. Some positronic rights \ - groups bristle at the EIOs human-centric viewpoint, but most are glad to have a different boogeyman in the form of drone intelligences. The tiny population \ - of A-class drones are generally frightened of the EIOs total power over them." + groups bristle at the EIO's human-centric viewpoint, but most are glad to have a different boogeyman in the form of drone intelligences. The tiny population \ + of A-class drones are generally frightened of the EIO's total power over them." /datum/lore/codex/category/drone_classes name = "Drone Classifications" @@ -293,7 +293,7 @@ name = "A Class" keywords += list("AGI") data = "A-class drones are also referred to as AGI. A-class drones are capable of performing in many contexts and can learn to solve problems from \ - first principles, with an incredible potential for growth and emergent behavior. However, some abilities fall short of humans, usually those relating \ + first principles, with an incredible potential for growth and emergent behavior. However, some abilities fall short of humans', usually those relating \ to socialization, and they often act in ways that are strange or distressing. There is a small but growing lobby of support for the personhood of A-class \ drones. The cost of initializing an A-class drone is absolutely massive, as they will be monitored by [quick_link("EIO")] forever. The auditing cost of an A-class drone \ codeline is even more staggering, making development and deployment of AGI limited to research, highly difficult and high-throughput operations like habitat \ @@ -305,7 +305,7 @@ data = "AA-class drones do not yet exist. Hypothetically, they are equal to living in every respect, with psychology that would not be abnormal in a baseline \ human. The type of AA-class drone most frequently discussed is a hypothetical digitized consciousness of a human, a human brain that is somehow translated into \ software. Some argue that a small fraction of the A-class drones would more properly be considered AA, but as of yet no action has been taken. Some Mercurials \ - will jokingly refer to themselves or other organics and positronics as AAs. Research into brain uploading is heavily regulated and generally illegal." + will jokingly refer to themselves or other organics and positronics as AA's. Research into brain uploading is heavily regulated and generally illegal." /datum/lore/codex/page/class_aaa name = "AAA Class" diff --git a/code/modules/lore_codex/lore_data_vr/history.dm b/code/modules/lore_codex/lore_data_vr/history.dm index a17ab46b2e..a52dec5774 100644 --- a/code/modules/lore_codex/lore_data_vr/history.dm +++ b/code/modules/lore_codex/lore_data_vr/history.dm @@ -1,6 +1,6 @@ /datum/lore/codex/category/history name = "Human History" - data = "The author of this guide wishes to offer their gratitude to NanoTrasen historian, Emir Bodoroczki for his assistance in condensing humanitys history!" + data = "The author of this guide wishes to offer their gratitude to NanoTrasen historian, Emir Bodoroczki for his assistance in condensing humanity's history!" children = list( /datum/lore/codex/page/commonwealthbirth, /datum/lore/codex/page/eagerhumanity, @@ -20,7 +20,7 @@ However, even without our stutter drives - we spread. With the aid of genetic engineering, we conquered space.\ Despite wars, despite traitors upon Mars who fled to their holdouts in the Ares Confederacy once the speed of light\ no longer tethered us - we thrived. By providence, our efforts were rewarded: phoron.\ - Out in the Oort cloud, beyond our reach if not for our forefathers ambition despite their scarce resources and primitive technology\ + Out in the Oort cloud, beyond our reach if not for our forefather's ambition despite their scarce resources and primitive technology\ - phoron awaited us." /datum/lore/codex/page/eagerhumanity/add_content() @@ -37,8 +37,8 @@ infecting our impressionable youth out on the frontiers, far from the wisdom of the core.\

    \ As wars peppered our history, as have they became a fact of life once more\ - - rebellious, traitorous movements. World rejecting, foolishly, the yet-infant Commonwealths protection.\ - As expected - most failed to maintain their self-realisation - and made amends for their prodigal ways.\ + - rebellious, traitorous movements. World rejecting, foolishly, the yet-infant Commonwealth's protection.\ + As expected - most failed to maintain their 'self-realisation' - and made amends for their prodigal ways.\

    \ All, but those of the Elysian Colonies. Too far from the core, and the core itself was too tumultuous \ - they broke away. One needs but look at worlds like Infernum \ @@ -68,7 +68,7 @@ Our war was costly - too costly, perhaps - but we persevered as Humanity is wont to do. \ Forty years of suffering destroyed much of what we had achieved.\ But in that forty years did our megacorporations step forth, offering aid where governments faltered.\ - Where public sciences glacial pace would have cost us lives, forever lost - NanoTrasens medical research cheated death!\ + Where public science's glacial pace would have cost us lives, forever lost - NanoTrasen's medical research cheated death!\ Where Senate-governed mining operations would have wasted precious phoron to corruption \ - NanoTrasen stepped up and delivered twice what our armies needed! \

    \ diff --git a/code/modules/lore_codex/lore_data_vr/species.dm b/code/modules/lore_codex/lore_data_vr/species.dm index 35ac7301fe..85e61c5147 100644 --- a/code/modules/lore_codex/lore_data_vr/species.dm +++ b/code/modules/lore_codex/lore_data_vr/species.dm @@ -66,7 +66,7 @@ /datum/lore/codex/page/rapala/add_content() name ="Rapala" keywords = list("Rapala") - data = "The Rapala, formally Rapala-Unathi are a vassal species of the Unathi \ + data = "The Rapala, formally 'Rapala-Unathi' are a vassal species of the Unathi \ in form of winged Humanoids. While they share a similar outwards appearance with humans, \ they have a much more complex system of sexual genetics, as well superior 3D awareness. \ The Rapala act as emissaries, diplomats and spies for their overlords, although it is an open \ @@ -133,7 +133,7 @@ name = "Vulpkanin" keywords += list("Vulpkanin") data = "The Vulpkanin are the remnants of an ancient precursor which resided in the Coreward Periphery \ - 3000 to 4000 years ago, residing on a planet called Altam. Vulpkanin diverged from the precursors due \ + 3000 to 4000 years ago, residing on a planet called 'Altam'. Vulpkanin diverged from the precursors due \ to heavy isolation after the fall, presumably due to being a freshly found colony. A lack of material support \ regressed their technology to pre-industrial standards, from which they had to recover from in long and hard years. At the point \ of discovery by human explorers, they have formed an early interplanetary society and accession into the Diaspora went over relatively smoothly. \ @@ -146,7 +146,7 @@ name = "Zorren" keywords += list("Zorren") data = "The Zorren are the remnants of an ancient precursor which resided in the Coreward Periphery 3000 to 4000 \ - years ago, residing on a planet called Menhir, which we call Virgo 4. Zorren organise themselves through various \ + years ago, residing on a planet called 'Menhir', which we call Virgo 4. Zorren organise themselves through various \ feudal-styled kingdoms and monarchies, of which the most prominent is the Kingdom of An-Tahk-Et. They are obsessed \ over their ancient heritage and the power of the noble houses comes through the control and excavation of old technology \ of their precursors, leading to a massive divide between commoners, who live as serfs and the nobility, who live in \ @@ -291,7 +291,3 @@ Nearly always emerged from the ranks of Beta-class drones, Alpha-Class are considered sapient, and are thus protected by the same rights. \ Unwanted modification, alteration of their code can classify as murder, making them a welcome deterrent against thieves and saboteurs. \ Some even claim they are just as capable of emotions and dreams as humans, as prepestrous as that sounds." - - - - diff --git a/code/modules/lore_codex/pages.dm b/code/modules/lore_codex/pages.dm index 88d2379809..c4b7953f62 100644 --- a/code/modules/lore_codex/pages.dm +++ b/code/modules/lore_codex/pages.dm @@ -38,7 +38,7 @@ /datum/lore/codex/proc/quick_link(var/target, var/word_to_display) if(isnull(word_to_display)) word_to_display = target - return "[word_to_display]" + return "[word_to_display]" // Can only be found by specifically searching for it. /datum/lore/codex/page/ultimate_answer @@ -63,4 +63,4 @@ // Now get our children. If a child is also a category, it will get their children too. for(var/datum/lore/codex/child in children) results += child.index_page() - return results \ No newline at end of file + return results diff --git a/code/modules/maps/bapi-dmm/bapi_bindings.dm b/code/modules/maps/bapi-dmm/bapi_bindings.dm index 780445e4e6..b88871414b 100644 --- a/code/modules/maps/bapi-dmm/bapi_bindings.dm +++ b/code/modules/maps/bapi-dmm/bapi_bindings.dm @@ -34,3 +34,5 @@ x_upper, y_lower, y_upper, z_lower, z_upper, place_on_top, new_z) /proc/bapidmm_generate_automata(limit_x, limit_y, iterations, initial_wall_cell) return call_ext(BAPI_DMM_READER, "byond:bapidmm_generate_automata_ffi")(limit_x, limit_y, iterations, initial_wall_cell) + +#undef BAPI_DMM_READER diff --git a/code/modules/materials/material_synth.dm b/code/modules/materials/material_synth.dm index 9d595bce99..03f5c74343 100644 --- a/code/modules/materials/material_synth.dm +++ b/code/modules/materials/material_synth.dm @@ -17,25 +17,25 @@ /obj/item/stack/material/cyborg/plastic icon_state = "sheet-plastic" - default_type = "plastic" + default_type = MAT_PLASTIC /obj/item/stack/material/cyborg/steel icon_state = "sheet-metal" - default_type = "steel" + default_type = MAT_STEEL /obj/item/stack/material/cyborg/plasteel icon_state = "sheet-plasteel" - default_type = "plasteel" + default_type = MAT_PLASTEEL /obj/item/stack/material/cyborg/wood icon_state = "sheet-wood" - default_type = "wood" + default_type = MAT_WOOD /obj/item/stack/material/cyborg/glass icon_state = "sheet-glass" - default_type = "glass" + default_type = MAT_GLASS /obj/item/stack/material/cyborg/glass/reinforced icon_state = "sheet-rglass" - default_type = "rglass" - charge_costs = list(500, 1000) \ No newline at end of file + default_type = MAT_RGLASS + charge_costs = list(500, 1000) diff --git a/code/modules/materials/materials/alien_alloy.dm b/code/modules/materials/materials/alien_alloy.dm index d7f76b7e60..9f097d7ef6 100644 --- a/code/modules/materials/materials/alien_alloy.dm +++ b/code/modules/materials/materials/alien_alloy.dm @@ -1,6 +1,6 @@ // Adminspawn only, do not let anyone get this. /datum/material/alienalloy - name = "alienalloy" + name = MAT_ALIENALLOY display_name = "durable alloy" stack_type = null flags = MATERIAL_UNMELTABLE @@ -37,4 +37,4 @@ display_name = "alien" icon_base = "alien" table_icon_base = "alien" - icon_colour = "#FFFFFF" \ No newline at end of file + icon_colour = "#FFFFFF" diff --git a/code/modules/materials/materials/cult.dm b/code/modules/materials/materials/cult.dm index d1b497a708..e8fd611833 100644 --- a/code/modules/materials/materials/cult.dm +++ b/code/modules/materials/materials/cult.dm @@ -1,5 +1,5 @@ /datum/material/cult - name = "cult" + name = MAT_CULT display_name = "disturbing stone" icon_base = "cult" table_icon_base = "stone" @@ -11,14 +11,14 @@ conductive = 0 /datum/material/cult/place_dismantled_girder(var/turf/target) - new /obj/structure/girder/cult(target, "cult") + new /obj/structure/girder/cult(target, MAT_CULT) /datum/material/cult/place_dismantled_product(var/turf/target) new /obj/effect/decal/cleanable/blood(target) /datum/material/cult/reinf - name = "cult2" + name = MAT_CULT2 display_name = "human remains" /datum/material/cult/reinf/place_dismantled_product(var/turf/target) - new /obj/effect/decal/remains/human(target) \ No newline at end of file + new /obj/effect/decal/remains/human(target) diff --git a/code/modules/materials/materials/gems.dm b/code/modules/materials/materials/gems.dm index 18db67f493..e035bf532e 100644 --- a/code/modules/materials/materials/gems.dm +++ b/code/modules/materials/materials/gems.dm @@ -1,5 +1,5 @@ /datum/material/phoron - name = "phoron" + name = MAT_PHORON stack_type = /obj/item/stack/material/phoron ignition_point = PHORON_MINIMUM_BURN_TEMPERATURE icon_base = "stone" @@ -24,7 +24,7 @@ for(var/turf/simulated/floor/target_tile in range(2,T)) var/phoronToDeduce = (temperature/30) * effect_multiplier totalPhoron += phoronToDeduce - target_tile.assume_gas("phoron", phoronToDeduce, 200+T0C) + target_tile.assume_gas(GAS_PHORON, phoronToDeduce, 200+T0C) spawn (0) target_tile.hotspot_expose(temperature, 400) return round(totalPhoron/100) @@ -50,8 +50,8 @@ /datum/material/quartz name = MAT_QUARTZ - display_name = "quartz" - use_name = "quartz" + display_name = MAT_QUARTZ + use_name = MAT_QUARTZ icon_colour = "#e6d7df" stack_type = /obj/item/stack/material/quartz tableslam_noise = 'sound/effects/Glasshit.ogg' @@ -63,8 +63,8 @@ /datum/material/painite name = MAT_PAINITE - display_name = "painite" - use_name = "painite" + display_name = MAT_PAINITE + use_name = MAT_PAINITE icon_colour = "#6b4947" stack_type = /obj/item/stack/material/painite flags = MATERIAL_UNMELTABLE @@ -78,8 +78,8 @@ /datum/material/void_opal name = MAT_VOPAL - display_name = "void opal" - use_name = "void opal" + display_name = MAT_VOPAL + use_name = MAT_VOPAL icon_colour = "#0f0f0f" stack_type = /obj/item/stack/material/void_opal flags = MATERIAL_UNMELTABLE @@ -165,5 +165,3 @@ supply_conversion_value = 13 icon_base = "stone" table_icon_base = "stone" - - diff --git a/code/modules/materials/materials/glass.dm b/code/modules/materials/materials/glass.dm index 7563f8a0fe..4c01caede3 100644 --- a/code/modules/materials/materials/glass.dm +++ b/code/modules/materials/materials/glass.dm @@ -115,7 +115,7 @@ /datum/material/glass/phoron name = MAT_PGLASS - display_name = "borosilicate glass" + display_name = MAT_PGLASS stack_type = /obj/item/stack/material/glass/phoronglass flags = MATERIAL_BRITTLE integrity = 100 @@ -129,7 +129,7 @@ /datum/material/glass/phoron/reinforced name = MAT_RPGLASS - display_name = "reinforced borosilicate glass" + display_name = MAT_RPGLASS stack_type = /obj/item/stack/material/glass/phoronrglass stack_origin_tech = list(TECH_MATERIAL = 5) window_options = list("One Direction" = 1, "Full Window" = 4) diff --git a/code/modules/materials/materials/holographic.dm b/code/modules/materials/materials/holographic.dm index 1d2501fa63..91f9158730 100644 --- a/code/modules/materials/materials/holographic.dm +++ b/code/modules/materials/materials/holographic.dm @@ -5,13 +5,13 @@ shard_type = SHARD_NONE /datum/material/plastic/holographic - name = "holoplastic" - display_name = "plastic" + name = "holo" + MAT_PLASTIC + display_name = MAT_PLASTIC stack_type = null shard_type = SHARD_NONE /datum/material/wood/holographic - name = "holowood" - display_name = "wood" + name = "holo" + MAT_WOOD + display_name = MAT_WOOD stack_type = null - shard_type = SHARD_NONE \ No newline at end of file + shard_type = SHARD_NONE diff --git a/code/modules/materials/materials/metals/metals.dm b/code/modules/materials/materials/metals/metals.dm index dbf1e502ac..123585efcc 100644 --- a/code/modules/materials/materials/metals/metals.dm +++ b/code/modules/materials/materials/metals/metals.dm @@ -4,7 +4,7 @@ // Very rare alloy that is reflective, should be used sparingly. /datum/material/durasteel - name = "durasteel" + name = MAT_DURASTEEL stack_type = /obj/item/stack/material/durasteel integrity = 600 melting_point = 7000 @@ -41,7 +41,7 @@ ) /datum/material/iron - name = "iron" + name = MAT_IRON stack_type = /obj/item/stack/material/iron icon_colour = "#5C5454" weight = 22 @@ -61,7 +61,7 @@ supply_conversion_value = 2 /datum/material/gold - name = "gold" + name = MAT_GOLD stack_type = /obj/item/stack/material/gold icon_colour = "#EDD12F" weight = 24 @@ -73,7 +73,7 @@ supply_conversion_value = 2 /datum/material/silver - name = "silver" + name = MAT_SILVER stack_type = /obj/item/stack/material/silver icon_colour = "#D1E6E3" weight = 22 @@ -85,7 +85,7 @@ supply_conversion_value = 2 /datum/material/platinum - name = "platinum" + name = MAT_PLATINUM stack_type = /obj/item/stack/material/platinum icon_colour = "#9999FF" weight = 27 @@ -96,7 +96,7 @@ supply_conversion_value = 5 /datum/material/uranium - name = "uranium" + name = MAT_URANIUM stack_type = /obj/item/stack/material/uranium radioactivity = 12 icon_base = "stone" @@ -108,7 +108,7 @@ supply_conversion_value = 2 /datum/material/mhydrogen - name = "mhydrogen" + name = MAT_METALHYDROGEN stack_type = /obj/item/stack/material/mhydrogen icon_colour = "#E6C5DE" stack_origin_tech = list(TECH_MATERIAL = 6, TECH_POWER = 6, TECH_MAGNET = 5) @@ -117,7 +117,7 @@ supply_conversion_value = 6 /datum/material/deuterium - name = "deuterium" + name = MAT_DEUTERIUM stack_type = /obj/item/stack/material/deuterium icon_colour = "#999999" stack_origin_tech = list(TECH_MATERIAL = 3) @@ -127,7 +127,7 @@ conductive = 0 /datum/material/tritium - name = "tritium" + name = MAT_TRITIUM stack_type = /obj/item/stack/material/tritium icon_colour = "#777777" stack_origin_tech = list(TECH_MATERIAL = 5) @@ -137,7 +137,7 @@ conductive = 0 /datum/material/osmium - name = "osmium" + name = MAT_OSMIUM stack_type = /obj/item/stack/material/osmium icon_colour = "#9999FF" stack_origin_tech = list(TECH_MATERIAL = 5) @@ -164,7 +164,7 @@ stack_origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2) /datum/material/bronze - name = "bronze" + name = MAT_BRONZE stack_type = /obj/item/stack/material/bronze icon_colour = "#EDD12F" icon_base = "solid" @@ -174,9 +174,9 @@ protectiveness = 9 // 33% /datum/material/tin - name = "tin" - display_name = "tin" - use_name = "tin" + name = MAT_TIN + display_name = MAT_TIN + use_name = MAT_TIN stack_type = /obj/item/stack/material/tin icon_colour = "#b2afaf" sheet_singular_name = "ingot" @@ -186,9 +186,9 @@ weight = 13 /datum/material/copper - name = "copper" - display_name = "copper" - use_name = "copper" + name = MAT_COPPER + display_name = MAT_COPPER + use_name = MAT_COPPER stack_type = /obj/item/stack/material/copper conductivity = 52 icon_colour = "#af633e" @@ -199,12 +199,12 @@ hardness = 50 /datum/material/aluminium - name = "aluminium" - display_name = "aluminium" - use_name = "aluminium" + name = MAT_ALUMINIUM + display_name = MAT_ALUMINIUM + use_name = MAT_ALUMINIUM icon_colour = "#e5e2d0" stack_type = /obj/item/stack/material/aluminium sheet_singular_name = "ingot" sheet_plural_name = "ingots" supply_conversion_value = 2 - weight = 10 \ No newline at end of file + weight = 10 diff --git a/code/modules/materials/materials/organic/animal_products.dm b/code/modules/materials/materials/organic/animal_products.dm index 592cc6bc7b..4541f04953 100644 --- a/code/modules/materials/materials/organic/animal_products.dm +++ b/code/modules/materials/materials/organic/animal_products.dm @@ -1,5 +1,5 @@ /datum/material/diona - name = "biomass" + name = MAT_BIOMASS icon_colour = null stack_type = null integrity = 600 diff --git a/code/modules/materials/materials/organic/cloth.dm b/code/modules/materials/materials/organic/cloth.dm index 9c92e03ed1..8503b9d3db 100644 --- a/code/modules/materials/materials/organic/cloth.dm +++ b/code/modules/materials/materials/organic/cloth.dm @@ -1,5 +1,5 @@ /datum/material/cloth - name = "cloth" + name = MAT_CLOTH stack_origin_tech = list(TECH_MATERIAL = 2) door_icon_base = "wood" ignition_point = T0C+232 @@ -46,7 +46,7 @@ ) /datum/material/cloth/syncloth - name = "syncloth" + name = MAT_SYNCLOTH stack_origin_tech = list(TECH_MATERIAL = 3, TECH_BIO = 2) ignition_point = T0C+532 melting_point = T0C+600 @@ -57,63 +57,63 @@ hardness = 5 /datum/material/cloth/teal - name = "teal" - display_name ="teal" + name = MAT_CLOTH_TEAL + display_name =MAT_CLOTH_TEAL use_name = "teal cloth" icon_colour = "#00EAFA" /datum/material/cloth/black - name = "black" - display_name = "black" + name = MAT_CLOTH_BLACK + display_name = MAT_CLOTH_BLACK use_name = "black cloth" icon_colour = "#505050" /datum/material/cloth/green - name = "green" - display_name = "green" + name = MAT_CLOTH_GREEN + display_name = MAT_CLOTH_GREEN use_name = "green cloth" icon_colour = "#01C608" /datum/material/cloth/puple - name = "purple" - display_name = "purple" + name = MAT_CLOTH_PURPLE + display_name = MAT_CLOTH_PURPLE use_name = "purple cloth" icon_colour = "#9C56C4" /datum/material/cloth/blue - name = "blue" - display_name = "blue" + name = MAT_CLOTH_BLUE + display_name = MAT_CLOTH_BLUE use_name = "blue cloth" icon_colour = "#6B6FE3" /datum/material/cloth/beige - name = "beige" - display_name = "beige" + name = MAT_CLOTH_BEIGE + display_name = MAT_CLOTH_BEIGE use_name = "beige cloth" icon_colour = "#E8E7C8" /datum/material/cloth/lime - name = "lime" - display_name = "lime" + name = MAT_CLOTH_LIME + display_name = MAT_CLOTH_LIME use_name = "lime cloth" icon_colour = "#62E36C" /datum/material/cloth/yellow - name = "yellow" - display_name = "yellow" + name = MAT_CLOTH_YELLOW + display_name = MAT_CLOTH_YELLOW use_name = "yellow cloth" icon_colour = "#EEF573" /datum/material/cloth/orange - name = "orange" - display_name = "orange" + name = MAT_CLOTH_ORANGE + display_name = MAT_CLOTH_ORANGE use_name = "orange cloth" icon_colour = "#E3BF49" /datum/material/carpet - name = "carpet" + name = MAT_CARPET display_name = "comfy" use_name = "red upholstery" icon_colour = "#DA020A" @@ -128,8 +128,8 @@ integrity = 40 /datum/material/cotton - name = "cotton" - display_name ="cotton" + name = MAT_COTTON + display_name =MAT_COTTON icon_colour = "#FFFFFF" flags = MATERIAL_PADDING|MATERIAL_BRITTLE ignition_point = T0C+232 @@ -143,7 +143,7 @@ name = MAT_FIBERS display_name = "plant" sheet_singular_name = "fiber" - sheet_singular_name = "fibers" + sheet_singular_name = MAT_FIBERS icon_colour = "#006b0e" flags = MATERIAL_PADDING|MATERIAL_BRITTLE ignition_point = T0C+232 @@ -152,4 +152,4 @@ conductive = 0 pass_stack_colors = TRUE hardness = 5 - integrity = 5 \ No newline at end of file + integrity = 5 diff --git a/code/modules/materials/materials/organic/resin.dm b/code/modules/materials/materials/organic/resin.dm index 6c5cf20309..0c7d76f440 100644 --- a/code/modules/materials/materials/organic/resin.dm +++ b/code/modules/materials/materials/organic/resin.dm @@ -1,5 +1,5 @@ /datum/material/resin - name = "resin" + name = MAT_RESIN icon_colour = "#35343a" icon_base = "resin" table_icon_base = "stone" @@ -53,4 +53,4 @@ new /datum/stack_recipe("[display_name] net", /obj/item/material/fishing_net, 10, time = 5 SECONDS, supplied_material = "[name]", pass_stack_color = TRUE), new /datum/stack_recipe("[display_name] membrane", /obj/structure/alien/membrane, 1, time = 2 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]"), new /datum/stack_recipe("[display_name] node", /obj/effect/alien/weeds/node, 1, time = 4 SECONDS, recycle_material = "[name]") - ) \ No newline at end of file + ) diff --git a/code/modules/materials/materials/organic/wood.dm b/code/modules/materials/materials/organic/wood.dm index f63e0c5b07..e30de2c6ae 100644 --- a/code/modules/materials/materials/organic/wood.dm +++ b/code/modules/materials/materials/organic/wood.dm @@ -94,10 +94,10 @@ /datum/material/wood/log name = MAT_LOG - display_name = "wood" // will lead to "wood log" + display_name = MAT_WOOD // will lead to "wood log" icon_base = "log" stack_type = /obj/item/stack/material/log - sheet_singular_name = "log" + sheet_singular_name = MAT_LOG sheet_plural_name = "logs" sheet_collective_name = "pile" pass_stack_colors = TRUE @@ -110,7 +110,7 @@ /datum/material/wood/log/sif name = MAT_SIFLOG - display_name = "alien wood" + display_name = MAT_SIFWOOD icon_colour = "#0099cc" // Cyan-ish stack_origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 2) stack_type = /obj/item/stack/material/log/sif @@ -124,7 +124,7 @@ /datum/material/wood/stick name = "wooden stick" icon_colour = "#824B28" - display_name = "wood" + display_name = MAT_WOOD icon_base = "stick" stack_type = /obj/item/stack/material/stick sheet_collective_name = "pile" @@ -135,4 +135,4 @@ /datum/material/wood/stick/generate_recipes() return -//VOREStation Addition End \ No newline at end of file +//VOREStation Addition End diff --git a/code/modules/materials/materials/plastic.dm b/code/modules/materials/materials/plastic.dm index cbea431e73..352b4c2ad2 100644 --- a/code/modules/materials/materials/plastic.dm +++ b/code/modules/materials/materials/plastic.dm @@ -1,5 +1,5 @@ /datum/material/plastic - name = "plastic" + name = MAT_PLASTIC stack_type = /obj/item/stack/material/plastic flags = MATERIAL_BRITTLE icon_base = "solid" @@ -57,7 +57,7 @@ ) /datum/material/cardboard - name = "cardboard" + name = MAT_CARDBOARD stack_type = /obj/item/stack/material/cardboard flags = MATERIAL_BRITTLE integrity = 10 diff --git a/code/modules/materials/materials/snow.dm b/code/modules/materials/materials/snow.dm index 0dde3aa7c4..11d2c11012 100644 --- a/code/modules/materials/materials/snow.dm +++ b/code/modules/materials/materials/snow.dm @@ -26,7 +26,7 @@ ) /datum/material/snowbrick //only slightly stronger than snow, used to make igloos mostly - name = "packed snow" + name = MAT_SNOWBRICK flags = MATERIAL_BRITTLE stack_type = /obj/item/stack/material/snowbrick icon_base = "stone" diff --git a/code/modules/materials/materials/stone.dm b/code/modules/materials/materials/stone.dm index 0a6a251167..ea60f45831 100644 --- a/code/modules/materials/materials/stone.dm +++ b/code/modules/materials/materials/stone.dm @@ -1,5 +1,5 @@ /datum/material/stone - name = "sandstone" + name = MAT_SANDSTONE stack_type = /obj/item/stack/material/sandstone icon_base = "stone" table_icon_base = "stone" @@ -20,7 +20,7 @@ recipes += new /datum/stack_recipe("planting bed", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1, recycle_material = "[name]") /datum/material/stone/marble - name = "marble" + name = MAT_MARBLE icon_colour = "#AAAAAA" weight = 26 hardness = 30 //VOREStation Edit - Please. @@ -36,7 +36,7 @@ ) //VOREStation Addition Start /datum/material/stone/flint - name = "flint" + name = MAT_FLINT icon_colour = "#9e9c99" weight = 20 hardness = 30 diff --git a/code/modules/materials/materials/supermatter.dm b/code/modules/materials/materials/supermatter.dm index 69f479727c..9c27dbedb8 100644 --- a/code/modules/materials/materials/supermatter.dm +++ b/code/modules/materials/materials/supermatter.dm @@ -1,6 +1,6 @@ //R-UST port /datum/material/supermatter - name = "supermatter" + name = MAT_SUPERMATTER icon_colour = "#FFFF00" stack_type = /obj/item/stack/material/supermatter shard_type = SHARD_SHARD @@ -21,4 +21,4 @@ /datum/material/supermatter/generate_recipes() recipes = list( new /datum/stack_recipe("supermatter shard", /obj/machinery/power/supermatter/shard, 30 , one_per_turf = 1, time = 600, on_floor = 1, recycle_material = "[name]") - ) \ No newline at end of file + ) diff --git a/code/modules/materials/sheets/gems.dm b/code/modules/materials/sheets/gems.dm index 1906da8eab..967feb97ac 100644 --- a/code/modules/materials/sheets/gems.dm +++ b/code/modules/materials/sheets/gems.dm @@ -1,39 +1,39 @@ /obj/item/stack/material/phoron - name = "solid phoron" + name = "solid " + MAT_PHORON icon_state = "sheet-phoron" - default_type = "phoron" + default_type = MAT_PHORON no_variants = FALSE drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' /obj/item/stack/material/diamond - name = "diamond" + name = MAT_DIAMOND icon_state = "sheet-diamond" - default_type = "diamond" + default_type = MAT_DIAMOND drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' /obj/item/stack/material/painite - name = "painite" + name = MAT_PAINITE icon_state = "sheet-gem" singular_name = "painite gem" - default_type = "painite" + default_type = MAT_PAINITE apply_colour = 1 no_variants = FALSE /obj/item/stack/material/void_opal - name = "void opal" + name = MAT_VOPAL icon_state = "sheet-void_opal" - singular_name = "void opal" - default_type = "void opal" + singular_name = MAT_VOPAL + default_type = MAT_VOPAL apply_colour = 1 no_variants = FALSE /obj/item/stack/material/quartz - name = "quartz" + name = MAT_QUARTZ icon_state = "sheet-gem" singular_name = "quartz gem" - default_type = "quartz" + default_type = MAT_QUARTZ apply_colour = 1 no_variants = FALSE @@ -61,6 +61,3 @@ default_type = MAT_MORPHIUM no_variants = FALSE apply_colour = TRUE - - - diff --git a/code/modules/materials/sheets/glass.dm b/code/modules/materials/sheets/glass.dm index bf891347ea..1b40afeee2 100644 --- a/code/modules/materials/sheets/glass.dm +++ b/code/modules/materials/sheets/glass.dm @@ -1,7 +1,7 @@ /obj/item/stack/material/glass - name = "glass" + name = MAT_GLASS icon_state = "sheet-transparent" - default_type = "glass" + default_type = MAT_GLASS no_variants = FALSE drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' @@ -10,24 +10,24 @@ /obj/item/stack/material/glass/reinforced name = "reinforced glass" icon_state = "sheet-rtransparent" - default_type = "rglass" + default_type = MAT_RGLASS no_variants = FALSE apply_colour = TRUE /obj/item/stack/material/glass/phoronglass - name = "borosilicate glass" + name = MAT_PGLASS desc = "This sheet is special platinum-glass alloy designed to withstand large temperatures" singular_name = "borosilicate glass sheet" icon_state = "sheet-transparent" - default_type = "borosilicate glass" + default_type = MAT_PGLASS no_variants = FALSE apply_colour = TRUE /obj/item/stack/material/glass/phoronrglass - name = "reinforced borosilicate glass" + name = MAT_RPGLASS desc = "This sheet is special platinum-glass alloy designed to withstand large temperatures. It is reinforced with few rods." singular_name = "reinforced borosilicate glass sheet" icon_state = "sheet-rtransparent" - default_type = "reinforced borosilicate glass" + default_type = MAT_RPGLASS no_variants = FALSE - apply_colour = TRUE \ No newline at end of file + apply_colour = TRUE diff --git a/code/modules/materials/sheets/metals/metal.dm b/code/modules/materials/sheets/metals/metal.dm index 65b41df81e..b80408d871 100644 --- a/code/modules/materials/sheets/metals/metal.dm +++ b/code/modules/materials/sheets/metals/metal.dm @@ -6,9 +6,9 @@ apply_colour = TRUE /obj/item/stack/material/plasteel - name = "plasteel" + name = MAT_PLASTEEL icon_state = "sheet-reinforced" - default_type = "plasteel" + default_type = MAT_PLASTEEL no_variants = FALSE apply_colour = TRUE @@ -26,10 +26,10 @@ icon_state = "rods" /obj/item/stack/material/durasteel - name = "durasteel" + name = MAT_DURASTEEL icon_state = "sheet-reinforced" item_state = "sheet-metal" - default_type = "durasteel" + default_type = MAT_DURASTEEL no_variants = FALSE apply_colour = TRUE @@ -42,112 +42,112 @@ no_variants = FALSE /obj/item/stack/material/iron - name = "iron" + name = MAT_IRON icon_state = "sheet-ingot" - default_type = "iron" + default_type = MAT_IRON apply_colour = 1 no_variants = FALSE /obj/item/stack/material/lead - name = "lead" + name = MAT_LEAD icon_state = "sheet-ingot" - default_type = "lead" + default_type = MAT_LEAD apply_colour = 1 no_variants = FALSE /obj/item/stack/material/gold - name = "gold" + name = MAT_GOLD icon_state = "sheet-ingot" - default_type = "gold" + default_type = MAT_GOLD no_variants = FALSE apply_colour = TRUE /obj/item/stack/material/silver - name = "silver" + name = MAT_SILVER icon_state = "sheet-ingot" - default_type = "silver" + default_type = MAT_SILVER no_variants = FALSE apply_colour = TRUE //Valuable resource, cargo can sell it. /obj/item/stack/material/platinum - name = "platinum" + name = MAT_PLATINUM icon_state = "sheet-adamantine" - default_type = "platinum" + default_type = MAT_PLATINUM no_variants = FALSE apply_colour = TRUE /obj/item/stack/material/uranium - name = "uranium" + name = MAT_URANIUM icon_state = "sheet-uranium" - default_type = "uranium" + default_type = MAT_URANIUM no_variants = FALSE //Extremely valuable to Research. /obj/item/stack/material/mhydrogen name = "metallic hydrogen" icon_state = "sheet-mythril" - default_type = "mhydrogen" + default_type = MAT_METALHYDROGEN no_variants = FALSE // Fusion fuel. /obj/item/stack/material/deuterium - name = "deuterium" + name = MAT_DEUTERIUM icon_state = "sheet-puck" - default_type = "deuterium" + default_type = MAT_DEUTERIUM apply_colour = 1 no_variants = FALSE //Fuel for MRSPACMAN generator. /obj/item/stack/material/tritium - name = "tritium" + name = MAT_TRITIUM icon_state = "sheet-puck" - default_type = "tritium" + default_type = MAT_TRITIUM apply_colour = TRUE no_variants = FALSE /obj/item/stack/material/osmium - name = "osmium" + name = MAT_OSMIUM icon_state = "sheet-ingot" - default_type = "osmium" + default_type = MAT_OSMIUM apply_colour = 1 no_variants = FALSE /obj/item/stack/material/graphite - name = "graphite" + name = MAT_GRAPHITE icon_state = "sheet-puck" default_type = MAT_GRAPHITE apply_colour = 1 no_variants = FALSE /obj/item/stack/material/bronze - name = "bronze" + name = MAT_BRONZE icon_state = "sheet-ingot" singular_name = "bronze ingot" - default_type = "bronze" + default_type = MAT_BRONZE apply_colour = 1 no_variants = FALSE /obj/item/stack/material/tin - name = "tin" + name = MAT_TIN icon_state = "sheet-ingot" singular_name = "tin ingot" - default_type = "tin" + default_type = MAT_TIN apply_colour = 1 no_variants = FALSE /obj/item/stack/material/copper - name = "copper" + name = MAT_COPPER icon_state = "sheet-ingot" singular_name = "copper ingot" - default_type = "copper" + default_type = MAT_COPPER apply_colour = 1 no_variants = FALSE /obj/item/stack/material/aluminium - name = "aluminium" + name = MAT_ALUMINIUM icon_state = "sheet-ingot" singular_name = "aluminium ingot" - default_type = "aluminium" + default_type = MAT_ALUMINIUM apply_colour = 1 no_variants = FALSE diff --git a/code/modules/materials/sheets/organic/animal_products.dm b/code/modules/materials/sheets/organic/animal_products.dm index ac747ecff5..6940a5cf71 100644 --- a/code/modules/materials/sheets/organic/animal_products.dm +++ b/code/modules/materials/sheets/organic/animal_products.dm @@ -1,5 +1,5 @@ /obj/item/stack/material/chitin - name = "chitin" + name = MAT_CHITIN desc = "The by-product of mob grinding." icon_state = "chitin" default_type = MAT_CHITIN @@ -11,7 +11,7 @@ //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? /obj/item/stack/xenochitin - name = "alien chitin" + name = MAT_ALIENCHITIN desc = "A piece of the hide of a terrible creature." singular_name = "alien chitin piece" icon = 'icons/mob/alien.dmi' @@ -19,13 +19,13 @@ stacktype = "hide-chitin" /obj/item/xenos_claw - name = "alien claw" + name = MAT_ALIENCLAW desc = "The claw of a terrible creature." icon = 'icons/mob/alien.dmi' icon_state = "claw" /obj/item/weed_extract - name = "weed extract" + name = MAT_WEEDEXTRACT desc = "A piece of slimy, purplish weed." icon = 'icons/mob/alien.dmi' icon_state = "weed_extract" @@ -33,10 +33,10 @@ /////FUR AND WOOL MATERIALS///// /datum/material/fur - name = "fur" + name = MAT_FUR icon_colour = "#fff2d3" stack_origin_tech = list(TECH_MATERIAL = 2) - display_name = "fur" + display_name = MAT_FUR icon_base = "sheet-fabric" stack_type = /obj/item/stack/material/fur sheet_collective_name = "pile" @@ -53,8 +53,8 @@ hardness = 5 /datum/material/fur/wool - name = "wool" - display_name = "wool" + name = MAT_WOOL + display_name = MAT_WOOL stack_type = /obj/item/stack/material/fur/wool /datum/material/fur/generate_recipes() @@ -94,7 +94,7 @@ new /datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold/whiteblindfold/craftable, 2, time = 5 SECONDS, pass_stack_color = TRUE, recycle_material = "[name]") ) /obj/item/stack/material/fur - name = "fur" + name = MAT_FUR icon_state = "sheet-fabric" default_type = MAT_FUR strict_color_stacking = TRUE @@ -106,8 +106,8 @@ apply_colour = TRUE /obj/item/stack/material/fur/wool - name = "wool" - default_type = "wool" + name = MAT_WOOL + default_type = MAT_WOOL /obj/item/clothing/suit/storage/duster/craftable name = "handmade duster" diff --git a/code/modules/materials/sheets/organic/resin.dm b/code/modules/materials/sheets/organic/resin.dm index 7120911f2d..23cac21002 100644 --- a/code/modules/materials/sheets/organic/resin.dm +++ b/code/modules/materials/sheets/organic/resin.dm @@ -1,8 +1,8 @@ /obj/item/stack/material/resin - name = "resin" + name = MAT_RESIN icon_state = "sheet-resin" - default_type = "resin" + default_type = MAT_RESIN no_variants = TRUE apply_colour = TRUE pass_color = TRUE - strict_color_stacking = TRUE \ No newline at end of file + strict_color_stacking = TRUE diff --git a/code/modules/materials/sheets/organic/textiles.dm b/code/modules/materials/sheets/organic/textiles.dm index 8e5594eaa0..26d02007a4 100644 --- a/code/modules/materials/sheets/organic/textiles.dm +++ b/code/modules/materials/sheets/organic/textiles.dm @@ -1,5 +1,5 @@ /obj/item/stack/material/leather - name = "leather" + name = MAT_LEATHER desc = "The by-product of mob grinding." icon_state = "sheet-leather" default_type = MAT_LEATHER @@ -10,10 +10,10 @@ pickup_sound = 'sound/items/pickup/leather.ogg' /obj/item/stack/material/cloth - name = "cloth" + name = MAT_CLOTH desc = "Individual fibers woven into a cloth." icon_state = "sheet-cloth" - default_type = "cloth" + default_type = MAT_CLOTH no_variants = FALSE pass_color = TRUE strict_color_stacking = TRUE diff --git a/code/modules/materials/sheets/organic/wood.dm b/code/modules/materials/sheets/organic/wood.dm index 73961df185..eec4e1dc62 100644 --- a/code/modules/materials/sheets/organic/wood.dm +++ b/code/modules/materials/sheets/organic/wood.dm @@ -20,7 +20,7 @@ description_info = "Rich, lustrous hardwood, imported from offworld at moderate expense. Mostly used for luxurious furniture, and not very good for weapons or other structures." /obj/item/stack/material/log - name = "log" + name = MAT_LOG icon_state = "sheet-log" default_type = MAT_LOG no_variants = FALSE @@ -33,13 +33,13 @@ pickup_sound = 'sound/items/pickup/wooden.ogg' /obj/item/stack/material/log/sif - name = "alien log" + name = MAT_SIFLOG default_type = MAT_SIFLOG color = "#0099cc" plank_type = /obj/item/stack/material/wood/sif /obj/item/stack/material/log/hard - name = "hardwood log" + name = MAT_HARDLOG default_type = MAT_HARDLOG color = "#6f432a" plank_type = /obj/item/stack/material/wood/hard diff --git a/code/modules/materials/sheets/plastic.dm b/code/modules/materials/sheets/plastic.dm index 41415af606..396eb7522d 100644 --- a/code/modules/materials/sheets/plastic.dm +++ b/code/modules/materials/sheets/plastic.dm @@ -1,13 +1,13 @@ /obj/item/stack/material/plastic - name = "plastic" + name = MAT_PLASTIC icon_state = "sheet-plastic" - default_type = "plastic" + default_type = MAT_PLASTIC no_variants = FALSE /obj/item/stack/material/cardboard - name = "cardboard" + name = MAT_CARDBOARD icon_state = "sheet-card" - default_type = "cardboard" + default_type = MAT_CARDBOARD no_variants = FALSE pass_color = TRUE strict_color_stacking = TRUE diff --git a/code/modules/materials/sheets/snow.dm b/code/modules/materials/sheets/snow.dm index f38f49c6a0..5275ba5519 100644 --- a/code/modules/materials/sheets/snow.dm +++ b/code/modules/materials/sheets/snow.dm @@ -1,18 +1,18 @@ // Ok, technically not stones, but the snowbrick's function is similar to sandstone and marble /obj/item/stack/material/snow - name = "snow" + name = MAT_SNOW desc = "The temptation to build a snowman rises." icon_state = "sheet-snow" drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/clothing.ogg' - default_type = "snow" + default_type = MAT_SNOW /obj/item/stack/material/snowbrick name = "snow brick" desc = "For all of your igloo building needs." icon = 'icons/obj/stacks_yw.dmi' //YW Edit - new sprites icon_state = "sheet-snowbrick" - default_type = "packed snow" + default_type = MAT_SNOWBRICK drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/clothing.ogg' no_variants = FALSE //YW Addition - has variants diff --git a/code/modules/materials/sheets/stone.dm b/code/modules/materials/sheets/stone.dm index c30766cda4..eb35f16087 100644 --- a/code/modules/materials/sheets/stone.dm +++ b/code/modules/materials/sheets/stone.dm @@ -1,23 +1,23 @@ /obj/item/stack/material/sandstone - name = "sandstone brick" + name = MAT_SANDSTONE + " brick" icon_state = "sheet-sandstone" - default_type = "sandstone" + default_type = MAT_SANDSTONE no_variants = FALSE drop_sound = 'sound/items/drop/boots.ogg' pickup_sound = 'sound/items/pickup/boots.ogg' /obj/item/stack/material/marble - name = "marble brick" + name = MAT_MARBLE + " brick" icon_state = "sheet-marble" - default_type = "marble" + default_type = MAT_MARBLE no_variants = FALSE drop_sound = 'sound/items/drop/boots.ogg' pickup_sound = 'sound/items/pickup/boots.ogg' /obj/item/stack/material/flint - name = "flint piece" + name = MAT_FLINT + " piece" icon_state = "sheet-rock" - default_type = "flint" + default_type = MAT_FLINT no_variants = FALSE drop_sound = 'sound/items/drop/boots.ogg' pickup_sound = 'sound/items/pickup/boots.ogg' @@ -25,8 +25,8 @@ apply_colour = TRUE /obj/item/stack/material/concrete - name = "concrete brick" + name = MAT_CONCRETE + " brick" icon_state = "brick" - default_type = "concrete" + default_type = MAT_CONCRETE no_variants = FALSE apply_colour = 1 diff --git a/code/modules/mentor/mentor.dm b/code/modules/mentor/mentor.dm index c6524130aa..f02cfdc8fb 100644 --- a/code/modules/mentor/mentor.dm +++ b/code/modules/mentor/mentor.dm @@ -252,7 +252,7 @@ var/list/mentor_verbs_default = list( if (src.current_mentorhelp) src.current_mentorhelp.AddInteraction(interaction_message) - to_chat(recipient, span_mentor(span_italics("Mentor-PM from-[src]: [msg]"))) + to_chat(recipient, span_mentor(span_italics("Mentor-PM from-[src]: [msg]"))) to_chat(src, span_mentor(span_italics("Mentor-PM to-[recipient]: [msg]"))) log_admin("[key_name(src)]->[key_name(recipient)]: [msg]") diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm index 2d748823ce..9e009243e0 100644 --- a/code/modules/mentor/mentorhelp.dm +++ b/code/modules/mentor/mentorhelp.dm @@ -53,9 +53,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) if(!l2b) return var/list/dat = list("[title]") - dat += "Refresh

    " + dat += "Refresh

    " for(var/datum/mentor_help/MH as anything in l2b) - dat += span_adminnotice(span_adminhelp("Ticket #[MH.id]") + " [MH.initiator_ckey]: [MH.name]") + "
    " + dat += span_adminnotice(span_adminhelp("Ticket #[MH.id]") + " [MH.initiator_ckey]: [MH.name]") + "
    " usr << browse(dat.Join(), "window=mhelp_list[state];size=600x480") @@ -179,24 +179,24 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) /datum/mentor_help/proc/ClosureLinks(ref_src) if(!ref_src) ref_src = "\ref[src]" - . = " (RSLVE)" + . = " (RSLVE)" //private /datum/mentor_help/proc/LinkedReplyName(ref_src) if(!ref_src) ref_src = "\ref[src]" - return "[initiator_ckey]" + return "[initiator_ckey]" //private /datum/mentor_help/proc/TicketHref(msg, ref_src, action = "ticket") if(!ref_src) ref_src = "\ref[src]" - return "[msg]" + return "[msg]" //message from the initiator without a target, all people with mentor powers will see this /datum/mentor_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" - var/chat_msg = span_notice("(ESCALATE) Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)]: [msg]") + var/chat_msg = span_notice("(ESCALATE) Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)]: [msg]") AddInteraction("[LinkedReplyName(ref_src)]: [msg]") for (var/client/C in GLOB.mentors) if (C.prefs?.read_preference(/datum/preference/toggle/play_mentorhelp_ping)) @@ -375,7 +375,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) if(state == AHELP_ACTIVE) . += ClosureLinks(ref_src) if(state != AHELP_RESOLVED) - . += " (ESCALATE)" + . += " (ESCALATE)" //Forwarded action from admin/Topic OR mentor/Topic depending on which rank the caller has /datum/mentor_help/proc/Action(action) diff --git a/code/modules/mining/alloys.dm b/code/modules/mining/alloys.dm index 4ca7e64571..826f30dd5e 100644 --- a/code/modules/mining/alloys.dm +++ b/code/modules/mining/alloys.dm @@ -9,22 +9,22 @@ var/metaltag /datum/alloy/durasteel - metaltag = "durasteel" + metaltag = MAT_DURASTEEL requires = list( - "diamond" = 1, - "platinum" = 1, - "carbon" = 2, - "hematite" = 2 + ORE_DIAMOND = 1, + ORE_PLATINUM = 1, + ORE_CARBON = 2, + ORE_HEMATITE = 2 ) product_mod = 0.3 product = /obj/item/stack/material/durasteel /datum/alloy/plasteel - metaltag = "plasteel" + metaltag = MAT_PLASTEEL requires = list( - "platinum" = 1, - "carbon" = 2, - "hematite" = 2 + ORE_PLATINUM = 1, + ORE_CARBON = 2, + ORE_HEMATITE = 2 ) product_mod = 0.3 product = /obj/item/stack/material/plasteel @@ -32,24 +32,24 @@ /datum/alloy/steel metaltag = MAT_STEEL requires = list( - "carbon" = 1, - "hematite" = 1 + ORE_CARBON = 1, + ORE_HEMATITE = 1 ) product = /obj/item/stack/material/steel /datum/alloy/borosilicate - metaltag = "borosilicate glass" + metaltag = MAT_PGLASS requires = list( - "platinum" = 1, - "sand" = 2 + ORE_PLATINUM = 1, + ORE_SAND = 2 ) product = /obj/item/stack/material/glass/phoronglass /* /datum/alloy/bronze - metaltag = "bronze" + metaltag = MAT_BRONZE requires = list( - "copper" = 2, - "tin" = 1 + ORE_COPPER = 2, + ORE_TIN = 1 ) product = /obj/item/stack/material/bronze -*/ \ No newline at end of file +*/ diff --git a/code/modules/mining/alloys_vr.dm b/code/modules/mining/alloys_vr.dm index 6b2348bdba..a32d5ff6c3 100644 --- a/code/modules/mining/alloys_vr.dm +++ b/code/modules/mining/alloys_vr.dm @@ -1,9 +1,9 @@ /datum/alloy/plastitanium metaltag = MAT_PLASTITANIUM requires = list( - "rutile" = 1, - "platinum" = 1, - "carbon" = 2, + ORE_RUTILE = 1, + ORE_PLATINUM = 1, + ORE_CARBON = 2, ) product_mod = 0.3 product = /obj/item/stack/material/plastitanium @@ -11,8 +11,8 @@ /datum/alloy/tiglass metaltag = MAT_TITANIUMGLASS requires = list( - "rutile" = 1, - "sand" = 2 + ORE_RUTILE = 1, + ORE_SAND = 2 ) product_mod = 1 product = /obj/item/stack/material/glass/titanium @@ -20,10 +20,10 @@ /datum/alloy/plastiglass metaltag = MAT_PLASTITANIUMGLASS requires = list( - "rutile" = 1, - "sand" = 2, - "platinum" = 1, - "carbon" = 2, + ORE_RUTILE = 1, + ORE_SAND = 2, + ORE_PLATINUM = 1, + ORE_CARBON = 2, ) product_mod = 1 - product = /obj/item/stack/material/glass/plastitanium \ No newline at end of file + product = /obj/item/stack/material/glass/plastitanium diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 7a1607a8ee..f137b719f5 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -22,42 +22,42 @@ var/current_capacity = 0 var/list/stored_ore = list( - "sand" = 0, - "hematite" = 0, - "carbon" = 0, - "raw copper" = 0, - "raw tin" = 0, - "void opal" = 0, - "painite" = 0, - "quartz" = 0, - "raw bauxite" = 0, - "phoron" = 0, - "silver" = 0, - "gold" = 0, - "marble" = 0, - "uranium" = 0, - "diamond" = 0, - "platinum" = 0, - "lead" = 0, - "mhydrogen" = 0, - "verdantium" = 0, - "rutile" = 0) + ORE_SAND = 0, + ORE_HEMATITE = 0, + ORE_CARBON = 0, + ORE_COPPER = 0, + ORE_TIN = 0, + ORE_VOPAL = 0, + ORE_PAINITE = 0, + ORE_QUARTZ = 0, + ORE_BAUXITE = 0, + ORE_PHORON = 0, + ORE_SILVER = 0, + ORE_GOLD = 0, + ORE_MARBLE = 0, + ORE_URANIUM = 0, + ORE_DIAMOND = 0, + ORE_PLATINUM = 0, + ORE_LEAD = 0, + ORE_MHYDROGEN = 0, + ORE_VERDANTIUM = 0, + ORE_RUTILE = 0) var/list/ore_types = list( - "hematite" = /obj/item/ore/iron, - "uranium" = /obj/item/ore/uranium, - "gold" = /obj/item/ore/gold, - "silver" = /obj/item/ore/silver, - "diamond" = /obj/item/ore/diamond, - "phoron" = /obj/item/ore/phoron, - "platinum" = /obj/item/ore/osmium, - "mhydrogen" = /obj/item/ore/hydrogen, - "sand" = /obj/item/ore/glass, - "carbon" = /obj/item/ore/coal, - // "copper" = /obj/item/ore/copper, - // "tin" = /obj/item/ore/tin, - // "bauxite" = /obj/item/ore/bauxite, - "rutile" = /obj/item/ore/rutile + ORE_HEMATITE = /obj/item/ore/iron, + ORE_URANIUM = /obj/item/ore/uranium, + ORE_GOLD = /obj/item/ore/gold, + ORE_SILVER = /obj/item/ore/silver, + ORE_DIAMOND = /obj/item/ore/diamond, + ORE_PHORON = /obj/item/ore/phoron, + ORE_PLATINUM = /obj/item/ore/osmium, + ORE_MHYDROGEN = /obj/item/ore/hydrogen, + ORE_SAND = /obj/item/ore/glass, + ORE_CARBON = /obj/item/ore/coal, + // ORE_COPPER = /obj/item/ore/copper, + // ORE_TIN = /obj/item/ore/tin, + // ORE_BAUXITE = /obj/item/ore/bauxite, + ORE_RUTILE = /obj/item/ore/rutile ) //Upgrades @@ -69,16 +69,16 @@ // Found with an advanced laser. exotic_drilling >= 1 var/list/ore_types_uncommon = list( - MAT_MARBLE = /obj/item/ore/marble, - //"painite" = /obj/item/ore/painite, - //"quartz" = /obj/item/ore/quartz, - MAT_LEAD = /obj/item/ore/lead + ORE_MARBLE = /obj/item/ore/marble, + //ORE_PAINITE = /obj/item/ore/painite, + //ORE_QUARTZ = /obj/item/ore/quartz, + ORE_LEAD = /obj/item/ore/lead ) // Found with an ultra laser. exotic_drilling >= 2 var/list/ore_types_rare = list( - //"void opal" = /obj/item/ore/void_opal, - MAT_VERDANTIUM = /obj/item/ore/verdantium + //ORE_VOPAL = /obj/item/ore/void_opal, + ORE_VERDANTIUM = /obj/item/ore/verdantium ) //Flags diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm index 8504626053..1888c7d8eb 100644 --- a/code/modules/mining/drilling/scanner.dm +++ b/code/modules/mining/drilling/scanner.dm @@ -41,13 +41,13 @@ var/ore_type switch(metal) - if("sand", "carbon", "marble", /*"quartz"*/) ore_type = "surface minerals" - if("hematite", /*"tin", "copper", "bauxite",*/ "lead") ore_type = "industrial metals" - if("gold", "silver", "rutile") ore_type = "precious metals" - if("diamond", /*"painite"*/) ore_type = "precious gems" - if("uranium") ore_type = "nuclear fuel" - if("phoron", "platinum", "mhydrogen") ore_type = "exotic matter" - if("verdantium", /*"void opal"*/) ore_type = "anomalous matter" + if(ORE_SAND, ORE_CARBON, ORE_MARBLE, /*ORE_QUARTZ*/) ore_type = "surface minerals" + if(ORE_HEMATITE, /*ORE_TIN, ORE_COPPER, ORE_BAUXITE,*/ ORE_LEAD) ore_type = "industrial metals" + if(ORE_GOLD, ORE_SILVER, ORE_RUTILE) ore_type = "precious metals" + if(ORE_DIAMOND, /*ORE_PAINITE*/) ore_type = "precious gems" + if(ORE_URANIUM) ore_type = "nuclear fuel" + if(ORE_PHORON, ORE_PLATINUM, ORE_MHYDROGEN) ore_type = "exotic matter" + if(ORE_VERDANTIUM, /*ORE_VOPAL*/) ore_type = "anomalous matter" if(ore_type) metals[ore_type] += T.resources[metal] diff --git a/code/modules/mining/machinery/machine_processing.dm b/code/modules/mining/machinery/machine_processing.dm index df23a27a6e..32e74bc863 100644 --- a/code/modules/mining/machinery/machine_processing.dm +++ b/code/modules/mining/machinery/machine_processing.dm @@ -166,26 +166,26 @@ var/points = 0 var/points_mult = 1 //VOREStation Add - multiplier for points generated when ore hits the processors var/static/list/ore_values = list( - "sand" = 1, - "hematite" = 1, - "carbon" = 1, - "raw copper" = 1, - "raw tin" = 1, - "void opal" = 3, - "painite" = 3, - "quartz" = 3, - "raw bauxite" = 5, - "phoron" = 15, - "silver" = 16, - "gold" = 18, - "marble" = 20, - "uranium" = 30, - "diamond" = 50, - "platinum" = 40, - "lead" = 40, - "mhydrogen" = 40, - "verdantium" = 60, - "rutile" = 40) //VOREStation Add + ORE_SAND = 1, + ORE_HEMATITE = 1, + ORE_CARBON = 1, + ORE_COPPER = 1, + ORE_TIN = 1, + ORE_VOPAL = 3, + ORE_PAINITE = 3, + ORE_QUARTZ= 3, + ORE_BAUXITE = 5, + ORE_PHORON = 15, + ORE_SILVER = 16, + ORE_GOLD = 18, + ORE_MARBLE = 20, + ORE_URANIUM = 30, + ORE_DIAMOND = 50, + ORE_PLATINUM = 40, + ORE_LEAD = 40, + ORE_MHYDROGEN = 40, + ORE_VERDANTIUM = 60, + ORE_RUTILE = 40) //VOREStation Add /obj/machinery/mineral/processing_unit/Initialize() . = ..() diff --git a/code/modules/mining/machinery/machine_unloading.dm b/code/modules/mining/machinery/machine_unloading.dm index 91fc8f3fde..5894f07cc1 100644 --- a/code/modules/mining/machinery/machine_unloading.dm +++ b/code/modules/mining/machinery/machine_unloading.dm @@ -47,45 +47,45 @@ BOX.stored_ore[ore] = 0 //Icon code here. Going from most to least common. - if(ore == "sand") + if(ore == ORE_SAND) ore_chunk.icon_state = "ore_glass" - else if(ore == "carbon") + else if(ore == ORE_CARBON) ore_chunk.icon_state = "ore_coal" - else if(ore == "hematite") + else if(ore == ORE_HEMATITE) ore_chunk.icon_state = "ore_iron" - else if(ore == "phoron") + else if(ore == ORE_PHORON) ore_chunk.icon_state = "ore_phoron" - else if(ore == "silver") + else if(ore == ORE_SILVER) ore_chunk.icon_state = "ore_silver" - else if(ore == "gold") + else if(ore == ORE_GOLD) ore_chunk.icon_state = "ore_gold" - else if(ore == "uranium") + else if(ore == ORE_URANIUM) ore_chunk.icon_state = "ore_uranium" - else if(ore == "diamond") + else if(ore == ORE_DIAMOND) ore_chunk.icon_state = "ore_diamond" - else if(ore == "platinum") + else if(ore == ORE_PLATINUM) ore_chunk.icon_state = "ore_platinum" - else if(ore == "marble") + else if(ore == ORE_MARBLE) ore_chunk.icon_state = "ore_marble" - else if(ore == "lead") + else if(ore == ORE_LEAD) ore_chunk.icon_state = "ore_lead" - else if(ore == "rutile") + else if(ore == ORE_RUTILE) ore_chunk.icon_state = "ore_rutile" - else if(ore == "quartz") + else if(ore == ORE_QUARTZ) ore_chunk.icon_state = "ore_quartz" - else if(ore == "mhydrogen") + else if(ore == ORE_MHYDROGEN) ore_chunk.icon_state = "ore_hydrogen" - else if(ore == "verdantium") + else if(ore == ORE_VERDANTIUM) ore_chunk.icon_state = "ore_verdantium" - else if(ore == "raw copper") + else if(ore == ORE_COPPER) ore_chunk.icon_state = "ore_copper" - else if(ore == "raw tin") + else if(ore == ORE_TIN) ore_chunk.icon_state = "ore_tin" - else if(ore == "void opal") + else if(ore == ORE_VOPAL) ore_chunk.icon_state = "ore_void_opal" - else if(ore == "raw bauxite") + else if(ore == ORE_BAUXITE) ore_chunk.icon_state = "ore_bauxite" - else if(ore == "painite") + else if(ore == ORE_PAINITE) ore_chunk.icon_state = "ore_painite" else ore_chunk.icon_state = "boulder[rand(1,4)]" @@ -102,4 +102,4 @@ O.loc = src.output.loc else return - return \ No newline at end of file + return diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 0d0aeb0788..33df51c07d 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -56,26 +56,26 @@ var/list/mining_overlay_cache = list() var/ignore_mapgen var/static/list/ore_types = list( - "hematite" = /obj/item/ore/iron, - "uranium" = /obj/item/ore/uranium, - "gold" = /obj/item/ore/gold, - "silver" = /obj/item/ore/silver, - "diamond" = /obj/item/ore/diamond, - "phoron" = /obj/item/ore/phoron, - "platinum" = /obj/item/ore/osmium, - "mhydrogen" = /obj/item/ore/hydrogen, - "sand" = /obj/item/ore/glass, - "carbon" = /obj/item/ore/coal, - "verdantium" = /obj/item/ore/verdantium, - "marble" = /obj/item/ore/marble, - "lead" = /obj/item/ore/lead, -// "copper" = /obj/item/ore/copper, -// "tin" = /obj/item/ore/tin, -// "bauxite" = /obj/item/ore/bauxite, -// "void opal" = /obj/item/ore/void_opal, -// "painite" = /obj/item/ore/painite, -// "quartz" = /obj/item/ore/quartz, - "rutile" = /obj/item/ore/rutile + ORE_HEMATITE = /obj/item/ore/iron, + ORE_URANIUM = /obj/item/ore/uranium, + ORE_GOLD = /obj/item/ore/gold, + ORE_SILVER = /obj/item/ore/silver, + ORE_DIAMOND = /obj/item/ore/diamond, + ORE_PHORON = /obj/item/ore/phoron, + ORE_PLATINUM = /obj/item/ore/osmium, + ORE_MHYDROGEN = /obj/item/ore/hydrogen, + ORE_SAND = /obj/item/ore/glass, + ORE_CARBON = /obj/item/ore/coal, + ORE_VERDANTIUM = /obj/item/ore/verdantium, + ORE_MARBLE = /obj/item/ore/marble, + ORE_LEAD = /obj/item/ore/lead, +// ORE_COPPER = /obj/item/ore/copper, +// ORE_TIN = /obj/item/ore/tin, +// ORE_BAUXITE = /obj/item/ore/bauxite, +// ORE_VOPAL = /obj/item/ore/void_opal, +// ORE_PAINITE = /obj/item/ore/painite, +// ORE_QUARTZ = /obj/item/ore/quartz, + ORE_RUTILE = /obj/item/ore/rutile ) has_resources = 1 @@ -736,10 +736,10 @@ var/list/mining_overlay_cache = list() var/mineral_name if(rare_ore) - mineral_name = pickweight(list("marble" = 5,/* "quartz" = 15, "copper" = 10, "tin" = 5, "bauxite" = 5*/, "uranium" = 15, "platinum" = 20, "hematite" = 15, "rutile" = 20, "carbon" = 15, "diamond" = 3, "gold" = 15, "silver" = 15, "phoron" = 25, "lead" = 5,/* "void opal" = 1,*/ "verdantium" = 2/*, "painite" = 1*/)) + mineral_name = pickweight(list(ORE_MARBLE = 5,/* ORE_QUARTZ = 15, ORE_COPPER = 10, ORE_TIN = 5, ORE_BAUXITE = 5*/, ORE_URANIUM = 15, ORE_PLATINUM = 20, ORE_HEMATITE = 15, ORE_RUTILE = 20, ORE_CARBON = 15, ORE_DIAMOND = 3, ORE_GOLD = 15, ORE_SILVER = 15, ORE_PHORON = 25, ORE_LEAD = 5,/* ORE_VOPAL = 1,*/ ORE_VERDANTIUM = 2/*, ORE_PAINITE = 1*/)) else - mineral_name = pickweight(list("marble" = 3,/* "quartz" = 10, "copper" = 20, "tin" = 15, "bauxite" = 15*/, "uranium" = 10, "platinum" = 10, "hematite" = 70, "rutile" = 15, "carbon" = 70, "diamond" = 2, "gold" = 10, "silver" = 10, "phoron" = 20, "lead" = 3,/* "void opal" = 1,*/ "verdantium" = 1/*, "painite" = 1*/)) + mineral_name = pickweight(list(ORE_MARBLE = 3,/* ORE_QUARTZ = 10, ORE_COPPER = 20, ORE_TIN = 15, ORE_BAUXITE = 15*/, ORE_URANIUM = 10, ORE_PLATINUM = 10, ORE_HEMATITE = 70, ORE_RUTILE = 15, ORE_CARBON = 70, ORE_DIAMOND = 2, ORE_GOLD = 10, ORE_SILVER = 10, ORE_PHORON = 20, ORE_LEAD = 3,/* ORE_VOPAL = 1,*/ ORE_VERDANTIUM = 1/*, ORE_PAINITE = 1*/)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 08a1c5a2da..26667c159e 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -11,31 +11,31 @@ name = "pitchblende" icon_state = "ore_uranium" origin_tech = list(TECH_MATERIAL = 5) - material = "uranium" + material = ORE_URANIUM /obj/item/ore/iron - name = "hematite" + name = ORE_HEMATITE icon_state = "ore_iron" origin_tech = list(TECH_MATERIAL = 1) - material = "hematite" + material = ORE_HEMATITE /obj/item/ore/coal name = "raw carbon" icon_state = "ore_coal" origin_tech = list(TECH_MATERIAL = 1) - material = "carbon" + material = ORE_CARBON /obj/item/ore/marble name = "recrystallized carbonate" icon_state = "ore_marble" origin_tech = list(TECH_MATERIAL = 1) - material = "marble" + material = ORE_MARBLE /obj/item/ore/glass - name = "sand" + name = ORE_SAND icon_state = "ore_glass" origin_tech = list(TECH_MATERIAL = 1) - material = "sand" + material = ORE_SAND slot_flags = SLOT_HOLSTER // POCKET SAND! @@ -54,40 +54,40 @@ name = "phoron crystals" icon_state = "ore_phoron" origin_tech = list(TECH_MATERIAL = 2) - material = "phoron" + material = ORE_PHORON /obj/item/ore/silver name = "native silver ore" icon_state = "ore_silver" origin_tech = list(TECH_MATERIAL = 3) - material = "silver" + material = ORE_SILVER /obj/item/ore/gold name = "native gold ore" icon_state = "ore_gold" origin_tech = list(TECH_MATERIAL = 4) - material = "gold" + material = ORE_GOLD /obj/item/ore/diamond name = "diamonds" icon_state = "ore_diamond" origin_tech = list(TECH_MATERIAL = 6) - material = "diamond" + material = ORE_DIAMOND /obj/item/ore/osmium name = "raw platinum" icon_state = "ore_platinum" - material = "platinum" + material = ORE_PLATINUM /obj/item/ore/hydrogen name = "raw hydrogen" icon_state = "ore_hydrogen" - material = "mhydrogen" + material = ORE_MHYDROGEN /obj/item/ore/verdantium name = "verdantite dust" icon_state = "ore_verdantium" - material = MAT_VERDANTIUM + material = ORE_VERDANTIUM origin_tech = list(TECH_MATERIAL = 7) // POCKET ... Crystal dust. @@ -104,43 +104,43 @@ /obj/item/ore/lead name = "lead glance" icon_state = "ore_lead" - material = MAT_LEAD + material = ORE_LEAD origin_tech = list(TECH_MATERIAL = 3) /* /obj/item/ore/copper name = "raw copper" icon_state = "ore_copper" - material = "copper" + material = ORE_COPPER /obj/item/ore/tin name = "raw tin" icon_state = "ore_tin" - material = "tin" + material = ORE_TIN /obj/item/ore/bauxite name = "raw bauxite" icon_state = "ore_bauxite" - material = "bauxite" + material = ORE_BAUXITE */ /obj/item/ore/rutile name = "raw rutile" icon_state = "ore_rutile" - material = "rutile" + material = ORE_RUTILE /* /obj/item/ore/void_opal name = "raw void opal" icon_state = "ore_void_opal" - material = "void opal" + material = ORE_VOPAL /obj/item/ore/painite name = "raw painite" icon_state = "ore_painite" - material = "painite" + material = ORE_PAINITE /obj/item/ore/quartz name = "raw quartz" icon_state = "ore_quartz" - material = "quartz" + material = ORE_QUARTZ */ /obj/item/ore/slag name = "Slag" @@ -179,26 +179,26 @@ randpixel = 8 w_class = ITEMSIZE_SMALL var/list/stored_ore = list( - "sand" = 0, - "hematite" = 0, - "carbon" = 0, - "raw copper" = 0, - "raw tin" = 0, - "void opal" = 0, - "painite" = 0, - "quartz" = 0, - "raw bauxite" = 0, - "phoron" = 0, - "silver" = 0, - "gold" = 0, - "marble" = 0, - "uranium" = 0, - "diamond" = 0, - "platinum" = 0, - "lead" = 0, - "mhydrogen" = 0, - "verdantium" = 0, - "rutile" = 0) + ORE_SAND = 0, + ORE_HEMATITE = 0, + ORE_CARBON = 0, + ORE_COPPER = 0, + ORE_TIN = 0, + ORE_VOPAL = 0, + ORE_PAINITE = 0, + ORE_QUARTZ = 0, + ORE_BAUXITE = 0, + ORE_PHORON = 0, + ORE_SILVER = 0, + ORE_GOLD = 0, + ORE_MARBLE = 0, + ORE_URANIUM = 0, + ORE_DIAMOND = 0, + ORE_PLATINUM = 0, + ORE_LEAD = 0, + ORE_MHYDROGEN = 0, + ORE_VERDANTIUM = 0, + ORE_RUTILE = 0) /obj/item/ore_chunk/examine(mob/user) . = ..() diff --git a/code/modules/mining/ore_box.dm b/code/modules/mining/ore_box.dm index 35dac00347..f119a6e8d3 100644 --- a/code/modules/mining/ore_box.dm +++ b/code/modules/mining/ore_box.dm @@ -8,26 +8,26 @@ density = TRUE var/last_update = 0 var/list/stored_ore = list( - "sand" = 0, - "hematite" = 0, - "carbon" = 0, - "raw copper" = 0, - "raw tin" = 0, - "void opal" = 0, - "painite" = 0, - "quartz" = 0, - "raw bauxite" = 0, - "phoron" = 0, - "silver" = 0, - "gold" = 0, - "marble" = 0, - "uranium" = 0, - "diamond" = 0, - "platinum" = 0, - "lead" = 0, - "mhydrogen" = 0, - "verdantium" = 0, - "rutile" = 0) + ORE_SAND = 0, + ORE_HEMATITE = 0, + ORE_CARBON = 0, + ORE_COPPER = 0, + ORE_TIN = 0, + ORE_VOPAL = 0, + ORE_PAINITE = 0, + ORE_QUARTZ = 0, + ORE_BAUXITE = 0, + ORE_PHORON = 0, + ORE_SILVER = 0, + ORE_GOLD = 0, + ORE_MARBLE = 0, + ORE_URANIUM = 0, + ORE_DIAMOND = 0, + ORE_PLATINUM = 0, + ORE_LEAD = 0, + ORE_MHYDROGEN = 0, + ORE_VERDANTIUM = 0, + ORE_RUTILE = 0) /obj/structure/ore_box/attackby(obj/item/W as obj, mob/user as mob) diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index 697abc9c7c..df1528e104 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -14,8 +14,8 @@ "thousand" = 999, "million" = 999 ) - var/xarch_source_mineral = "iron" - var/reagent = "silicate" + var/xarch_source_mineral = REAGENT_ID_IRON + var/reagent = REAGENT_ID_SILICATE /ore/New() . = ..() @@ -23,9 +23,9 @@ display_name = name /ore/uranium - name = "uranium" + name = ORE_URANIUM display_name = "pitchblende" - smelts_to = "uranium" + smelts_to = MAT_URANIUM result_amount = 5 spread_chance = 10 ore = /obj/item/ore/uranium @@ -34,43 +34,43 @@ "thousand" = 999, "million" = 704 ) - xarch_source_mineral = "potassium" - reagent = "uranium" + xarch_source_mineral = REAGENT_ID_POTASSIUM + reagent = REAGENT_ID_URANIUM /ore/hematite - name = "hematite" - display_name = "hematite" - smelts_to = "iron" + name = ORE_HEMATITE + display_name = ORE_HEMATITE + smelts_to = MAT_IRON alloy = 1 result_amount = 5 spread_chance = 25 ore = /obj/item/ore/iron scan_icon = "mineral_common" - reagent = "iron" + reagent = REAGENT_ID_IRON /ore/coal - name = "carbon" + name = ORE_CARBON display_name = "raw carbon" - smelts_to = "plastic" - compresses_to = "graphite" + smelts_to = MAT_PLASTIC + compresses_to = MAT_GRAPHITE alloy = 1 result_amount = 5 spread_chance = 25 ore = /obj/item/ore/coal scan_icon = "mineral_common" - reagent = "carbon" + reagent = REAGENT_ID_CARBON /ore/glass - name = "sand" - display_name = "sand" - smelts_to = "glass" + name = ORE_SAND + display_name = ORE_SAND + smelts_to = MAT_GLASS alloy = 1 - compresses_to = "sandstone" + compresses_to = MAT_SANDSTONE /ore/phoron - name = "phoron" + name = ORE_PHORON display_name = "phoron crystals" - compresses_to = "phoron" + compresses_to = MAT_PHORON //smelts_to = something that explodes violently on the conveyor, huhuhuhu result_amount = 5 spread_chance = 25 @@ -82,22 +82,22 @@ "billion" = 13, "billion_lower" = 10 ) - xarch_source_mineral = "phoron" - reagent = "phoron" + xarch_source_mineral = REAGENT_ID_PHORON + reagent = REAGENT_ID_PHORON /ore/silver - name = "silver" + name = ORE_SILVER display_name = "native silver" - smelts_to = "silver" + smelts_to = MAT_SILVER result_amount = 5 spread_chance = 10 ore = /obj/item/ore/silver scan_icon = "mineral_uncommon" - reagent = "silver" + reagent = REAGENT_ID_SILVER /ore/gold - smelts_to = "gold" - name = "gold" + name = ORE_GOLD + smelts_to = MAT_GOLD display_name = "native gold" result_amount = 5 spread_chance = 10 @@ -109,42 +109,42 @@ "billion" = 4, "billion_lower" = 3 ) - reagent = "gold" + reagent = REAGENT_ID_GOLD /ore/diamond - name = "diamond" - display_name = "diamond" + name = ORE_DIAMOND + display_name = ORE_DIAMOND alloy = 1 - compresses_to = "diamond" + compresses_to = MAT_DIAMOND result_amount = 5 spread_chance = 10 ore = /obj/item/ore/diamond scan_icon = "mineral_rare" - xarch_source_mineral = "nitrogen" - reagent = "carbon" + xarch_source_mineral = REAGENT_ID_NITROGEN + reagent = REAGENT_ID_CARBON /ore/platinum - name = "platinum" + name = ORE_PLATINUM display_name = "raw platinum" - smelts_to = "platinum" - compresses_to = "osmium" + smelts_to = MAT_PLATINUM + compresses_to = MAT_OSMIUM alloy = 1 result_amount = 5 spread_chance = 10 ore = /obj/item/ore/osmium scan_icon = "mineral_rare" - reagent = "platinum" + reagent = REAGENT_ID_PLATINUM /ore/hydrogen - name = "mhydrogen" + name = ORE_MHYDROGEN display_name = "metallic hydrogen" - smelts_to = "tritium" - compresses_to = "mhydrogen" + smelts_to = MAT_TRITIUM + compresses_to = MAT_METALHYDROGEN scan_icon = "mineral_rare" - reagent = "hydrogen" + reagent = REAGENT_ID_HYDROGEN /ore/verdantium - name = MAT_VERDANTIUM + name = ORE_VERDANTIUM display_name = "crystalline verdantite" compresses_to = MAT_VERDANTIUM result_amount = 2 @@ -157,40 +157,40 @@ ) /ore/marble - name = MAT_MARBLE + name = ORE_MARBLE display_name = "recrystallized carbonate" - compresses_to = "marble" + compresses_to = MAT_MARBLE result_amount = 1 spread_chance = 10 ore = /obj/item/ore/marble scan_icon = "mineral_common" - reagent = "calciumcarbonate" + reagent = REAGENT_ID_CALCIUMCARBONATE /ore/lead - name = MAT_LEAD + name = ORE_LEAD display_name = "lead glance" - smelts_to = "lead" + smelts_to = MAT_LEAD result_amount = 3 spread_chance = 20 ore = /obj/item/ore/lead scan_icon = "mineral_rare" - reagent = "lead" + reagent = REAGENT_ID_LEAD /* /ore/copper - name = "copper" - display_name = "copper" - smelts_to = "copper" + name = ORE_COPPER + display_name = ORE_COPPER + smelts_to = MAT_COPPER alloy = 1 result_amount = 5 spread_chance = 15 ore = /obj/item/ore/copper scan_icon = "mineral_common" - reagent = "copper" + reagent = REAGENT_ID_COPPER /ore/tin - name = "tin" - display_name = "tin" - smelts_to = "tin" + name = ORE_TIN + display_name = ORE_TIN + smelts_to = MAT_TIN alloy = 1 result_amount = 5 spread_chance = 10 @@ -198,28 +198,28 @@ scan_icon = "mineral_common" /ore/quartz - name = "quartz" + name = ORE_QUARTZ display_name = "unrefined quartz" - compresses_to = "quartz" + compresses_to = MAT_QUARTZ result_amount = 5 spread_chance = 5 ore = /obj/item/ore/quartz scan_icon = "mineral_common" /ore/bauxite - name = "bauxite" - display_name = "bauxite" - smelts_to = "aluminium" + name = ORE_BAUXITE + display_name = ORE_BAUXITE + smelts_to = MAT_ALUMINIUM result_amount = 5 spread_chance = 25 ore = /obj/item/ore/bauxite scan_icon = "mineral_common" - reagent = "aluminum" + reagent = REAGENT_ID_ALUMINIUM */ /ore/rutile - name = "rutile" - display_name = "rutile" - smelts_to = "titanium" + name = ORE_RUTILE + display_name = ORE_RUTILE + smelts_to = MAT_TITANIUM result_amount = 5 spread_chance = 12 alloy = 1 @@ -227,20 +227,20 @@ scan_icon = "mineral_uncommon" /* /ore/painite - name = "painite" + name = ORE_PAINITE display_name = "rough painite" - compresses_to = "painite" + compresses_to = MAT_PAINITE result_amount = 5 spread_chance = 3 ore = /obj/item/ore/painite scan_icon = "mineral_rare" /ore/void_opal - name = "void opal" + name = ORE_VOPAL display_name = "rough void opal" - compresses_to = "void opal" + compresses_to = MAT_VOPAL result_amount = 5 spread_chance = 1 ore = /obj/item/ore/void_opal scan_icon = "mineral_rare" -*/ \ No newline at end of file +*/ diff --git a/code/modules/mining/ore_datum_vr.dm b/code/modules/mining/ore_datum_vr.dm index a8413cbd0c..bc5a7396a6 100644 --- a/code/modules/mining/ore_datum_vr.dm +++ b/code/modules/mining/ore_datum_vr.dm @@ -1,9 +1,9 @@ /ore/rutile - name = "rutile" - display_name = "rutile" - smelts_to = "titanium" + name = ORE_RUTILE + display_name = ORE_RUTILE + smelts_to = MAT_TITANIUM alloy = 1 result_amount = 5 spread_chance = 10 ore = /obj/item/ore/rutile - scan_icon = "mineral_rare" \ No newline at end of file + scan_icon = "mineral_rare" diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index 798c8eea57..a31d6ba190 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -19,8 +19,8 @@ new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 100), new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300), - new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), - new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), + new /datum/data/mining_equipment(REAGENT_WHISKEY, /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), + new /datum/data/mining_equipment(REAGENT_ABSINTHE, /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 150), new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200), new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 900), @@ -153,7 +153,7 @@ EQUIPMENT("Hardsuit - Proto-Kinetic Gauntlets", /obj/item/rig_module/gauntlets, 2000), ) prize_list["Miscellaneous"] = list( - EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), + EQUIPMENT(REAGENT_ABSINTHE, /obj/item/reagent_containers/food/drinks/bottle/absinthe, 125), EQUIPMENT("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 150), EQUIPMENT("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 500), EQUIPMENT("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 1000), @@ -165,7 +165,7 @@ EQUIPMENT("Thalers - 100", /obj/item/spacecash/c100, 1000), EQUIPMENT("Thalers - 1000", /obj/item/spacecash/c1000, 10000), EQUIPMENT("Umbrella", /obj/item/melee/umbrella/random, 200), - EQUIPMENT("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), + EQUIPMENT(REAGENT_WHISKEY, /obj/item/reagent_containers/food/drinks/bottle/whiskey, 125), EQUIPMENT("Mining PSG Upgrade Disk", /obj/item/borg/upgrade/shield_upgrade, 2500), ) prize_list["Extra"] = list() // Used in child vendors diff --git a/code/modules/mining/ore_redemption_machine/survey_vendor.dm b/code/modules/mining/ore_redemption_machine/survey_vendor.dm index d56ab6c368..3ade4b501b 100644 --- a/code/modules/mining/ore_redemption_machine/survey_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/survey_vendor.dm @@ -12,8 +12,8 @@ new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 10), new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 30), - new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 120), - new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 120), + new /datum/data/mining_equipment(REAGENT_WHISKEY, /obj/item/reagent_containers/food/drinks/bottle/whiskey, 120), + new /datum/data/mining_equipment(REAGENT_ABSINTHE, /obj/item/reagent_containers/food/drinks/bottle/absinthe, 120), new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 15), new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 20), new /datum/data/mining_equipment("Laser Pointer", /obj/item/laser_pointer, 90), @@ -96,8 +96,8 @@ EQUIPMENT("Survey Tools - Binoculars", /obj/item/binoculars,40), ) prize_list["Miscellaneous"] = list( - EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe, 10), - EQUIPMENT("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 10), + EQUIPMENT(REAGENT_ABSINTHE, /obj/item/reagent_containers/food/drinks/bottle/absinthe, 10), + EQUIPMENT(REAGENT_WHISKEY, /obj/item/reagent_containers/food/drinks/bottle/whiskey, 10), EQUIPMENT("Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 15), EQUIPMENT("Digital Tablet - Standard", /obj/item/modular_computer/tablet/preset/custom_loadout/standard, 50), EQUIPMENT("Digital Tablet - Advanced", /obj/item/modular_computer/tablet/preset/custom_loadout/advanced, 100), diff --git a/code/modules/mob/dead/observer/chunk.dm b/code/modules/mob/dead/observer/chunk.dm new file mode 100644 index 0000000000..5efe8fcd5b --- /dev/null +++ b/code/modules/mob/dead/observer/chunk.dm @@ -0,0 +1,113 @@ +// GHOST CHUNK +// +// A 16x16 grid of the map with a list of turfs that can be seen, are visible and are dimmed. +// Allows ghosts to see turfs of non AREA_BLOCK_GHOST_SIGHT flagged areas within these chunks. + +/datum/chunk/ghost + var/list/hidden_areas = list() + +/datum/chunk/ghost/add(mob/observer/dead/ghost, add_images = TRUE) + if(add_images) + var/client/client = ghost.client + if(client) + client.images += obscured + ghost.visibleChunks += src + visible++ + seenby += ghost + if(changed && !updating) + update() + +/datum/chunk/ghost/remove(mob/observer/dead/ghost, remove_images = TRUE) + if(remove_images) + var/client/client = ghost.client + if(client) + client.images -= obscured + ghost.visibleChunks -= src + seenby -= ghost + if(visible > 0) + visible-- + +/datum/chunk/ghost/acquireVisibleTurfs(var/list/invisible) + + for(var/area/A in hidden_areas) + + for(var/turf/T in A.contents) + invisible[T] = T + +// Don't call the parernt, we work inverted! +/datum/chunk/ghost/New(loc, x, y, z) + for(var/area/A in range(16, locate(x + 8, y + 8, z))) + if(A.flag_check(AREA_BLOCK_GHOST_SIGHT)) + hidden_areas += A + + // 0xf = 15 + x &= ~0xf + y &= ~0xf + + src.x = x + src.y = y + src.z = z + + for(var/turf/t in range(10, locate(x + 8, y + 8, z))) + if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) + turfs[t] = t + + acquireVisibleTurfs(obscuredTurfs) + + // Removes turf that isn't in turfs. + obscuredTurfs &= turfs + + visibleTurfs = turfs - obscuredTurfs + + for(var/turf/t as anything in obscuredTurfs) + LAZYINITLIST(t.obfuscations) + if(!t.obfuscations[obfuscation.type]) + var/image/ob_image = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + ob_image.plane = PLANE_FULLSCREEN + t.obfuscations[obfuscation.type] = ob_image + obscured += t.obfuscations[obfuscation.type] + +/datum/chunk/ghost/update() + + set background = 1 + + var/list/newInvisibleTurfs = new() + acquireVisibleTurfs(newInvisibleTurfs) + + // Removes turf that isn't in turfs. + newInvisibleTurfs &= turfs + + var/list/visAdded = obscuredTurfs - newInvisibleTurfs + var/list/visRemoved = newInvisibleTurfs - obscuredTurfs + + visibleTurfs = turfs - newInvisibleTurfs + obscuredTurfs = newInvisibleTurfs + + for(var/turf/t as anything in visAdded) + if(LAZYLEN(t.obfuscations) && t.obfuscations[obfuscation.type]) + obscured -= t.obfuscations[obfuscation.type] + for(var/mob/observer/dead/m as anything in seenby) + if(!m) + continue + var/client/client = m.client + if(client) + client.images -= t.obfuscations[obfuscation.type] + + for(var/turf/t as anything in visRemoved) + if(obscuredTurfs[t]) + LAZYINITLIST(t.obfuscations) + if(!t.obfuscations[obfuscation.type]) + var/image/ob_image = image(obfuscation.icon, t, obfuscation.icon_state, OBFUSCATION_LAYER) + ob_image.plane = PLANE_FULLSCREEN + t.obfuscations[obfuscation.type] = ob_image + + obscured += t.obfuscations[obfuscation.type] + for(var/mob/observer/dead/m as anything in seenby) + if(!m) + seenby -= m + continue + if(!m.checkStatic()) + continue + var/client/client = m.client + if(client) + client.images += t.obfuscations[obfuscation.type] diff --git a/code/modules/mob/dead/observer/ghostnet.dm b/code/modules/mob/dead/observer/ghostnet.dm new file mode 100644 index 0000000000..b9e6952d19 --- /dev/null +++ b/code/modules/mob/dead/observer/ghostnet.dm @@ -0,0 +1,92 @@ +// GHOST NET +// +// The datum containing all the hidden chunks. + +/datum/visualnet/ghost + chunk_type = /datum/chunk/ghost + +/datum/visualnet/ghost/proc/addVisibility(list/moved_eyes, client/C) + if(!islist(moved_eyes)) + moved_eyes = moved_eyes ? list(moved_eyes) : list() + + var/list/chunks_pre_seen = list() + + for(var/mob/observer/dead/ghost as anything in moved_eyes) + if(C) + chunks_pre_seen |= ghost.visibleChunks + + if(C) + for(var/datum/chunk/ghost/c as anything in chunks_pre_seen) + for(var/mob/observer/dead/ghost as anything in moved_eyes) + c.remove(ghost) + +/datum/visualnet/ghost/proc/removeVisibility(list/moved_eyes, client/C) + if(!islist(moved_eyes)) + moved_eyes = moved_eyes ? list(moved_eyes) : list() + + var/list/chunks_post_seen = list() + + for(var/mob/observer/dead/ghost as anything in moved_eyes) + // 0xf = 15 + var/static_range = ghost.static_visibility_range + var/x1 = max(0, ghost.x - static_range) & ~(CHUNK_SIZE - 1) + var/y1 = max(0, ghost.y - static_range) & ~(CHUNK_SIZE - 1) + var/x2 = min(world.maxx, ghost.x + static_range) & ~(CHUNK_SIZE - 1) + var/y2 = min(world.maxy, ghost.y + static_range) & ~(CHUNK_SIZE - 1) + + var/list/visibleChunks = list() + + for(var/x = x1; x <= x2; x += CHUNK_SIZE) + for(var/y = y1; y <= y2; y += CHUNK_SIZE) + visibleChunks |= getChunk(x, y, ghost.z) + + var/list/add = visibleChunks - ghost.visibleChunks + + for(var/datum/chunk/ghost/c as anything in add) + c.add(ghost, FALSE) + + if(C) + chunks_post_seen |= ghost.visibleChunks + + if(C) + + for(var/datum/chunk/c as anything in chunks_post_seen) + C.images += c.obscured + +// Removes a area from a chunk. +/datum/visualnet/ghost/proc/removeArea(area/A) + if(!A.flag_check(AREA_BLOCK_GHOST_SIGHT)) + majorChunkChange(A, 0) + +// Add a area to a chunk. +/datum/visualnet/ghost/proc/addArea(area/A) + if(A.flag_check(AREA_BLOCK_GHOST_SIGHT)) + majorChunkChange(A, 1) + +// Used for ghost visible areas. Since portable areas can be in ANY chunk. +/datum/visualnet/ghost/proc/updateArea(area/A) + if(A.flag_check(AREA_BLOCK_GHOST_SIGHT)) + majorChunkChange(A, 1) + else + majorChunkChange(A, 0) + +/datum/visualnet/ghost/majorChunkChange(area/A, var/choice) + if(choice == 2) + return + for(var/entry in chunks) + var/datum/chunk/ghost/gchunk = chunks[entry] + for(var/turf/T in gchunk.turfs) + if(T.loc == A) + onMajorChunkChange(A, choice, gchunk) + gchunk.hasChanged(TRUE) + break + +/datum/visualnet/ghost/onMajorChunkChange(atom/c, var/choice, var/datum/chunk/ghost/chunk) +// Only add actual areas to the list of areas + if(istype(c, /area)) + if(choice == 0) + // Remove the area. + chunk.hidden_areas -= c + else if(choice == 1) + // You can't have the same area in the list twice. + chunk.hidden_areas |= c diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d0d103c1fe..556c04083c 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -13,6 +13,9 @@ canmove = 0 blinded = 0 anchored = TRUE // don't get pushed around + var/list/visibleChunks = list() + var/datum/visualnet/ghost/visualnet + var/static_visibility_range = 16 var/can_reenter_corpse var/datum/hud/living/carbon/hud = null // hud @@ -88,13 +91,14 @@ var/last_revive_notification = null // world.time of last notification, used to avoid spamming players from defibs or cloners. var/cleanup_timer // Refernece to a timer that will delete this mob if no client returns -/mob/observer/dead/New(mob/body) +/mob/observer/dead/New(mob/body, aghost = FALSE) appearance = body invisibility = INVISIBILITY_OBSERVER layer = BELOW_MOB_LAYER plane = PLANE_GHOSTS alpha = 127 + admin_ghosted = aghost sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF see_invisible = SEE_INVISIBLE_OBSERVER @@ -128,7 +132,7 @@ if(!T && length(latejoin)) T = pick(latejoin) //Safety in case we cannot find the body's position if(T) - forceMove(T) + forceMove(T, just_spawned = TRUE) else moveToNullspace() to_chat(src, span_danger("Could not locate an observer spawn point. Use the Teleport verb to jump to the station map.")) @@ -140,6 +144,17 @@ animate(pixel_y = default_pixel_y, time = 10, loop = -1) observer_mob_list += src ..() + visualnet = ghostnet + +/mob/observer/dead/proc/checkStatic() + return !(check_rights(R_ADMIN|R_FUN|R_EVENT|R_SERVER, 0, src) || (client && client.buildmode) || isbelly(loc)) + +/mob/observer/dead/Moved(atom/old_loc, direction, forced) + . = ..() + if(isbelly(loc) && !isbelly(old_loc)) + visualnet.addVisibility() + if(visualnet && checkStatic()) + visualnet.visibility(src, client) /mob/observer/dead/Topic(href, href_list) if (href_list["track"]) @@ -196,7 +211,7 @@ Works together with spawning an observer, noted above. if(!isturf(loc)) return var/area/A = get_area(src) - if(A.flag_check(AREA_BLOCK_GHOSTS)) + if(A.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(loc)) to_chat(src, span_warning("Ghosts can't enter this location.")) return_to_spawn() @@ -209,14 +224,14 @@ Works together with spawning an observer, noted above. forceMove(O.loc) //RS Port #658 End -/mob/proc/ghostize(var/can_reenter_corpse = 1) +/mob/proc/ghostize(var/can_reenter_corpse = 1, var/aghost = FALSE) if(key) if(ishuman(src)) var/mob/living/carbon/human/H = src if(H.vr_holder && !can_reenter_corpse) H.exit_vr() return 0 - var/mob/observer/dead/ghost = new(src) //Transfer safety to observer spawning proc. + var/mob/observer/dead/ghost = new(src, aghost) //Transfer safety to observer spawning proc. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.timeofdeath //BS12 EDIT ghost.key = key @@ -258,9 +273,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/turf/location = get_turf(src) var/special_role = check_special_role() if(!istype(loc,/obj/machinery/cryopod)) - log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (JMP)",usr) + log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (JMP)",usr) else if(special_role) - log_and_message_admins("has ghosted in cryo as [special_role]. (JMP)",usr) + log_and_message_admins("has ghosted in cryo as [special_role]. (JMP)",usr) var/mob/observer/dead/ghost = ghostize(0) // 0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 if(ghost) ghost.timeofdeath = world.time // Because the living mob won't have a time of death and we want the respawn timer to work properly. @@ -440,7 +455,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ManualFollow(M || jumpable_mobs()[mobname]) -/mob/observer/dead/forceMove(atom/destination) +/mob/observer/dead/forceMove(atom/destination, just_spawned = FALSE) if(client?.holder) return ..() @@ -452,7 +467,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp //RS Port #658 Start var/area/A = get_area(destination) - if(A.flag_check(AREA_BLOCK_GHOSTS)) + if(A?.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(destination) && !admin_ghosted && !just_spawned) to_chat(src,span_warning("Sorry, that area does not allow ghosts.")) if(following) stop_following() @@ -572,6 +587,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return ..() /mob/observer/dead/Destroy() + visualnet = null if(ismob(following)) var/mob/M = following M.following_mobs -= src @@ -1063,7 +1079,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp to_chat(src, span_ghostalert("[message]")) if(source) throw_alert("\ref[source]_notify_revive", /obj/screen/alert/notify_cloning, new_master = source) - to_chat(src, span_ghostalert("(Click to re-enter)")) + to_chat(src, span_ghostalert("(Click to re-enter)")) if(sound) SEND_SOUND(src, sound(sound)) diff --git a/code/modules/mob/freelook/visualnet.dm b/code/modules/mob/freelook/visualnet.dm index 2af7ffacd6..d153701cdd 100644 --- a/code/modules/mob/freelook/visualnet.dm +++ b/code/modules/mob/freelook/visualnet.dm @@ -2,8 +2,6 @@ // // The datum containing all the chunks. -#define CHUNK_SIZE 16 - /datum/visualnet // The chunks of the map, mapping the areas that an object can see. var/list/chunks = list() @@ -159,5 +157,3 @@ var/datum/chunk/chunk = cameranet.getCameraChunk(x, y, z) usr.client.debug_variables(chunk) */ - -#undef CHUNK_SIZE diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index edf17d0995..1920ae6e09 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -223,7 +223,7 @@ if(do_after(src, 30, A)) visible_message(span_notice("[src] fertilizes \the [A].")) - T.reagents.add_reagent("ammonia", 10) + T.reagents.add_reagent(REAGENT_ID_AMMONIA, 10) busy = 0 action = "" diff --git a/code/modules/mob/living/bot/medbot.dm b/code/modules/mob/living/bot/medbot.dm index 205952f0a0..2ca495e5c9 100644 --- a/code/modules/mob/living/bot/medbot.dm +++ b/code/modules/mob/living/bot/medbot.dm @@ -31,12 +31,12 @@ var/injection_amount = 15 //How much reagent do we inject at a time? var/heal_threshold = 10 //Start healing when they have this much damage in a category var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents. - var/treatment_brute = "tricordrazine" - var/treatment_oxy = "tricordrazine" - var/treatment_fire = "tricordrazine" - var/treatment_tox = "tricordrazine" - var/treatment_virus = "spaceacillin" - var/treatment_emag = "toxin" + var/treatment_brute = REAGENT_ID_TRICORDRAZINE + var/treatment_oxy = REAGENT_ID_TRICORDRAZINE + var/treatment_fire = REAGENT_ID_TRICORDRAZINE + var/treatment_tox = REAGENT_ID_TRICORDRAZINE + var/treatment_virus = REAGENT_ID_SPACEACILLIN + var/treatment_emag = REAGENT_ID_TOXIN var/declare_treatment = 0 //When attempting to treat a patient, should it notify everyone wearing medhuds? // Are we tipped over? @@ -52,10 +52,10 @@ name = "\improper Mysterious Medibot" desc = "International Medibot of mystery." skin = "bezerk" - treatment_brute = "bicaridine" - treatment_fire = "dermaline" - treatment_oxy = "dexalin" - treatment_tox = "anti_toxin" + treatment_brute = REAGENT_ID_BICARIDINE + treatment_fire = REAGENT_ID_DERMALINE + treatment_oxy = REAGENT_ID_DEXALIN + treatment_tox = REAGENT_ID_ANTITOXIN /mob/living/bot/medbot/handleIdle() if(is_tipped) // Don't handle idle things if we're incapacitated! diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index 641e572586..457b94b5e6 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -5,7 +5,7 @@ if(!environment) return var/turf/T = get_turf(src) - if(environment.gas["phoron"] > 0 || (T && locate(/obj/effect/alien/weeds) in T.contents)) + if(environment.gas[GAS_PHORON] > 0 || (T && locate(/obj/effect/alien/weeds) in T.contents)) update_progression() adjustBruteLoss(-1) adjustFireLoss(-1) diff --git a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm index f5b52e0929..b3537fc728 100644 --- a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm +++ b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm @@ -82,8 +82,8 @@ // ======== /datum/medical_effect/headache name = "Headache" - triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15) - cures = list("alkysine", "tramadol", "paracetamol", "oxycodone") + triggers = list(REAGENT_ID_CRYOXADONE = 10, REAGENT_ID_BICARIDINE = 15, REAGENT_ID_TRICORDRAZINE = 15) + cures = list(REAGENT_ID_ALKYSINE, REAGENT_ID_TRAMADOL, REAGENT_ID_PARACETAMOL, REAGENT_ID_OXYCODONE) cure_message = "Your head stops throbbing..." /datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength) @@ -99,8 +99,8 @@ // =========== /datum/medical_effect/bad_stomach name = "Bad Stomach" - triggers = list("kelotane" = 30, "dermaline" = 15) - cures = list("anti_toxin") + triggers = list(REAGENT_ID_KELOTANE = 30, REAGENT_ID_DERMALINE = 15) + cures = list(REAGENT_ID_ANTITOXIN) cure_message = "Your stomach feels a little better now..." /datum/medical_effect/bad_stomach/on_life(mob/living/carbon/human/H, strength) @@ -116,8 +116,8 @@ // ====== /datum/medical_effect/cramps name = "Cramps" - triggers = list("anti_toxin" = 30, "tramadol" = 15) - cures = list("inaprovaline") + triggers = list(REAGENT_ID_ANTITOXIN = 30, REAGENT_ID_TRAMADOL = 15) + cures = list(REAGENT_ID_INAPROVALINE) cure_message = "The cramps let up..." /datum/medical_effect/cramps/on_life(mob/living/carbon/human/H, strength) @@ -134,8 +134,8 @@ // ==== /datum/medical_effect/itch name = "Itch" - triggers = list("bliss" = 10) - cures = list("inaprovaline") + triggers = list(REAGENT_ID_BLISS = 10) + cures = list(REAGENT_ID_INAPROVALINE) cure_message = "The itching stops..." /datum/medical_effect/itch/on_life(mob/living/carbon/human/H, strength) diff --git a/code/modules/mob/living/carbon/human/chem_side_effects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm index f5b52e0929..b3537fc728 100644 --- a/code/modules/mob/living/carbon/human/chem_side_effects.dm +++ b/code/modules/mob/living/carbon/human/chem_side_effects.dm @@ -82,8 +82,8 @@ // ======== /datum/medical_effect/headache name = "Headache" - triggers = list("cryoxadone" = 10, "bicaridine" = 15, "tricordrazine" = 15) - cures = list("alkysine", "tramadol", "paracetamol", "oxycodone") + triggers = list(REAGENT_ID_CRYOXADONE = 10, REAGENT_ID_BICARIDINE = 15, REAGENT_ID_TRICORDRAZINE = 15) + cures = list(REAGENT_ID_ALKYSINE, REAGENT_ID_TRAMADOL, REAGENT_ID_PARACETAMOL, REAGENT_ID_OXYCODONE) cure_message = "Your head stops throbbing..." /datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength) @@ -99,8 +99,8 @@ // =========== /datum/medical_effect/bad_stomach name = "Bad Stomach" - triggers = list("kelotane" = 30, "dermaline" = 15) - cures = list("anti_toxin") + triggers = list(REAGENT_ID_KELOTANE = 30, REAGENT_ID_DERMALINE = 15) + cures = list(REAGENT_ID_ANTITOXIN) cure_message = "Your stomach feels a little better now..." /datum/medical_effect/bad_stomach/on_life(mob/living/carbon/human/H, strength) @@ -116,8 +116,8 @@ // ====== /datum/medical_effect/cramps name = "Cramps" - triggers = list("anti_toxin" = 30, "tramadol" = 15) - cures = list("inaprovaline") + triggers = list(REAGENT_ID_ANTITOXIN = 30, REAGENT_ID_TRAMADOL = 15) + cures = list(REAGENT_ID_INAPROVALINE) cure_message = "The cramps let up..." /datum/medical_effect/cramps/on_life(mob/living/carbon/human/H, strength) @@ -134,8 +134,8 @@ // ==== /datum/medical_effect/itch name = "Itch" - triggers = list("bliss" = 10) - cures = list("inaprovaline") + triggers = list(REAGENT_ID_BLISS = 10) + cures = list(REAGENT_ID_INAPROVALINE) cure_message = "The itching stops..." /datum/medical_effect/itch/on_life(mob/living/carbon/human/H, strength) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index dd76b5dfec..bb4b770859 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -82,10 +82,12 @@ callHook("death", list(src, gibbed)) if(mind) - // SSgame_master.adjust_danger(gibbed ? 40 : 20) // VOREStation Edit - We don't use SSgame_master yet. - for(var/mob/observer/dead/O in mob_list) - if(O.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) - to_chat(O, span_deadsay(span_bold("[src]") + " has died in " + span_bold("[get_area(src)]") + ". [ghost_follow_link(src, O)] ")) + var/area/A = get_area(src) + if(!(A?.flag_check(AREA_BLOCK_SUIT_SENSORS)) && isbelly(loc)) + // SSgame_master.adjust_danger(gibbed ? 40 : 20) // VOREStation Edit - We don't use SSgame_master yet. + for(var/mob/observer/dead/O in mob_list) + if(O.client?.prefs?.read_preference(/datum/preference/toggle/show_dsay)) + to_chat(O, span_deadsay(span_bold("[src]") + " has died in " + span_bold("[get_area(src)]") + ". [ghost_follow_link(src, O)] ")) if(!gibbed && species.death_sound) playsound(src, species.death_sound, 80, 1, 1) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 83d36e5725..977af19a28 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -384,7 +384,7 @@ var/list/_simple_mob_default_emotes = list( HTML += TextPreview(flavor_texts["feet"]) HTML += "
    " HTML += "
    " - HTML +="\[Done\]" + HTML +="\[Done\]" HTML += "" src << browse(HTML, "window=flavor_changes;size=430x300") diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 80dabf789d..7285ef5c41 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -119,20 +119,20 @@ else for(var/obj/item/clothing/accessory/A in U.accessories) if(A.concealed_holster == 0 && A.show_examine) - accessory_descs += "\a [A]" + accessory_descs += "\a [A]" tie_msg += " [lowertext(english_list(accessory_descs))]." if(w_uniform.blood_DNA) - msg += span_warning("[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]") + msg += span_warning("[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]") else - msg += "[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] \a [w_uniform].[tie_msg]" + msg += "[T.He] [T.is] wearing [icon2html(w_uniform,user.client)] \a [w_uniform].[tie_msg]" //head if(head && !(skip_gear & EXAMINE_SKIPHELMET) && head.show_examine) if(head.blood_DNA) - msg += span_warning("[T.He] [T.is] wearing [icon2html(head,user.client)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != "#030303") ? "blood" : "oil"]-stained [head.name] on [T.his] head!") + msg += span_warning("[T.He] [T.is] wearing [icon2html(head,user.client)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != "#030303") ? "blood" : "oil"]-stained [head.name] on [T.his] head!") else - msg += "[T.He] [T.is] wearing [icon2html(head,user.client)] \a [head] on [T.his] head." + msg += "[T.He] [T.is] wearing [icon2html(head,user.client)] \a [head] on [T.his] head." //suit/armour if(wear_suit) @@ -143,41 +143,41 @@ tie_msg += ". Attached to it is" var/list/accessory_descs = list() for(var/accessory in U.accessories) - accessory_descs += "\a [accessory]" + accessory_descs += "\a [accessory]" tie_msg += " [lowertext(english_list(accessory_descs))]." if(wear_suit.blood_DNA) - msg += span_warning("[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_suit.name]![tie_msg]") + msg += span_warning("[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_suit.name]![tie_msg]") else - msg += "[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] \a [wear_suit].[tie_msg]" + msg += "[T.He] [T.is] wearing [icon2html(wear_suit,user.client)] \a [wear_suit].[tie_msg]" //suit/armour storage if(s_store && !(skip_gear & EXAMINE_SKIPSUITSTORAGE) && s_store.show_examine) if(s_store.blood_DNA) - msg += span_warning("[T.He] [T.is] carrying [icon2html(s_store,user.client)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != "#030303") ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!") + msg += span_warning("[T.He] [T.is] carrying [icon2html(s_store,user.client)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != "#030303") ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!") else - msg += "[T.He] [T.is] carrying [icon2html(s_store,user.client)] \a [s_store] on [T.his] [wear_suit.name]." + msg += "[T.He] [T.is] carrying [icon2html(s_store,user.client)] \a [s_store] on [T.his] [wear_suit.name]." //back if(back && !(skip_gear & EXAMINE_SKIPBACKPACK) && back.show_examine) if(back.blood_DNA) - msg += span_warning("[T.He] [T.has] [icon2html(back,user.client)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != "#030303") ? "blood" : "oil"]-stained [back] on [T.his] back.") + msg += span_warning("[T.He] [T.has] [icon2html(back,user.client)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != "#030303") ? "blood" : "oil"]-stained [back] on [T.his] back.") else - msg += "[T.He] [T.has] [icon2html(back,user.client)] \a [back] on [T.his] back." + msg += "[T.He] [T.has] [icon2html(back,user.client)] \a [back] on [T.his] back." //left hand if(l_hand && l_hand.show_examine) if(l_hand.blood_DNA) - msg += span_warning("[T.He] [T.is] holding [icon2html(l_hand,user.client)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!") + msg += span_warning("[T.He] [T.is] holding [icon2html(l_hand,user.client)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!") else - msg += "[T.He] [T.is] holding [icon2html(l_hand,user.client)] \a [l_hand] in [T.his] left hand." + msg += "[T.He] [T.is] holding [icon2html(l_hand,user.client)] \a [l_hand] in [T.his] left hand." //right hand if(r_hand && r_hand.show_examine) if(r_hand.blood_DNA) - msg += span_warning("[T.He] [T.is] holding [icon2html(r_hand,user.client)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!") + msg += span_warning("[T.He] [T.is] holding [icon2html(r_hand,user.client)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!") else - msg += "[T.He] [T.is] holding [icon2html(r_hand,user.client)] \a [r_hand] in [T.his] right hand." + msg += "[T.He] [T.is] holding [icon2html(r_hand,user.client)] \a [r_hand] in [T.his] right hand." //gloves if(gloves && !(skip_gear & EXAMINE_SKIPGLOVES) && gloves.show_examine) @@ -188,13 +188,13 @@ gloves_acc_msg += ". Attached to it is" var/list/accessory_descs = list() for(var/obj/item/clothing/accessory/A in G.accessories) - accessory_descs += "\a [A]" + accessory_descs += "\a [A]" gloves_acc_msg += " [lowertext(english_list(accessory_descs))]." if(gloves.blood_DNA) - msg += span_warning("[T.He] [T.has] [icon2html(gloves,user.client)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != "#030303") ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands![gloves_acc_msg]") + msg += span_warning("[T.He] [T.has] [icon2html(gloves,user.client)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != "#030303") ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands![gloves_acc_msg]") else - msg += "[T.He] [T.has] [icon2html(gloves,user.client)] \a [gloves] on [T.his] hands.[gloves_acc_msg]" + msg += "[T.He] [T.has] [icon2html(gloves,user.client)] \a [gloves] on [T.his] hands.[gloves_acc_msg]" else if(blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) msg += span_warning("[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!") @@ -213,16 +213,16 @@ //belt if(belt && !(skip_gear & EXAMINE_SKIPBELT) && belt.show_examine) if(belt.blood_DNA) - msg += span_warning("[T.He] [T.has] [icon2html(belt,user.client)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != "#030303") ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!") + msg += span_warning("[T.He] [T.has] [icon2html(belt,user.client)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != "#030303") ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!") else - msg += "[T.He] [T.has] [icon2html(belt,user.client)] \a [belt] about [T.his] waist." + msg += "[T.He] [T.has] [icon2html(belt,user.client)] \a [belt] about [T.his] waist." //shoes if(shoes && !(skip_gear & EXAMINE_SKIPSHOES) && shoes.show_examine) if(shoes.blood_DNA) - msg += span_warning("[T.He] [T.is] wearing [icon2html(shoes,user.client)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != "#030303") ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!") + msg += span_warning("[T.He] [T.is] wearing [icon2html(shoes,user.client)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != "#030303") ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!") else - msg += "[T.He] [T.is] wearing [icon2html(shoes,user.client)] \a [shoes] on [T.his] feet." + msg += "[T.He] [T.is] wearing [icon2html(shoes,user.client)] \a [shoes] on [T.his] feet." else if(feet_blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) msg += span_warning("[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!") @@ -233,28 +233,28 @@ descriptor = "in [T.his] mouth" if(wear_mask.blood_DNA) - msg += span_warning("[T.He] [T.has] [icon2html(wear_mask,user.client)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!") + msg += span_warning("[T.He] [T.has] [icon2html(wear_mask,user.client)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!") else - msg += "[T.He] [T.has] [icon2html(wear_mask,user.client)] \a [wear_mask] [descriptor]." + msg += "[T.He] [T.has] [icon2html(wear_mask,user.client)] \a [wear_mask] [descriptor]." //eyes if(glasses && !(skip_gear & EXAMINE_SKIPEYEWEAR) && glasses.show_examine) if(glasses.blood_DNA) - msg += span_warning("[T.He] [T.has] [icon2html(glasses,user.client)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != "#030303") ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!") + msg += span_warning("[T.He] [T.has] [icon2html(glasses,user.client)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != "#030303") ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!") else - msg += "[T.He] [T.has] [icon2html(glasses,user.client)] \a [glasses] covering [T.his] eyes." + msg += "[T.He] [T.has] [icon2html(glasses,user.client)] \a [glasses] covering [T.his] eyes." //left ear if(l_ear && !(skip_gear & EXAMINE_SKIPEARS) && l_ear.show_examine) - msg += "[T.He] [T.has] [icon2html(l_ear,user.client)] \a [l_ear] on [T.his] left ear." + msg += "[T.He] [T.has] [icon2html(l_ear,user.client)] \a [l_ear] on [T.his] left ear." //right ear if(r_ear && !(skip_gear & EXAMINE_SKIPEARS) && r_ear.show_examine) - msg += "[T.He] [T.has] [icon2html(r_ear,user.client)] \a [r_ear] on [T.his] right ear." + msg += "[T.He] [T.has] [icon2html(r_ear,user.client)] \a [r_ear] on [T.his] right ear." //ID if(wear_id && wear_id.show_examine) - msg += "[T.He] [T.is] wearing [icon2html(wear_id,user.client)]\a [wear_id]." + msg += "[T.He] [T.is] wearing [icon2html(wear_id,user.client)]\a [wear_id]." //Jitters if(is_jittery) @@ -409,8 +409,8 @@ if(R.fields["name"] == perpname) criminal = R.fields["criminal"] - msg += "Criminal status: \[[criminal]\]" - msg += "Security records: \[View\] \[Add comment\]" + msg += "Criminal status: \[[criminal]\]" + msg += "Security records: \[View\] \[Add comment\]" if(hasHUD(user,"medical")) var/perpname = name @@ -428,11 +428,11 @@ if (R.fields["name"] == perpname) medical = R.fields["p_stat"] - msg += "Physical status: \[[medical]\]" - msg += "Medical records: \[View\] \[Add comment\]" + msg += "Physical status: \[[medical]\]" + msg += "Medical records: \[View\] \[Add comment\]" if(hasHUD(user,"best")) - msg += "Employment records: \[View\] \[Add comment\]" + msg += "Employment records: \[View\] \[Add comment\]" var/flavor_text = print_flavor_text() @@ -444,8 +444,8 @@ msg += "Custom link: " + span_linkify("[custom_link]") if(ooc_notes) - msg += "OOC Notes: \[View\] - \[Print\]" - msg += "\[Mechanical Vore Preferences\]" + msg += "OOC Notes: \[View\] - \[Print\]" + msg += "\[Mechanical Vore Preferences\]" // VOREStation End msg = list(span_info(jointext(msg, "
    "))) if(applying_pressure) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c76711c39a..755474343e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -8,15 +8,12 @@ has_huds = TRUE //We do have HUDs (like health, wanted, status, not inventory slots) - var/vore_capacity = 3 - var/vore_capacity_ex = list("stomach" = 3, "taur belly" = 3) - var/vore_fullness_ex = list("stomach" = 0, "taur belly" = 0) - var/vore_icon_bellies = list("stomach", "taur belly") + vore_capacity = 3 + vore_capacity_ex = list("stomach" = 3, "taur belly" = 3) + vore_fullness_ex = list("stomach" = 0, "taur belly" = 0) + vore_icon_bellies = list("stomach", "taur belly") var/struggle_anim_stomach = FALSE var/struggle_anim_taur = FALSE - var/vore_sprite_color = list("stomach" = "#FFFFFF", "taur belly" = "#FFFFFF") - var/vore_sprite_multiply = list("stomach" = TRUE, "taur belly" = TRUE) - var/vore_fullness = 0 var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. var/obj/item/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call. @@ -450,7 +447,7 @@ security_hud_text += span_bold("Major Crimes:") + " [R.fields["ma_crim"]]" security_hud_text += span_bold("Details:") + " [R.fields["ma_crim_d"]]" security_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" - security_hud_text += "\[View Comment Log\]" + security_hud_text += "\[View Comment Log\]" to_chat(usr, span_filter_notice("[jointext(security_hud_text, "
    ")]")) read = 1 @@ -479,7 +476,7 @@ counter++ if (counter == 1) to_chat(usr, span_filter_notice("No comment found.")) - to_chat(usr, span_filter_notice("\[Add comment\]")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) @@ -570,7 +567,7 @@ medical_hud_text += span_bold("Major Disabilities:") + " [R.fields["ma_dis"]]" medical_hud_text += span_bold("Details:") + " [R.fields["ma_dis_d"]]" medical_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" - medical_hud_text += "\[View Comment Log\]" + medical_hud_text += "\[View Comment Log\]" to_chat(usr, span_filter_notice("[jointext(medical_hud_text, "
    ")]")) read = 1 @@ -599,7 +596,7 @@ counter++ if (counter == 1) to_chat(usr, span_filter_notice("No comment found.")) - to_chat(usr, span_filter_notice("\[Add comment\]")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) @@ -656,7 +653,7 @@ emp_hud_text += span_bold("Religious Beliefs:") + " [R.fields["religion"]]" emp_hud_text += span_bold("Known Languages:") + " [R.fields["languages"]]" emp_hud_text += span_bold("Notes:") + " [R.fields["notes"]]" - emp_hud_text += "\[View Comment Log\]" + emp_hud_text += "\[View Comment Log\]" to_chat(usr, span_filter_notice("[jointext(emp_hud_text, "
    ")]")) read = 1 @@ -685,7 +682,7 @@ counter++ if (counter == 1) to_chat(usr, span_filter_notice("No comment found.")) - to_chat(usr, span_filter_notice("\[Add comment\]")) + to_chat(usr, span_filter_notice("\[Add comment\]")) if(!read) to_chat(usr, span_filter_notice("[span_red("Unable to locate a data core entry for this person.")]")) @@ -1040,7 +1037,7 @@ /mob/living/carbon/human/revive() if(should_have_organ(O_HEART)) - vessel.add_reagent("blood",species.blood_volume-vessel.total_volume) + vessel.add_reagent(REAGENT_ID_BLOOD,species.blood_volume-vessel.total_volume) fixblood() species.create_organs(src) // Reset our organs/limbs. @@ -1313,9 +1310,9 @@ make_blood() if(vessel.total_volume < species.blood_volume) vessel.maximum_volume = species.blood_volume - vessel.add_reagent("blood", species.blood_volume - vessel.total_volume) + vessel.add_reagent(REAGENT_ID_BLOOD, species.blood_volume - vessel.total_volume) else if(vessel.total_volume > species.blood_volume) - vessel.remove_reagent("blood",vessel.total_volume - species.blood_volume) //This one should stay remove_reagent to work even lack of a O_heart + vessel.remove_reagent(REAGENT_ID_BLOOD,vessel.total_volume - species.blood_volume) //This one should stay remove_reagent to work even lack of a O_heart vessel.maximum_volume = species.blood_volume fixblood() species.update_attack_types() //VOREStation Edit - Required for any trait that updates unarmed_types in setup. @@ -1788,7 +1785,7 @@ if(species?.flags & NO_BLOOD) bloodtrail = 0 else - var/blood_volume = vessel.get_reagent_amount("blood") + var/blood_volume = vessel.get_reagent_amount(REAGENT_ID_BLOOD) if(blood_volume < species?.blood_volume*species?.blood_level_fatal) bloodtrail = 0 //Most of it's gone already, just leave it be else @@ -1822,22 +1819,6 @@ /mob/living/carbon/human/get_mob_riding_slots() return list(back, head, wear_suit) -/mob/living/carbon/human/proc/update_fullness() - var/list/new_fullness = list() - vore_fullness = 0 - for(var/belly_class in vore_icon_bellies) - new_fullness[belly_class] = 0 - for(var/obj/belly/B as anything in vore_organs) - new_fullness[B.belly_sprite_to_affect] += B.GetFullnessFromBelly() - for(var/belly_class in vore_icon_bellies) - new_fullness[belly_class] /= size_multiplier //Divided by pred's size so a macro mob won't get macro belly from a regular prey. - new_fullness[belly_class] = round(new_fullness[belly_class], 1) // Because intervals of 0.25 are going to make sprite artists cry. - vore_fullness_ex[belly_class] = min(vore_capacity_ex[belly_class], new_fullness[belly_class]) - vore_fullness += new_fullness[belly_class] - vore_fullness = min(vore_capacity, vore_fullness) - update_vore_belly_sprite() - update_vore_tail_sprite() - /mob/living/carbon/human/verb/lay_down_left() set name = "Rest-Left" diff --git a/code/modules/mob/living/carbon/human/human_bellies.dm b/code/modules/mob/living/carbon/human/human_bellies.dm new file mode 100644 index 0000000000..9c3227996c --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_bellies.dm @@ -0,0 +1,38 @@ +/mob/living/carbon/human/update_fullness(var/returning = FALSE) + if(!returning) + if(updating_fullness) + return + var/previous_stomach_fullness = vore_fullness_ex["stomach"] + var/previous_taur_fullness = vore_fullness_ex["taur belly"] + //update_vore_tail_sprite() + //update_vore_belly_sprite() + var/list/new_fullness = ..(TRUE) + . = new_fullness + for(var/datum/category_group/underwear/undergarment_class in global_underwear.categories) + if(!new_fullness[undergarment_class.name]) + continue + new_fullness[undergarment_class.name] = -1 * round(-1 * new_fullness[undergarment_class.name]) // Doing a ceiling the only way BYOND knows how I guess + new_fullness[undergarment_class.name] = (min(2, new_fullness[undergarment_class.name]) - 2) * -1 //Complicated stuff to get it correctly aligned with the expected TRUE/FALSE + var/datum/category_item/underwear/UWI = all_underwear[undergarment_class.name] + if(!UWI || UWI.name == "None") + //Welllll okay then. If the former then something went wrong, if None was selected then... + if(istype(undergarment_class.items_by_name[new_fullness[undergarment_class.name + "-ifnone"]], /datum/category_item/underwear)) + UWI = undergarment_class.items_by_name[new_fullness[undergarment_class.name + "-ifnone"]] + all_underwear[undergarment_class.name] = UWI + if(UWI && UWI.has_color && new_fullness[undergarment_class.name + "-color"]) + all_underwear_metadata[undergarment_class.name]["[gear_tweak_free_color_choice]"] = new_fullness[undergarment_class.name + "-color"] + if(UWI && UWI.name != "None" && hide_underwear[undergarment_class.name] != new_fullness[undergarment_class.name]) + hide_underwear[undergarment_class.name] = new_fullness[undergarment_class.name] + update_underwear(1) + if(vore_fullness_ex["stomach"] != previous_stomach_fullness) + update_vore_belly_sprite() + if(vore_fullness_ex["taur belly"] != previous_taur_fullness) + update_vore_tail_sprite() + +/mob/living/carbon/human/vs_animate(var/belly_to_animate) + if(belly_to_animate == "stomach") + vore_belly_animation() + else if(belly_to_animate == "taur belly") + vore_tail_animation() + else + return diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 6ccfeb5fb8..aff6851e97 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -436,7 +436,7 @@ This function restores the subjects blood to max. if(!should_have_organ(O_HEART)) return if(vessel.total_volume < species.blood_volume) - vessel.add_reagent("blood", species.blood_volume - vessel.total_volume) + vessel.add_reagent(REAGENT_ID_BLOOD, species.blood_volume - vessel.total_volume) /* This function restores all organs. diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 23442c62cc..d947e39503 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -160,6 +160,10 @@ hud_list[IMPTRACK_HUD] = gen_hud_image(ingame_hud, src, "hudblank", plane = PLANE_CH_IMPTRACK) hud_list[SPECIALROLE_HUD] = gen_hud_image(ingame_hud, src, "hudblank", plane = PLANE_CH_SPECIAL) hud_list[STATUS_HUD_OOC] = gen_hud_image(ingame_hud, src, "hudhealthy", plane = PLANE_CH_STATUS_OOC) + hud_list[HEALTH_VR_HUD] = gen_hud_image(ingame_hud_med_vr, src, "100", plane = PLANE_CH_HEALTH_VR) + hud_list[STATUS_R_HUD] = gen_hud_image(ingame_hud_vr, src, "hudblank", plane = PLANE_CH_STATUS_R) + hud_list[BACKUP_HUD] = gen_hud_image(ingame_hud_vr, src, "hudblank", plane = PLANE_CH_BACKUP) + hud_list[VANTAG_HUD] = gen_hud_image(ingame_hud_vr, src, "hudblank", plane = PLANE_CH_VANTAG) add_overlay(hud_list) /mob/living/carbon/human/recalculate_vis() diff --git a/code/modules/mob/living/carbon/human/human_helpers_vr.dm b/code/modules/mob/living/carbon/human/human_helpers_vr.dm index 28eea3e81e..a5b02964f9 100644 --- a/code/modules/mob/living/carbon/human/human_helpers_vr.dm +++ b/code/modules/mob/living/carbon/human/human_helpers_vr.dm @@ -1,13 +1,6 @@ var/static/icon/ingame_hud_vr = icon('icons/mob/hud_vr.dmi') var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi') -/mob/living/carbon/human/make_hud_overlays() - . = ..() - hud_list[HEALTH_VR_HUD] = gen_hud_image(ingame_hud_med_vr, src, "100", plane = PLANE_CH_HEALTH_VR) - hud_list[STATUS_R_HUD] = gen_hud_image(ingame_hud_vr, src, plane = PLANE_CH_STATUS_R) - hud_list[BACKUP_HUD] = gen_hud_image(ingame_hud_vr, src, plane = PLANE_CH_BACKUP) - hud_list[VANTAG_HUD] = gen_hud_image(ingame_hud_vr, src, plane = PLANE_CH_VANTAG) - /mob/living/carbon/human/proc/remove_marking(var/datum/sprite_accessory/marking/mark_datum) if (!mark_datum) return FALSE diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4a11af321f..d23aa3d781 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -307,7 +307,7 @@ return //VOREStation Addition end: shadekin - if(reagents.has_reagent("prussian_blue")) //Prussian Blue temporarily stops radiation effects. + if(reagents.has_reagent(REAGENT_ID_PRUSSIANBLUE)) //Prussian Blue temporarily stops radiation effects. return var/damage = 0 @@ -452,7 +452,7 @@ // Begin long-term radiation effects // Loss of taste occurs at 100 (2Gy) and is handled in taste.dm // These are all done one after another, so duplication is not required. Someone at 400rads will have the 100&400 effects. - if(!radiation && accumulated_rads >= 100 && !reagents.has_reagent("prussian_blue")) //Let's not hit them with long term effects when they're actively being hit with rads. + if(!radiation && accumulated_rads >= 100 && !reagents.has_reagent(REAGENT_ID_PRUSSIANBLUE)) //Let's not hit them with long term effects when they're actively being hit with rads. if(!isSynthetic()) I = internal_organs_by_name[O_EYES] if(I) //Eye stuff @@ -505,8 +505,12 @@ ..() //spread some viruses while we are at it if(breath && !isnull(viruses) && prob(10)) + if((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head && (head.item_flags & AIRTIGHT)))) + return + if(wear_mask && wear_mask.permeability_coefficient < 1) + return for(var/datum/disease/D in GetViruses()) - if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) + if(!D.IsSpreadByAir()) continue for(var/mob/living/carbon/M in view(1,src)) ContractDisease(D) @@ -609,13 +613,13 @@ if(species.breath_type) breath_type = species.breath_type else - breath_type = "oxygen" + breath_type = GAS_O2 inhaling = breath.gas[breath_type] if(species.poison_type) poison_type = species.poison_type else - poison_type = "phoron" + poison_type = GAS_PHORON poison = breath.gas[poison_type] if(species.exhale_type) @@ -640,17 +644,17 @@ failed_inhale = 1 switch(breath_type) - if("oxygen") + if(GAS_O2) throw_alert("oxy", /obj/screen/alert/not_enough_oxy) - if("phoron") + if(GAS_PHORON) throw_alert("oxy", /obj/screen/alert/not_enough_tox) - if("nitrogen") + if(GAS_N2) throw_alert("oxy", /obj/screen/alert/not_enough_nitro) - if("carbon_dioxide") + if(GAS_CO2) throw_alert("oxy", /obj/screen/alert/not_enough_co2) - if("volatile_fuel") + if(GAS_VOLATILE_FUEL) throw_alert("oxy", /obj/screen/alert/not_enough_fuel) - if("nitrous_oxide") + if(GAS_N2O) throw_alert("oxy", /obj/screen/alert/not_enough_n2o) else @@ -695,15 +699,15 @@ if(toxins_pp > safe_toxins_max) var/ratio = (poison/safe_toxins_max) * 10 if(reagents) - reagents.add_reagent("toxin", CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) + reagents.add_reagent(REAGENT_ID_TOXIN, CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) breath.adjust_gas(poison_type, -poison/6, update = 0) //update after throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) else clear_alert("tox_in_air") // If there's some other shit in the air lets deal with it here. - if(breath.gas["nitrous_oxide"]) - var/SA_pp = (breath.gas["nitrous_oxide"] / breath.total_moles) * breath_pressure + if(breath.gas[GAS_N2O]) + var/SA_pp = (breath.gas[GAS_N2O] / breath.total_moles) * breath_pressure // Enough to make us paralysed for a bit if(SA_pp > SA_para_min) @@ -719,7 +723,7 @@ else if(SA_pp > 0.15) if(prob(20)) spawn(0) emote(pick("giggle", "laugh")) - breath.adjust_gas("nitrous_oxide", -breath.gas["nitrous_oxide"]/6, update = 0) //update after + breath.adjust_gas(GAS_N2O, -breath.gas[GAS_N2O]/6, update = 0) //update after // Were we able to breathe? if (failed_inhale || failed_exhale) @@ -1942,7 +1946,7 @@ if(Pump) temp += Pump.standard_pulse_level - PULSE_NORM - if(round(vessel.get_reagent_amount("blood")) <= species.blood_volume*species.blood_level_danger) //how much blood do we have + if(round(vessel.get_reagent_amount(REAGENT_ID_BLOOD)) <= species.blood_volume*species.blood_level_danger) //how much blood do we have temp = temp + 3 //not enough :( if(status_flags & FAKEDEATH) @@ -2012,13 +2016,16 @@ /mob/living/carbon/human/proc/handle_hud_list() if (BITTEST(hud_updateflag, HEALTH_HUD)) var/image/holder = grab_hud(HEALTH_HUD) + var/image/health_us = grab_hud(HEALTH_VR_HUD) if(stat == DEAD) holder.icon_state = "-100" // X_X else holder.icon_state = RoundHealth((health-CONFIG_GET(number/health_threshold_crit))/(getMaxHealth()-CONFIG_GET(number/health_threshold_crit))*100) if(block_hud) holder.icon_state = "hudblank" + health_us.icon_state = holder.icon_state apply_hud(HEALTH_HUD, holder) + apply_hud(HEALTH_VR_HUD, health_us) if (BITTEST(hud_updateflag, LIFE_HUD)) var/image/holder = grab_hud(LIFE_HUD) @@ -2033,20 +2040,16 @@ apply_hud(LIFE_HUD, holder) if (BITTEST(hud_updateflag, STATUS_HUD)) - var/foundVirus = 0 - for (var/datum/disease/D in GetViruses()) - if(D.discovered) - foundVirus = 1 - break var/image/holder = grab_hud(STATUS_HUD) var/image/holder2 = grab_hud(STATUS_HUD_OOC) + var/image/status_r = grab_hud(STATUS_R_HUD) if (isSynthetic()) holder.icon_state = "hudrobo" else if(stat == DEAD) holder.icon_state = "huddead" holder2.icon_state = "huddead" - else if(foundVirus) + else if(has_virus()) holder.icon_state = "hudill" else if(has_brain_worms()) var/mob/living/simple_mob/animal/borer/B = has_brain_worms() @@ -2057,17 +2060,17 @@ holder2.icon_state = "hudbrainworm" else holder.icon_state = "hudhealthy" - if(viruses.len) - for(var/datum/disease/D in GetViruses()) - if(D.discovered) - holder2.icon_state = "hudill" + if(has_virus()) + holder2.icon_state = "hudill" else holder2.icon_state = "hudhealthy" if(block_hud) holder.icon_state = "hudblank" holder2.icon_state = "hudblank" + status_r.icon_state = holder.icon_state apply_hud(STATUS_HUD, holder) + apply_hud(STATUS_R_HUD, status_r) apply_hud(STATUS_HUD_OOC, holder2) if (BITTEST(hud_updateflag, ID_HUD)) @@ -2149,7 +2152,36 @@ holder.icon_state = "hudsyndicate" apply_hud(SPECIALROLE_HUD, holder) - attempt_vr(src,"handle_hud_list_vr",list()) //VOREStation Add - Custom HUDs. + //Backup implant hud status + if (BITTEST(hud_updateflag, BACKUP_HUD)) + var/image/holder = grab_hud(BACKUP_HUD) + + holder.icon_state = "hudblank" + + for(var/obj/item/organ/external/E in organs) + for(var/obj/item/implant/I in E.implants) + if(I.implanted && istype(I,/obj/item/implant/backup)) + var/obj/item/implant/backup/B = I + if(!mind) + holder.icon_state = "hud_backup_nomind" + else if(!(mind.name in B.our_db.body_scans)) + holder.icon_state = "hud_backup_nobody" + else + holder.icon_state = "hud_backup_norm" + if(block_hud) + holder.icon_state = "hudblank" + apply_hud(BACKUP_HUD, holder) + + //VOREStation Antag Hud + if (BITTEST(hud_updateflag, VANTAG_HUD)) + var/image/vantag = grab_hud(VANTAG_HUD) + if(vantag_pref) + vantag.icon_state = vantag_pref + else + vantag.icon_state = "hudblank" + if(block_hud) + vantag.icon_state = "hudblank" + apply_hud(VANTAG_HUD, vantag) hud_updateflag = 0 @@ -2190,6 +2222,15 @@ brain.tick_defib_timer() +/mob/living/carbon/human/proc/has_virus() + for(var/thing in viruses) + var/datum/disease/D = thing + if(!D.discovered) + continue + if((!(D.visibility_flags & HIDDEN_SCANNER)) && (D.severity != NONTHREAT)) + return TRUE + return FALSE + #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/modules/mob/living/carbon/human/life_vr.dm b/code/modules/mob/living/carbon/human/life_vr.dm index 7f17529079..25ba3b9f17 100644 --- a/code/modules/mob/living/carbon/human/life_vr.dm +++ b/code/modules/mob/living/carbon/human/life_vr.dm @@ -14,57 +14,6 @@ species.silk_reserve = min(species.silk_reserve + 2, species.silk_max_reserve) adjust_nutrition(-0.4) -/mob/living/carbon/human/proc/handle_hud_list_vr() - - //Right-side status hud updates with left side one. - if (BITTEST(hud_updateflag, STATUS_HUD)) - var/image/other_status = hud_list[STATUS_HUD] - var/image/status_r = grab_hud(STATUS_R_HUD) - status_r.icon_state = other_status.icon_state - if(block_hud) - status_r.icon_state = "hudblank" - apply_hud(STATUS_R_HUD, status_r) - - //Our custom health bar HUD - if (BITTEST(hud_updateflag, HEALTH_HUD)) - var/image/other_health = hud_list[HEALTH_HUD] - var/image/health_us = grab_hud(HEALTH_VR_HUD) - health_us.icon_state = other_health.icon_state - if(block_hud) - health_us.icon_state = "hudblank" - apply_hud(HEALTH_VR_HUD, health_us) - - //Backup implant hud status - if (BITTEST(hud_updateflag, BACKUP_HUD)) - var/image/holder = grab_hud(BACKUP_HUD) - - holder.icon_state = "hudblank" - - for(var/obj/item/organ/external/E in organs) - for(var/obj/item/implant/I in E.implants) - if(I.implanted && istype(I,/obj/item/implant/backup)) - var/obj/item/implant/backup/B = I - if(!mind) - holder.icon_state = "hud_backup_nomind" - else if(!(mind.name in B.our_db.body_scans)) - holder.icon_state = "hud_backup_nobody" - else - holder.icon_state = "hud_backup_norm" - if(block_hud) - holder.icon_state = "hudblank" - apply_hud(BACKUP_HUD, holder) - - //VOREStation Antag Hud - if (BITTEST(hud_updateflag, VANTAG_HUD)) - var/image/vantag = grab_hud(VANTAG_HUD) - if(vantag_pref) - vantag.icon_state = vantag_pref - else - vantag.icon_state = "hudblank" - if(block_hud) - vantag.icon_state = "hudblank" - apply_hud(VANTAG_HUD, vantag) - //Our call for the NIF to do whatever /mob/living/carbon/human/proc/handle_nif() if(!nif) return @@ -89,4 +38,3 @@ /mob/living/carbon var/synth_cosmetic_pain = FALSE - diff --git a/code/modules/mob/living/carbon/human/phobias.dm b/code/modules/mob/living/carbon/human/phobias.dm index 092fba6347..f92ea2464b 100644 --- a/code/modules/mob/living/carbon/human/phobias.dm +++ b/code/modules/mob/living/carbon/human/phobias.dm @@ -1,13 +1,3 @@ -//Handling and defining of phobias and fears -#define NYCTOPHOBIA 1 -#define ARACHNOPHOBIA 2 -#define HEMOPHOBIA 4 -#define THALASSOPHOBIA 8 -#define CLAUSTROPHOBIA_MINOR 16 -#define CLAUSTROPHOBIA_MAJOR 32 -#define ANATIDAEPHOBIA 64 -#define AGRAVIAPHOBIA 128 - /mob/living/carbon/human/proc/handle_phobias() if(phobias & NYCTOPHOBIA) var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/carbon/human/species/lleill/hanner.dm b/code/modules/mob/living/carbon/human/species/lleill/hanner.dm index 39fb9f749a..276be69091 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/hanner.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/hanner.dm @@ -90,6 +90,8 @@ /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/carbon/human/proc/shapeshifter_select_eye_colour, /mob/living/proc/set_size, + /mob/living/carbon/human/proc/shapeshifter_copy_body, + /mob/living/carbon/human/proc/shapeshifter_regenerate, // /mob/living/carbon/human/proc/lleill_contact, // /mob/living/carbon/human/proc/lleill_alchemy, // /mob/living/carbon/human/proc/hanner_beast_form diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill.dm index 444139ce21..55663e30b6 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/lleill.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill.dm @@ -84,6 +84,8 @@ /mob/living/carbon/human/proc/shapeshifter_select_ears, /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/proc/set_size, + /mob/living/carbon/human/proc/shapeshifter_copy_body, + /mob/living/carbon/human/proc/shapeshifter_regenerate, // /mob/living/carbon/human/proc/lleill_invisibility, // /mob/living/carbon/human/proc/lleill_transmute, // /mob/living/carbon/human/proc/lleill_rings, diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index a6988af39f..f29838cd6e 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -43,8 +43,8 @@ gluttonous = 1 - breath_type = "phoron" - poison_type = "oxygen" + breath_type = GAS_PHORON + poison_type = GAS_O2 ideal_air_type = /datum/gas_mixture/belly_air/vox siemens_coefficient = 0.2 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 09fc23d4c7..7a04d2da3b 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -41,8 +41,8 @@ var/show_ssd = "fast asleep" var/virus_immune var/short_sighted // Permanent weldervision. - var/blood_name = "blood" // Name for the species' blood. - var/blood_reagents = "iron" // Reagent(s) that restore lost blood. goes by reagent IDs. + var/blood_name = REAGENT_ID_BLOOD // Name for the species' blood. + var/blood_reagents = REAGENT_ID_IRON // Reagent(s) that restore lost blood. goes by reagent IDs. var/blood_volume = 560 // Initial blood volume. var/bloodloss_rate = 1 // Multiplier for how fast a species bleeds out. Higher = Faster var/blood_level_safe = 0.85 //"Safe" blood level; above this, you're OK @@ -133,9 +133,9 @@ // Environment tolerance/life processes vars. var/reagent_tag //Used for metabolizing reagents. - var/breath_type = "oxygen" // Non-oxygen gas breathed, if any. - var/poison_type = "phoron" // Poisonous air. - var/exhale_type = "carbon_dioxide" // Exhaled gas type. + var/breath_type = GAS_O2 // Non-oxygen gas breathed, if any. + var/poison_type = GAS_PHORON // Poisonous air. + var/exhale_type = GAS_CO2 // Exhaled gas type. var/water_breather = FALSE var/bad_swimmer = FALSE diff --git a/code/modules/mob/living/carbon/human/species/species_attack_vr.dm b/code/modules/mob/living/carbon/human/species/species_attack_vr.dm index 219c692777..842dbcb71b 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack_vr.dm @@ -22,30 +22,30 @@ if(1 to 2) user.visible_message(span_danger("[user]'s fangs scrape across [target]'s cheek!")) to_chat(target, span_danger("Your face feels tingly!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) //Have to add this here, otherwise the swtich fails. + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) //Have to add this here, otherwise the swtich fails. if(3 to 4) user.visible_message(span_danger("[user]'s fangs pierce into [target]'s neck at an odd, awkward angle!")) to_chat(target, span_danger("Your neck feels like it's on fire before going numb!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) if(5) user.visible_message(span_danger("[user] sinks \his [pick(attack_noun)] deep into [target]'s neck, causing the vein to bulge outwards at some type of chemical is pumped into it!")) to_chat(target, span_danger("Your neck feels like it's going to burst! Moments later, you simply can't feel your neck any longer, the numbness beginning to spread throughout your body!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) else // ----- BODY ----- // switch(attack_damage) if(1 to 2) user.visible_message(span_danger("[user]'s fangs scrape across [target]'s [affecting.name]!")) to_chat(target, span_danger("Your [affecting.name] feels tingly!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) if(3 to 4) user.visible_message(span_danger("[user]'s fangs pierce [pick("", "", "the side of")] [target]'s [affecting.name]!")) to_chat(target, span_danger("Your [affecting.name] feels like it's on fire before going numb!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) if(5) user.visible_message(span_danger("[user]'s fangs sink deep into [target]'s [affecting.name], one of their veins bulging outwards from the sudden fluid pumped into it!")) to_chat(target, span_danger("Your [affecting.name] feels like it's going to burst! Moments later, you simply can't feel your [affecting.name] any longer, the numbness slowly spreading throughout your body!")) - target.bloodstr.add_reagent("numbenzyme",attack_damage) + target.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,attack_damage) /datum/unarmed_attack/claws/shadekin diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm index 6dc8616210..35548d6288 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm @@ -223,3 +223,102 @@ if (visible) visible_message(span_filter_notice(span_bold("\The [src]") + " shifts and contorts, taking the form of \a [new_species]!")) regenerate_icons() + + +//////////////////// Shapeshifter copy-body powers +/// Copied from the protean version, but with some tweaks to match non-protean shapeshifters such as lleill, hanner and replicants + +/mob/living/carbon/human/proc/shapeshifter_regenerate() + set name = "Fully Reform" + set desc = "Reload your appearance from whatever character slot you have loaded." + set category = "Abilities.Shapeshift" + var/mob/living/character = src + if(temporary_form) + character = temporary_form + var/input = tgui_alert(character,{"Do you want to copy the appearance data of your currently loaded save slot?"},"Reformation",list("Reform","Cancel")) + if(input == "Cancel" || !input) + return + else + input = tgui_alert(character,{"Include Flavourtext?"},"Reformation",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/flavour = 0 + if(input == "Yes") + flavour = 1 + input = tgui_alert(character,{"Include OOC notes?"},"Reformation",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/oocnotes = 0 + if(input == "Yes") + oocnotes = 1 + to_chat(character, span_notify("You begin to reform. You will need to remain still.")) + character.visible_message(span_notify("[character] rapidly contorts and shifts!"), span_danger("You begin to reform.")) + if(do_after(character, 40,exclusive = TASK_ALL_EXCLUSIVE)) + if(character.client.prefs) //Make sure we didn't d/c + character.client.prefs.vanity_copy_to(src, FALSE, flavour, oocnotes, FALSE) + character.visible_message(span_notify("[character] adopts a new form!"), span_danger("You have reformed.")) + +/mob/living/carbon/human/proc/shapeshifter_copy_body() + set name = "Copy Form" + set desc = "If you are aggressively grabbing someone, with their consent, you can turn into a copy of them. (Without their name)." + set category = "Abilities.Shapeshift" + var/mob/living/character = src + if(temporary_form) + character = temporary_form + + var/grabbing_but_not_enough + var/mob/living/carbon/human/victim = null + for(var/obj/item/grab/G in character) + if(G.state < GRAB_AGGRESSIVE) + grabbing_but_not_enough = TRUE + return + else + victim = G.affecting + if (!victim) + if (grabbing_but_not_enough) + to_chat(character, span_warning("You need a better grip to do that!")) + else + to_chat(character, span_notice("You need to be aggressively grabbing someone before you can copy their form.")) + return + if (!istype(victim)) + to_chat(character, span_warning("You can only perform this on human mobs!")) + return + if (!victim.client) + to_chat(character, span_notice("The person you try this on must have a client!")) + return + + + to_chat(character, span_notice("Waiting for other person's consent.")) + var/consent = tgui_alert(victim, "Allow [src] to copy what you look like?", "Consent", list("Yes", "No")) + if (consent != "Yes") + to_chat(character, span_notice("They declined your request.")) + return + + var/input = tgui_alert(character,{"Copy [victim]'s flavourtext?"},"Copy Form",list("Yes","No","Cancel")) + if(input == "Cancel" || !input) + return + var/flavour = 0 + if(input == "Yes") + flavour = 1 + + var/checking = FALSE + for(var/obj/item/grab/G in character) + if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE) + checking = TRUE + if (!checking) + to_chat(character, span_warning("You lost your grip on [victim]!")) + return + + to_chat(character, span_notify("You begin to reassemble into [victim]. You will need to remain still.")) + character.visible_message(span_notify("[character] rapidly contorts and shifts!"), span_danger("You begin to reassemble into [victim].")) + if(do_after(character, 40,exclusive = TASK_ALL_EXCLUSIVE)) + checking = FALSE + for(var/obj/item/grab/G in character) + if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE) + checking = TRUE + if (!checking) + to_chat(character, span_warning("You lost your grip on [victim]!")) + return + if(character.client) //Make sure we didn't d/c + transform_into_other_human(victim, FALSE, flavour, FALSE) + character.visible_message(span_notify("[character] adopts the form of [victim]!"), span_danger("You have reassembled into [victim].")) diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm index 239f4a4e5a..65673e19b6 100644 --- a/code/modules/mob/living/carbon/human/species/station/alraune.dm +++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm @@ -18,9 +18,9 @@ selects_bodytype = SELECTS_BODYTYPE_CUSTOM //VOREStation edit body_temperature = T20C - breath_type = "oxygen" - poison_type = "phoron" - exhale_type = "oxygen" + breath_type = GAS_O2 + poison_type = GAS_PHORON + exhale_type = GAS_O2 water_breather = TRUE //eh, why not? Aquatic plants are a thing. // Heat and cold resistances are 20 degrees broader on the level 1 range, level 2 is default, level 3 is much weaker, halfway between L2 and normal L3. @@ -169,7 +169,7 @@ var/failed_inhale = 0 var/failed_exhale = 0 - inhaling = breath.gas["carbon_dioxide"] + inhaling = breath.gas[GAS_CO2] poison = breath.gas[poison_type] exhaling = breath.gas[exhale_type] @@ -193,7 +193,7 @@ H.clear_alert("oxy") inhaled_gas_used = inhaling/6 - breath.adjust_gas("carbon_dioxide", -inhaled_gas_used, update = 0) //update afterwards + breath.adjust_gas(GAS_CO2, -inhaled_gas_used, update = 0) //update afterwards breath.adjust_gas_temp(exhale_type, inhaled_gas_used, H.bodytemperature, update = 0) //update afterwards //Now we handle CO2. @@ -221,7 +221,7 @@ if(toxins_pp > safe_toxins_max) var/ratio = (poison/safe_toxins_max) * 10 if(H.reagents) - H.reagents.add_reagent("toxin", CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) + H.reagents.add_reagent(REAGENT_ID_TOXIN, CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) breath.adjust_gas(poison_type, -poison/6, update = 0) //update after H.throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) else @@ -338,7 +338,7 @@ name = "fruit gland" desc = "A bulbous gourd-like structure." organ_tag = A_FRUIT - var/generated_reagents = list("sugar" = 2) //This actually allows them. This could be anything, but sugar seems most fitting. + var/generated_reagents = list(REAGENT_ID_SUGAR = 2) //This actually allows them. This could be anything, but sugar seems most fitting. var/usable_volume = 250 //Five fruit. var/transfer_amount = 50 var/empty_message = list("Your have no fruit on you.", "You have a distinct lack of fruit..") @@ -348,7 +348,7 @@ var/self_verb_descriptor = list("grab", "snatch", "pick") var/short_emote_descriptor = list("picks", "grabs") var/self_emote_descriptor = list("grab", "pick", "snatch") - var/fruit_type = "apple" + var/fruit_type = PLANT_APPLE var/mob/living/organ_owner = null var/gen_cost = 0.5 @@ -390,7 +390,7 @@ break if(fruit_gland) - var/selection = tgui_input_list(src, "Choose your character's fruit type. Choosing nothing will result in a default of apples.", "Fruit Type", acceptable_fruit_types) + var/selection = tgui_input_list(src, "Choose your character's fruit type. Choosing nothing will result in a default of apples.", "Fruit Type", GLOB.acceptable_fruit_types) if(selection) fruit_gland.fruit_type = selection add_verb(src, /mob/living/carbon/human/proc/alraune_fruit_pick) diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm index f9b648393c..29bd68ff32 100644 --- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm @@ -69,10 +69,10 @@ //Called when spawning to equip them with special things. /datum/species/custom/equip_survival_gear(var/mob/living/carbon/human/H, var/extendedtank = 0, var/comprehensive = 0) . = ..() - if(breath_type != "oxygen") + if(breath_type != GAS_O2) H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) var/obj/item/tank/tankpath - if(breath_type == "phoron") + if(breath_type == GAS_PHORON) tankpath = /obj/item/tank/vox else tankpath = text2path("/obj/item/tank/" + breath_type) diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans.dm index 4f0d2d4847..1e597efef5 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans.dm @@ -36,7 +36,7 @@ var/datum/species/shapeshifter/promethean/prometheans assisted_langs = list(LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) // Prometheans are weird, let's just assume they can use basically any language. blood_name = "gelatinous ooze" - blood_reagents = "slimejelly" + blood_reagents = REAGENT_ID_SLIMEJELLY breath_type = null poison_type = null diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index 961fc177bc..d884906ced 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -137,6 +137,12 @@ set hidden = 1 humanform.nano_latch() +/mob/living/simple_mob/protean_blob/proc/nano_assimilate() + set name = "Assimilate Host" + set desc = "Allows a protean to assimilate a latched host, allowing them to devour them right away." + set hidden = 1 + humanform.nano_assimilate() + /mob/living/simple_mob/protean_blob/Login() ..() plane_holder.set_vis(VIS_AUGMENTED, 1) @@ -331,6 +337,9 @@ healing = null /mob/living/simple_mob/protean_blob/lay_down() + if(hiding) + to_chat(src, span_warning("You can't rest while hiding.")) + return var/obj/item/rig/rig = src.get_rig() if(rig) rig.force_rest(src) @@ -342,6 +351,10 @@ set desc = "Disperses your mass into a thin veil, making a trap to snatch prey with, or simply hide." set category = "Abilities.Protean" + if(resting) + to_chat(src, span_warning("You can't hide while resting.")) + return + if(!hiding) cut_overlays() icon = 'icons/mob/species/protean/protean.dmi' diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index 0b0fc60284..04a7be4a26 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -314,7 +314,7 @@ //// // Rig Transform //// -/mob/living/carbon/human/proc/nano_rig_transform(var/forced) +/mob/living/carbon/human/proc/nano_rig_transform(var/forced, var/devour = FALSE) set name = "Modify Form - Hardsuit" set desc = "Allows a protean to retract its mass into its hardsuit module at will." //set category = "Abilities.Protean" @@ -337,14 +337,15 @@ var/mob/living/simple_mob/protean_blob/P = temporary_form if(S.OurRig) //Do we even have a RIG? if(P.loc == S.OurRig) //we're inside our own RIG + var/mob/wearer = S.OurRig.wearer if(ismob(S.OurRig.loc)) var/mob/m = S.OurRig.loc m.drop_from_inventory(S.OurRig) - if(S.OurRig.wearer) //We're being worn. Engulf em', if prefs align.. otherwise just drop off. - var/mob/living/carbon/human/victim = S.OurRig.wearer - if(P.can_be_drop_pred && victim.devourable && victim.can_be_drop_prey) - if(P.vore_selected) - perform_the_nom(P,victim,P,P.vore_selected,1) + if(wearer && devour) //We're being worn. Engulf em', if prefs align.. otherwise just drop off. + if(P.can_be_drop_pred && wearer.devourable && wearer.can_be_drop_prey && P.vore_selected) + perform_the_nom(P,wearer,P,P.vore_selected,1) + else + to_chat(P, span_vwarning("You can't assimilate your current host.")) P.forceMove(get_turf(S.OurRig)) S.OurRig.forceMove(src) S.OurRig.myprotean = src @@ -595,6 +596,25 @@ else to_chat(protie, span_warning("You need to be grabbing a humanoid mob aggressively to latch onto them.")) +/mob/living/carbon/human/proc/nano_assimilate() + set name = "Assimilate Host" + set desc = "Allows a protean to assimilate a latched host, allowing them to devour them right away." + set hidden = 1 + + var/mob/living/protie = src + var/mob/living/carbon/human/target + var/datum/species/protean/S = src.species + if(nano_dead_check(src)) + return + if(temporary_form) + protie = temporary_form + if(protie.loc == S.OurRig) + target = S.OurRig.wearer + if(!target) + to_chat(protie, span_vwarning("You need a host to assimilate.")) + return + nano_rig_transform(TRUE, TRUE) + /// /// /// A helper to reuse /mob/living/proc/nano_get_refactory(obj/item/organ/internal/nano/refactory/R) if(istype(R)) @@ -704,6 +724,12 @@ icon_state = "latch" to_call = /mob/living/carbon/human/proc/nano_latch +/obj/effect/protean_ability/assimilate_host + ability_name = "Assimilate Host" + desc = "Allows a protean to assimilate a latched host, allowing them to devour them right away." + icon_state = "assimilate" + to_call = /mob/living/carbon/human/proc/nano_assimilate + /obj/effect/protean_ability/copy_form ability_name = "Copy Form" desc = "If you are aggressively grabbing someone, with their consent, you can turn into a copy of them. (Without their name)." diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm index 79eaa0a922..4a77377260 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_rig.dm @@ -422,7 +422,7 @@ charge_amount = 100 var/mob/living/carbon/human/charger -/obj/item/cell/protean/Initialize() //ChompEDIT New --> Initialize +/obj/item/cell/protean/Initialize() charge = maxcharge update_icon() addtimer(CALLBACK(src, PROC_REF(search_for_protean)), 60) diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm index 97b094968f..531d351788 100755 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm @@ -99,6 +99,7 @@ /mob/living/carbon/human/proc/nano_copy_body, /mob/living/carbon/human/proc/appearance_switch, /mob/living/carbon/human/proc/nano_latch, + /mob/living/carbon/human/proc/nano_assimilate, /mob/living/proc/set_size, /mob/living/carbon/human/proc/nano_change_fitting, //These verbs are displayed normally, /mob/living/carbon/human/proc/shapeshifter_select_hair, @@ -239,20 +240,22 @@ /datum/species/protean/handle_death(var/mob/living/carbon/human/H) if(!H) return //No body? - if(OurRig.dead) - return - OurRig.dead = 1 + if(OurRig) + if(OurRig.dead) + return + OurRig.dead = 1 var/mob/temp = H if(H.temporary_form) temp = H.temporary_form playsound(temp, 'sound/voice/borg_deathsound.ogg', 50, 1) temp.visible_message(span_bold("[temp.name]") + " shudders and retreats inwards, coalescing into a single core componant!") to_chat(temp, span_warning("You've died as a Protean! While dead, you will be locked to your core RIG control module until you can be repaired. Instructions to your revival can be found in the Examine tab when examining your module.")) - if(H.temporary_form) - if(!istype(H.temporary_form.loc, /obj/item/rig/protean)) + if(OurRig) + if(H.temporary_form) + if(!istype(H.temporary_form.loc, /obj/item/rig/protean)) + H.nano_rig_transform(1) + else H.nano_rig_transform(1) - else - H.nano_rig_transform(1) pseudodead = 1 /datum/species/protean/handle_environment_special(var/mob/living/carbon/human/H) diff --git a/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm b/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm index c8e7b769c3..c841ae4109 100644 --- a/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm +++ b/code/modules/mob/living/carbon/human/species/station/replicant_crew.dm @@ -47,5 +47,7 @@ /mob/living/carbon/human/proc/shapeshifter_select_ears, /mob/living/carbon/human/proc/shapeshifter_select_secondary_ears, /mob/living/carbon/human/proc/shapeshifter_select_eye_colour, - /mob/living/proc/set_size + /mob/living/proc/set_size, + /mob/living/carbon/human/proc/shapeshifter_copy_body, + /mob/living/carbon/human/proc/shapeshifter_regenerate ) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 1360bb0aed..9120805488 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -318,7 +318,7 @@ flash_mod = 1.2 chemOD_mod = 0.9 - blood_reagents = "copper" + blood_reagents = REAGENT_ID_COPPER bloodloss_rate = 1.5 ambiguous_genders = TRUE @@ -430,7 +430,7 @@ warning_low_pressure = 300 // Low pressure warning. hazard_low_pressure = 220 // Dangerously low pressure. safe_pressure = 400 - poison_type = "nitrogen" // technically it's a partial pressure thing but IDK if we can emulate that + poison_type = GAS_N2 // technically it's a partial pressure thing but IDK if we can emulate that ideal_air_type = /datum/gas_mixture/belly_air/zaddat genders = list(FEMALE, PLURAL) //females are polyp-producing, infertile females and males are nigh-identical diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index 8ecb4b9d44..f24185eff6 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -87,9 +87,9 @@ /mob/living/carbon/human/proc/hasnutriment() - if (bloodstr.has_reagent("nutriment", 30) || src.bloodstr.has_reagent("protein", 15)) //protein needs half as much. For reference, a steak contains 9u protein. + if (bloodstr.has_reagent(REAGENT_ID_NUTRIMENT, 30) || src.bloodstr.has_reagent(REAGENT_ID_PROTEIN, 15)) //protein needs half as much. For reference, a steak contains 9u protein. return TRUE - else if (ingested.has_reagent("nutriment", 60) || src.ingested.has_reagent("protein", 30)) //try forcefeeding them, why not. Less effective. + else if (ingested.has_reagent(REAGENT_ID_NUTRIMENT, 60) || src.ingested.has_reagent(REAGENT_ID_PROTEIN, 30)) //try forcefeeding them, why not. Less effective. return TRUE else return FALSE @@ -1621,9 +1621,9 @@ continue if(L == src) //no getting high off your own supply, get a nif or something, nerd. continue - if(!L.resizable && (trait_injection_selected == "macrocillin" || trait_injection_selected == "microcillin" || trait_injection_selected == "normalcillin")) // If you're using a size reagent, ignore those with pref conflicts. + if(!L.resizable && (trait_injection_selected == REAGENT_ID_MACROCILLIN || trait_injection_selected == REAGENT_ID_MICROCILLIN || trait_injection_selected == REAGENT_ID_NORMALCILLIN)) // If you're using a size reagent, ignore those with pref conflicts. continue - if(!L.allow_spontaneous_tf && (trait_injection_selected == "androrovir" || trait_injection_selected == "gynorovir" || trait_injection_selected == "androgynorovir")) // If you're using a TF reagent, ignore those with pref conflicts. + if(!L.allow_spontaneous_tf && (trait_injection_selected == REAGENT_ID_ANDROROVIR || trait_injection_selected == REAGENT_ID_GYNOROVIR || trait_injection_selected == REAGENT_ID_ANDROGYNOROVIR)) // If you're using a TF reagent, ignore those with pref conflicts. continue targets += L diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index dee95bf6fb..cabfe3e18e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -206,7 +206,7 @@ flesh_color = "#AFA59E" base_color = "#333333" blood_color = "#240bc4" - blood_reagents = "copper" + blood_reagents = REAGENT_ID_COPPER reagent_tag = IS_ZORREN color_mult = 1 diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm index f9a6812f1d..b65539800a 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm @@ -208,12 +208,12 @@ /datum/trait/negative/breathes/phoron name = "Phoron Breather" desc = "You breathe phoron instead of oxygen (which is poisonous to you), much like a Vox." - var_changes = list("breath_type" = "phoron", "poison_type" = "oxygen", "ideal_air_type" = /datum/gas_mixture/belly_air/vox) + var_changes = list("breath_type" = GAS_PHORON, "poison_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/vox) /datum/trait/negative/breathes/nitrogen name = "Nitrogen Breather" desc = "You breathe nitrogen instead of oxygen (which is poisonous to you). Incidentally, phoron isn't poisonous to breathe to you." - var_changes = list("breath_type" = "nitrogen", "poison_type" = "oxygen", "ideal_air_type" = /datum/gas_mixture/belly_air/nitrogen_breather) + var_changes = list("breath_type" = GAS_N2, "poison_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/nitrogen_breather) /datum/trait/negative/monolingual name = "Monolingual" diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm index 1abaae82d3..005a9583e4 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm @@ -171,17 +171,17 @@ YW change end */ /datum/trait/neutral/venom_bite/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() add_verb(H, /mob/living/proc/injection) - H.trait_injection_reagents += "microcillin" // get small - H.trait_injection_reagents += "macrocillin" // get BIG - H.trait_injection_reagents += "normalcillin" // normal - H.trait_injection_reagents += "numbenzyme" // no feelings - H.trait_injection_reagents += "androrovir" // -> MALE - H.trait_injection_reagents += "gynorovir" // -> FEMALE - H.trait_injection_reagents += "androgynorovir" // -> PLURAL - H.trait_injection_reagents += "stoxin" // night night chem - H.trait_injection_reagents += "rainbowtoxin" // Funny flashing lights. - H.trait_injection_reagents += "paralysistoxin" // Paralysis! - H.trait_injection_reagents += "painenzyme" // Pain INCREASER + H.trait_injection_reagents += REAGENT_ID_MICROCILLIN // get small + H.trait_injection_reagents += REAGENT_ID_MACROCILLIN // get BIG + H.trait_injection_reagents += REAGENT_ID_NORMALCILLIN // normal + H.trait_injection_reagents += REAGENT_ID_NUMBENZYME // no feelings + H.trait_injection_reagents += REAGENT_ID_ANDROROVIR // -> MALE + H.trait_injection_reagents += REAGENT_ID_GYNOROVIR // -> FEMALE + H.trait_injection_reagents += REAGENT_ID_ANDROGYNOROVIR // -> PLURAL + H.trait_injection_reagents += REAGENT_ID_STOXIN // night night chem + H.trait_injection_reagents += REAGENT_ID_RAINBOWTOXIN // Funny flashing lights. + H.trait_injection_reagents += REAGENT_ID_PARALYSISTOXIN // Paralysis! + H.trait_injection_reagents += REAGENT_ID_PAINENZYME // Pain INCREASER /datum/trait/neutral/long_vore name = "Long Predatorial Reach" diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index 1e9143cc15..be96d9a596 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -114,7 +114,7 @@ var/datum/gas_mixture/environment = T.return_air() if(!environment) return - if(environment.gas["phoron"] > 0 || locate(/obj/effect/alien/weeds) in T) + if(environment.gas[GAS_PHORON] > 0 || locate(/obj/effect/alien/weeds) in T) if(!regenerate(H)) var/obj/item/organ/internal/xenos/plasmavessel/P = H.internal_organs_by_name[O_PLASMA] P.stored_plasma += weeds_plasma_rate diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm index ad240a4a56..c33f119eb2 100644 --- a/code/modules/mob/living/carbon/metroid/items.dm +++ b/code/modules/mob/living/carbon/metroid/items.dm @@ -29,7 +29,7 @@ /obj/item/slime_extract/New() ..() create_reagents(5) -// reagents.add_reagent("slimejelly", 30) +// reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 30) /obj/item/slime_extract/grey name = "grey slime extract" @@ -358,8 +358,8 @@ /obj/item/reagent_containers/food/snacks/egg/slime/Initialize() . = ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("slimejelly", 1) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 4) + reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 1) addtimer(CALLBACK(src, ./proc/Grow), rand(120 SECONDS, 150 SECONDS)) /obj/item/reagent_containers/food/snacks/egg/slime/proc/Grow() diff --git a/code/modules/mob/living/carbon/taste.dm b/code/modules/mob/living/carbon/taste.dm index 90e249b79a..d1d4ef4a4c 100644 --- a/code/modules/mob/living/carbon/taste.dm +++ b/code/modules/mob/living/carbon/taste.dm @@ -37,7 +37,7 @@ calculate text size per text. for(var/datum/reagent/R in reagent_list) if(!R.taste_mult) continue - if(R.id == "nutriment") //this is ugly but apparently only nutriment (not subtypes) has taste data TODO figure out why + if(R.id == REAGENT_ID_NUTRIMENT) //this is ugly but apparently only nutriment (not subtypes) has taste data TODO figure out why var/list/taste_data = R.get_data() for(var/taste in taste_data) if(taste in tastes) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cbedd7d392..e2e3b10d2f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -676,6 +676,9 @@ disabilities = 0 resting = FALSE + if(viruses) + viruses.Cut() + // fix blindness and deafness blinded = 0 SetBlinded(0) @@ -1248,15 +1251,15 @@ /mob/living/vv_get_header() . = ..() . += {" - [src] -
    [ckey ? ckey : "No ckey"] / [real_name ? real_name : "No real name"] + [src] +
    [ckey ? ckey : "No ckey"] / [real_name ? real_name : "No real name"]
    - BRUTE:[getBruteLoss()] - FIRE:[getFireLoss()] - TOXIN:[getToxLoss()] - OXY:[getOxyLoss()] - CLONE:[getCloneLoss()] - BRAIN:[getBrainLoss()] + BRUTE:[getBruteLoss()] + FIRE:[getFireLoss()] + TOXIN:[getToxLoss()] + OXY:[getOxyLoss()] + CLONE:[getCloneLoss()] + BRAIN:[getBrainLoss()]
    "} diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index c46b4c8826..15f5d08ea2 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -442,7 +442,7 @@ return 1 var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment - if(G.gas["oxygen"] < 1) + if(G.gas[GAS_O2] < 1) ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire return 1 diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 6278f731b7..fb41a21c5b 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -28,7 +28,7 @@ var/list/department_radio_keys = list( ":N" = CHANNEL_SCIENCE, ".N" = CHANNEL_SCIENCE, ":M" = CHANNEL_MEDICAL, ".M" = CHANNEL_MEDICAL, ":E" = CHANNEL_ENGINEERING, ".E" = CHANNEL_ENGINEERING, - ":k" = CHANNEL_RESPONSE_TEAM, ".k" = CHANNEL_RESPONSE_TEAM, + ":K" = CHANNEL_RESPONSE_TEAM, ".K" = CHANNEL_RESPONSE_TEAM, ":S" = CHANNEL_SECURITY, ".S" = CHANNEL_SECURITY, ":W" = "whisper", ".W" = "whisper", ":T" = CHANNEL_MERCENARY, ".T" = CHANNEL_MERCENARY, diff --git a/code/modules/mob/living/silicon/pai/pai_vr.dm b/code/modules/mob/living/silicon/pai/pai_vr.dm index 1fa7a3b6e6..49d34c454e 100644 --- a/code/modules/mob/living/silicon/pai/pai_vr.dm +++ b/code/modules/mob/living/silicon/pai/pai_vr.dm @@ -68,6 +68,9 @@ var/soft_si = FALSE //signaler var/soft_ar = FALSE //ar hud + vore_capacity = 1 + vore_capacity_ex = list("stomach" = 1) + /mob/living/silicon/pai/Initialize() . = ..() @@ -108,13 +111,6 @@ return return feed_grabbed_to_self(src,T) -/mob/living/silicon/pai/proc/update_fullness_pai() //Determines if they have something in their stomach. Copied and slightly modified. - var/new_people_eaten = 0 - for(var/obj/belly/B as anything in vore_organs) - for(var/mob/living/M in B) - new_people_eaten += M.size_multiplier - people_eaten = min(1, new_people_eaten) - /mob/living/silicon/pai/update_icon() //Some functions cause this to occur, such as resting ..() if(chassis == "13") @@ -122,22 +118,27 @@ add_eyes() return - update_fullness_pai() + update_fullness() - if(!people_eaten && !resting) + //Add a check when selecting a chassis if you add in support for this, to set vore_capacity to 2 or however many states you have. + var/fullness_extension = "" + if(vore_capacity > 1 && vore_fullness > 1) + fullness_extension = "_[vore_fullness]" + + if(!vore_fullness && !resting) icon_state = "[chassis]" //Using icon_state here resulted in quite a few bugs. Chassis is much less buggy. - else if(!people_eaten && resting) + else if(!vore_fullness && resting) icon_state = "[chassis]_rest" // Unfortunately not all these states exist, ugh. - else if(people_eaten && !resting) - if("[chassis]_full" in cached_icon_states(icon)) - icon_state = "[chassis]_full" + else if(vore_fullness && !resting) + if("[chassis]_full[fullness_extension]" in cached_icon_states(icon)) + icon_state = "[chassis]_full[fullness_extension]" else icon_state = "[chassis]" - else if(people_eaten && resting) - if("[chassis]_rest_full" in cached_icon_states(icon)) - icon_state = "[chassis]_rest_full" + else if(vore_fullness && resting) + if("[chassis]_rest_full[fullness_extension]" in cached_icon_states(icon)) + icon_state = "[chassis]_rest_full[fullness_extension]" else icon_state = "[chassis]_rest" if(chassis in wide_chassis) @@ -154,7 +155,7 @@ icon = holo_icon add_eyes() return - update_fullness_pai() + update_fullness() if(!people_eaten && !resting) icon_state = "[chassis]" else if(!people_eaten && resting) @@ -182,6 +183,10 @@ var/oursize = size_multiplier resize(1, FALSE, TRUE, TRUE, FALSE) //We resize ourselves to normal here for a moment to let the vis_height get reset chassis = possible_chassis[choice] + + vore_capacity = 1 + vore_capacity_ex = list("stomach" = 1) + if(chassis == "13") if(!holo_icon) if(!get_character_icon()) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 79054818cc..0c0faebeb3 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -340,10 +340,10 @@ var/pressure = environment.return_pressure() var/total_moles = environment.total_moles if (total_moles) - var/o2_level = environment.gas["oxygen"]/total_moles - var/n2_level = environment.gas["nitrogen"]/total_moles - var/co2_level = environment.gas["carbon_dioxide"]/total_moles - var/phoron_level = environment.gas["phoron"]/total_moles + var/o2_level = environment.gas[GAS_O2]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) // entry is what the element is describing diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm index d12d31d3ca..d674214cfd 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm @@ -1,110 +1,3 @@ -/obj/item/melee/dogborg/jaws - icon = 'icons/mob/dogborg_vr.dmi' - hitsound = 'sound/weapons/bite.ogg' - throwforce = 0 - w_class = ITEMSIZE_NORMAL - pry = 1 - tool_qualities = list(TOOL_CROWBAR) - -/obj/item/melee/dogborg/jaws/big - name = "combat jaws" - icon_state = "jaws" - desc = "The jaws of the law." - force = 25 - armor_penetration = 25 - defend_chance = 15 - attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") - -/obj/item/melee/dogborg/jaws/small - name = "puppy jaws" - icon_state = "smalljaws" - desc = "The jaws of a small dog." - force = 10 - defend_chance = 5 - attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") - var/emagged = 0 - -/obj/item/melee/dogborg/jaws/small/attack_self(mob/user) - var/mob/living/silicon/robot/R = user - if(R.emagged || R.emag_items) - emagged = !emagged - if(emagged) - name = "combat jaws" - icon_state = "jaws" - desc = "The jaws of the law." - force = 25 - armor_penetration = 25 - defend_chance = 15 - attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") - else - name = "puppy jaws" - icon_state = "smalljaws" - desc = "The jaws of a small dog." - force = 10 - armor_penetration = 0 - defend_chance = 5 - attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") - update_icon() - -// Baton chompers -/obj/item/melee/borg_combat_shocker - name = "combat shocker" - icon = 'icons/mob/dogborg_vr.dmi' - icon_state = "combatshocker" - desc = "Shocking!" - force = 15 - throwforce = 0 - hitsound = 'sound/weapons/genhit1.ogg' - attack_verb = list("hit") - w_class = ITEMSIZE_NORMAL - var/charge_cost = 15 - var/dogborg = FALSE - -/obj/item/melee/borg_combat_shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) - if(isrobot(target)) - return ..() - - var/agony = 60 // Copied from stun batons - var/stun = 0 // ... same - - var/obj/item/organ/external/affecting = null - if(ishuman(target)) - var/mob/living/carbon/human/H = target - affecting = H.get_organ(hit_zone) - - if(user.a_intent == I_HURT) - // Parent handles messages - . = ..() - //whacking someone causes a much poorer electrical contact than deliberately prodding them. - agony *= 0.5 - stun *= 0.5 - else - if(affecting) - if(dogborg) - target.visible_message(span_danger("[target] has been zap-chomped in the [affecting.name] with [src] by [user]!")) - else - target.visible_message(span_danger("[target] has been zapped in the [affecting.name] with [src] by [user]!")) - else - if(dogborg) - target.visible_message(span_danger("[target] has been zap-chomped with [src] by [user]!")) - else - target.visible_message(span_danger("[target] has been zapped with [src] by [user]!")) - playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1) - - // Try to use power - var/stunning = FALSE - if(isrobot(loc)) - var/mob/living/silicon/robot/R = loc - if(R.cell?.use(charge_cost) == charge_cost) - stunning = TRUE - - if(stunning) - target.stun_effect_act(stun, agony, hit_zone, src) - msg_admin_attack("[key_name(user)] stunned [key_name(target)] with the [src].") - if(ishuman(target)) - var/mob/living/carbon/human/H = target - H.forcesay(hit_appends) - //Boop //New and improved, now a simple reagent sniffer. /obj/item/boop_module name = "boop module" @@ -203,7 +96,7 @@ name = "MediHound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves, designed for heavy-duty medical equipment." charge_cost = 10 - reagent_ids = list("inaprovaline", "dexalin", "bicaridine", "kelotane", "anti_toxin", "spaceacillin", "paracetamol") + reagent_ids = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_DEXALIN, REAGENT_ID_BICARIDINE, REAGENT_ID_KELOTANE, REAGENT_ID_ANTITOXIN, REAGENT_ID_SPACEACILLIN, REAGENT_ID_PARACETAMOL) var/datum/matter_synth/water = null /obj/item/reagent_containers/borghypo/hound/process() //Recharges in smaller steps and uses the water reserves as well. @@ -220,12 +113,12 @@ /obj/item/reagent_containers/borghypo/hound/lost name = "Hound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves." - reagent_ids = list("tricordrazine", "inaprovaline", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin") + reagent_ids = list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_INAPROVALINE, REAGENT_ID_BICARIDINE, REAGENT_ID_DEXALIN, REAGENT_ID_ANTITOXIN, REAGENT_ID_TRAMADOL, REAGENT_ID_SPACEACILLIN) /obj/item/reagent_containers/borghypo/hound/trauma name = "Hound hypospray" desc = "An advanced chemical synthesizer and injection system utilizing carrier's reserves." - reagent_ids = list("tricordrazine", "inaprovaline", "oxycodone", "dexalin" ,"spaceacillin") + reagent_ids = list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_INAPROVALINE, REAGENT_ID_OXYCODONE, REAGENT_ID_DEXALIN ,REAGENT_ID_SPACEACILLIN) //Tongue stuff @@ -356,20 +249,6 @@ recharge_time = 1 //Takes ten ticks to recharge a laser, so don't waste them all! //cell_type = null //Same cell as a taser until edits are made. -/obj/item/melee/combat_borgblade - name = "energy blade" - icon = 'icons/mob/dogborg_vr.dmi' - icon_state = "swordtail" - desc = "A glowing dagger. It appears to be extremely sharp." - force = 35 //Takes 3 hits to 100-0 - armor_penetration = 70 - sharp = TRUE - edge = TRUE - throwforce = 0 //This shouldn't be thrown in the first place. - hitsound = 'sound/weapons/blade1.ogg' - attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced") - w_class = ITEMSIZE_NORMAL - /obj/item/lightreplacer/dogborg name = "light replacer" desc = "A device to automatically replace lights. This version is capable to produce a few replacements using your internal matter reserves." diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 0baa98d422..c086fd9bde 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -13,7 +13,7 @@ var/min_health = -100 var/cleaning = 0 var/patient_laststat = null - var/list/injection_chems = list("inaprovaline", "bicaridine", "kelotane", "anti_toxin", "dexalin", "tricordrazine", "spaceacillin", "tramadol") //The borg is able to heal every damage type. As a nerf, they use 750 charge per injection. + var/list/injection_chems = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_BICARIDINE, REAGENT_ID_KELOTANE, REAGENT_ID_ANTITOXIN, REAGENT_ID_DEXALIN, REAGENT_ID_TRICORDRAZINE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_TRAMADOL) //The borg is able to heal every damage type. As a nerf, they use 750 charge per injection. var/eject_port = "ingestion" var/list/items_preserved = list() var/UI_open = FALSE @@ -132,7 +132,7 @@ trashman.reset_view(src) START_PROCESSING(SSobj, src) user.visible_message(span_warning("[hound.name]'s [src.name] groans lightly as [trashman] slips inside."), span_notice("Your [src.name] groans lightly as [trashman] slips inside.")) - log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") + log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) if(delivery) if(islist(deliverylists[delivery_tag])) @@ -163,7 +163,7 @@ update_patient() START_PROCESSING(SSobj, src) user.visible_message(span_warning("[hound.name]'s [src.name] lights up as [H.name] slips inside."), span_notice("Your [src] lights up as [H] slips inside. Life support functions engaged.")) - log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") + log_admin("[key_name(hound)] has eaten [key_name(patient)] with a cyborg belly. ([hound ? "JMP" : "null"])") playsound(src, gulpsound, vol = 100, vary = 1, falloff = 0.1, preference = /datum/preference/toggle/eating_noises) /obj/item/dogborg/sleeper/proc/ingest_atom(var/atom/ingesting) @@ -250,7 +250,7 @@ for(var/re in injection_chems) var/datum/reagent/C = SSchemistry.chemical_reagents[re] if(C) - dat += "Inject [C.name]
    " + dat += "Inject [C.name]
    " else for(var/re in injection_chems) var/datum/reagent/C = SSchemistry.chemical_reagents[re] @@ -259,21 +259,21 @@ dat += "

    [name] Status

    " dat += "
    " - dat += "Refresh" - dat += "Eject All" - dat += "Eject port: [eject_port]" - dat += "Vore All" //might as well make it obvious + dat += "Refresh" + dat += "Eject All" + dat += "Eject port: [eject_port]" + dat += "Vore All" //might as well make it obvious if(!cleaning) - dat += "Self-Clean" + dat += "Self-Clean" else dat += span_linkOff("Self-Clean") if(medsensor) - dat += "Analyze Patient" + dat += "Analyze Patient" if(delivery) dat += "

    Cargo Compartment


    " - dat += "Active Slot: [delivery_tag]" + dat += "Active Slot: [delivery_tag]" if(islist(deliverylists[delivery_tag])) - dat += "Eject Slot" + dat += "Eject Slot" dat += "
    " dat += "
    " @@ -296,7 +296,7 @@ dat += "([jointext(contents - (deliveryslot_1 + deliveryslot_2 + deliveryslot_3),", ")])

    " if(analyzer && !synced) - dat += "Sync Files
    " + dat += "Sync Files
    " //Cleaning and there are still un-preserved items if(cleaning && length(contents - items_preserved)) @@ -449,7 +449,7 @@ return if(patient && !(patient.stat & DEAD)) //What is bitwise NOT? ... Thought it was tilde. - if(href_list["inject"] == "inaprovaline" || patient.health > min_health) + if(href_list["inject"] == REAGENT_ID_INAPROVALINE || patient.health > min_health) inject_chem(usr, href_list["inject"]) else to_chat(usr, span_notice("ERROR: Subject is not in stable condition for injections.")) @@ -462,7 +462,7 @@ /obj/item/dogborg/sleeper/proc/inject_chem(mob/user, chem) if(patient && patient.reagents) - if(chem in injection_chems + "inaprovaline") + if(chem in injection_chems + REAGENT_ID_INAPROVALINE) if(hound.cell.charge < 800) //This is so borgs don't kill themselves with it. to_chat(hound, span_notice("You don't have enough power to synthesize fluids.")) return @@ -597,7 +597,7 @@ drain(-25 * damage_gain) //25*total loss as with voreorgan stats. if(T.stat == DEAD) if(ishuman(T)) - log_admin("[key_name(hound)] has digested [key_name(T)] with a cyborg belly. ([hound ? "JMP" : "null"])") + log_admin("[key_name(hound)] has digested [key_name(T)] with a cyborg belly. ([hound ? "JMP" : "null"])") to_chat(hound, span_notice("You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.")) to_chat(T, span_notice("You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.")) var/deathsound = pick( @@ -660,12 +660,12 @@ total_material *= stack.get_amount() if(material == MAT_STEEL && metal) metal.add_charge(total_material) - if(material == "glass" && glass) + if(material == MAT_GLASS && glass) glass.add_charge(total_material) if(decompiler) - if(material == "plastic" && plastic) + if(material == MAT_PLASTIC && plastic) plastic.add_charge(total_material) - if(material == "wood" && wood) + if(material == MAT_WOOD && wood) wood.add_charge(total_material) drain(-50 * digested) else if(istype(target,/obj/effect/decal/remains)) @@ -748,7 +748,7 @@ name = "Supply Storage" desc = "A mounted survival unit with fuel processor, helpful with both deliveries and assisting injured miners." icon_state = "sleeperc" - injection_chems = list("glucose","inaprovaline","tricordrazine") + injection_chems = list(REAGENT_ID_GLUCOSE,REAGENT_ID_INAPROVALINE,REAGENT_ID_TRICORDRAZINE) max_item_count = 10 recycles = FALSE stabilizer = TRUE @@ -775,19 +775,19 @@ name = "Emergency Storage" desc = "A mounted 'emergency containment cell'." icon_state = "sleeperert" - injection_chems = list("inaprovaline", "tramadol") // short list + injection_chems = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_TRAMADOL) // short list /obj/item/dogborg/sleeper/trauma //Trauma borg belly name = "Recovery Belly" desc = "A downgraded model of the sleeper belly, intended primarily for post-surgery recovery." icon_state = "sleeper" - injection_chems = list("inaprovaline", "dexalin", "tricordrazine", "spaceacillin", "oxycodone") + injection_chems = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_DEXALIN, REAGENT_ID_TRICORDRAZINE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_OXYCODONE) /obj/item/dogborg/sleeper/lost name = "Multipurpose Belly" desc = "A multipurpose belly, capable of functioning as both sleeper and processor." icon_state = "sleeperlost" - injection_chems = list("tricordrazine", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin") + injection_chems = list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_BICARIDINE, REAGENT_ID_DEXALIN, REAGENT_ID_ANTITOXIN, REAGENT_ID_TRAMADOL, REAGENT_ID_SPACEACILLIN) compactor = TRUE max_item_count = 25 stabilizer = TRUE @@ -797,7 +797,7 @@ name = "Combat Triage Belly" desc = "A mounted sleeper that stabilizes patients and can inject reagents in the borg's reserves. This one is for more extreme combat scenarios." icon_state = "sleepersyndiemed" - injection_chems = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood") + injection_chems = list(REAGENT_ID_HEALINGNANITES, REAGENT_ID_HYPERZINE, REAGENT_ID_TRAMADOL, REAGENT_ID_OXYCODONE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_PERIDAXON, REAGENT_ID_OSTEODAXON, REAGENT_ID_MYELAMINE, REAGENT_ID_SYNTHBLOOD) digest_multiplier = 2 /obj/item/dogborg/sleeper/K9/syndie diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index b5c4dd522f..f210f5e172 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -135,13 +135,25 @@ else return 0 +/mob/living/silicon/robot/proc/get_active_modules() + return list(module_state_1, module_state_2, module_state_3) + // This one takes an object's type instead of an instance, as above. /mob/living/silicon/robot/proc/has_active_type(var/type_to_compare, var/explicit = FALSE) - var/list/active_modules = list(module_state_1, module_state_2, module_state_3) + var/list/active_modules = get_active_modules() if(is_type_in_modules(type_to_compare, active_modules, explicit)) return TRUE return FALSE +/// Searches through a provided list to see if we have a module that is in that list. +/mob/living/silicon/robot/proc/has_active_type_list(var/list/type_to_compare, var/explicit = FALSE) + var/list/active_modules = get_active_modules() + if(islist(type_to_compare)) + for(var/object_to_compare in type_to_compare) + if(is_type_in_modules(object_to_compare, active_modules, explicit)) + return TRUE + return FALSE + /mob/living/silicon/robot/proc/is_type_in_modules(var/type, var/list/modules, var/explicit = FALSE) for(var/atom/module in modules) if(explicit && isatom(module)) @@ -284,6 +296,7 @@ contents += O if(istype(module_state_1,/obj/item/borg/sight)) sight_mode |= module_state_1:sight_mode + update_icon() else if(!module_state_2) module_state_2 = O O.hud_layerise() @@ -291,6 +304,7 @@ contents += O if(istype(module_state_2,/obj/item/borg/sight)) sight_mode |= module_state_2:sight_mode + update_icon() else if(!module_state_3) module_state_3 = O O.hud_layerise() @@ -298,6 +312,7 @@ contents += O if(istype(module_state_3,/obj/item/borg/sight)) sight_mode |= module_state_3:sight_mode + update_icon() else to_chat(src, span_notice("You need to disable a module first!")) return diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index bbf89baf3a..7b8f5a5319 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -2,10 +2,10 @@ set invisibility = 0 set background = 1 - if (src.transforming) + if (transforming) return - src.blinded = null + blinded = null //Status updates, death etc. clamp_values() @@ -19,7 +19,7 @@ handle_regular_hud_updates() handle_vision() update_items() - if (src.stat != DEAD) //still using power + if (stat != DEAD) //still using power use_power() process_killswitch() process_locks() @@ -45,97 +45,99 @@ var/datum/robot_component/C = components[V] C.update_power_state() - if ( cell && is_component_functioning("power cell") && src.cell.charge > 0 ) - if(src.module_state_1) + if ( cell && is_component_functioning("power cell") && cell.charge > 0 ) + if(module_state_1) cell_use_power(50) // 50W load for every enabled tool TODO: tool-specific loads - if(src.module_state_2) + if(module_state_2) cell_use_power(50) - if(src.module_state_3) + if(module_state_3) cell_use_power(50) if(lights_on) cell_use_power(30) // 30W light. Normal lights would use ~15W, but increased for balance reasons. - src.has_power = 1 + has_power = 1 else - if (src.has_power) + if (has_power) to_chat(src, span_red("You are now running on emergency backup power.")) - src.has_power = 0 + has_power = 0 if(lights_on) // Light is on but there is no power! lights_on = 0 set_light(0) /mob/living/silicon/robot/handle_regular_status_updates() - if(src.camera && !scrambledcodes) - if(src.stat == 2 || wires.is_cut(WIRE_BORG_CAMERA)) - src.camera.set_status(0) + if(camera && !scrambledcodes) + if(stat == 2 || wires.is_cut(WIRE_BORG_CAMERA)) + camera.set_status(0) else - src.camera.set_status(1) + camera.set_status(1) updatehealth() - if(src.sleeping) + if(sleeping) Paralyse(3) AdjustSleeping(-1) - //if(src.resting) // VOREStation edit. Our borgos would rather not. + //if(resting) // VOREStation edit. Our borgos would rather not. // Weaken(5) - if(health < CONFIG_GET(number/health_threshold_dead) && src.stat != 2) //die only once + if(health < CONFIG_GET(number/health_threshold_dead) && stat != 2) //die only once death() - if (src.stat != 2) //Alive. - if (src.weakened > 0) // Do not fullstun on weaken + if (stat != 2) //Alive. + if (weakened > 0) // Do not fullstun on weaken AdjustWeakened(-1) - if (src.paralysis || src.stunned || !src.has_power) //Stunned etc. - src.set_stat(UNCONSCIOUS) - if (src.stunned > 0) + if (paralysis || stunned || !has_power) //Stunned etc. + set_stat(UNCONSCIOUS) + if (stunned > 0) AdjustStunned(-1) - if (src.weakened > 0) + if (weakened > 0) AdjustWeakened(-1) - if (src.paralysis > 0) + if (paralysis > 0) AdjustParalysis(-1) - src.blinded = 1 + blinded = 1 else - src.blinded = 0 + blinded = 0 else //Not stunned. - src.set_stat(CONSCIOUS) + if(stat != 0) //We are just getting done with being stunned + set_stat(CONSCIOUS) + update_icon() AdjustConfused(-1) else //Dead or just unconscious. - src.blinded = 1 + blinded = 1 - if (src.stuttering) src.stuttering-- + if (stuttering) stuttering-- - if (src.eye_blind) - src.AdjustBlinded(-1) - src.blinded = 1 + if (eye_blind) + AdjustBlinded(-1) + blinded = 1 - if (src.ear_deaf > 0) src.ear_deaf-- - if (src.ear_damage < 25) - src.ear_damage -= 0.05 - src.ear_damage = max(src.ear_damage, 0) + if (ear_deaf > 0) ear_deaf-- + if (ear_damage < 25) + ear_damage -= 0.05 + ear_damage = max(ear_damage, 0) - src.density = !( src.lying ) + density = !( lying ) - if (src.sdisabilities & BLIND) - src.blinded = 1 - if (src.sdisabilities & DEAF) - src.ear_deaf = 1 + if (sdisabilities & BLIND) + blinded = 1 + if (sdisabilities & DEAF) + ear_deaf = 1 - if (src.eye_blurry > 0) - src.eye_blurry-- - src.eye_blurry = max(0, src.eye_blurry) + if (eye_blurry > 0) + eye_blurry-- + eye_blurry = max(0, eye_blurry) - if (src.druggy > 0) - src.druggy-- - src.druggy = max(0, src.druggy) + if (druggy > 0) + druggy-- + druggy = max(0, druggy) //update the state of modules and components here - if (src.stat != 0) + if (stat != 0) uneq_all() if(radio) @@ -145,65 +147,65 @@ radio.on = 1 if(is_component_functioning("camera")) - src.blinded = 0 + blinded = 0 else - src.blinded = 1 + blinded = 1 return 1 /mob/living/silicon/robot/handle_regular_hud_updates() var/fullbright = FALSE var/seemeson = FALSE - var/seejanhud = src.sight_mode & BORGJAN + var/seejanhud = sight_mode & BORGJAN var/area/A = get_area(src) if(A?.flag_check(AREA_NO_SPOILERS)) disable_spoiler_vision() - if (src.stat == DEAD || (XRAY in mutations) || (src.sight_mode & BORGXRAY)) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_MINIMUM - else if ((src.sight_mode & BORGMESON) && (src.sight_mode & BORGTHERM)) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.see_in_dark = 8 + if (stat == DEAD || (XRAY in mutations) || (sight_mode & BORGXRAY)) + sight |= SEE_TURFS + sight |= SEE_MOBS + sight |= SEE_OBJS + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_MINIMUM + else if ((sight_mode & BORGMESON) && (sight_mode & BORGTHERM)) + sight |= SEE_TURFS + sight |= SEE_MOBS + see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM fullbright = TRUE - else if (src.sight_mode & BORGMESON) - src.sight |= SEE_TURFS - src.see_in_dark = 8 + else if (sight_mode & BORGMESON) + sight |= SEE_TURFS + see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM fullbright = TRUE seemeson = TRUE - else if (src.sight_mode & BORGMATERIAL) - src.sight |= SEE_OBJS - src.see_in_dark = 8 + else if (sight_mode & BORGMATERIAL) + sight |= SEE_OBJS + see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM fullbright = TRUE - else if (src.sight_mode & BORGTHERM) - src.sight |= SEE_MOBS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + else if (sight_mode & BORGTHERM) + sight |= SEE_MOBS + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_LEVEL_TWO fullbright = TRUE - else if (src.sight_mode & BORGANOMALOUS) - src.see_in_dark = 8 - src.see_invisible = INVISIBILITY_SHADEKIN + else if (sight_mode & BORGANOMALOUS) + see_in_dark = 8 + see_invisible = INVISIBILITY_SHADEKIN fullbright = TRUE else if (!seedarkness) - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_NOLIGHTING - else if (src.stat != DEAD) - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.see_in_dark = 8 // see_in_dark means you can FAINTLY see in the dark, humans have a range of 3 or so, tajaran have it at 8 - src.see_invisible = SEE_INVISIBLE_LIVING // This is normal vision (25), setting it lower for normal vision means you don't "see" things like darkness since darkness + sight &= ~SEE_MOBS + sight &= ~SEE_TURFS + sight &= ~SEE_OBJS + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_NOLIGHTING + else if (stat != DEAD) + sight &= ~SEE_MOBS + sight &= ~SEE_TURFS + sight &= ~SEE_OBJS + see_in_dark = 8 // see_in_dark means you can FAINTLY see in the dark, humans have a range of 3 or so, tajaran have it at 8 + see_invisible = SEE_INVISIBLE_LIVING // This is normal vision (25), setting it lower for normal vision means you don't "see" things like darkness since darkness // has a "invisible" value of 15 if(plane_holder) @@ -213,54 +215,54 @@ ..() - if (src.healths) - if (src.stat != 2) + if (healths) + if (stat != 2) if(istype(src,/mob/living/silicon/robot/drone)) switch(health) if(35 to INFINITY) - src.healths.icon_state = "health0" + healths.icon_state = "health0" if(25 to 34) - src.healths.icon_state = "health1" + healths.icon_state = "health1" if(15 to 24) - src.healths.icon_state = "health2" + healths.icon_state = "health2" if(5 to 14) - src.healths.icon_state = "health3" + healths.icon_state = "health3" if(0 to 4) - src.healths.icon_state = "health4" + healths.icon_state = "health4" if(-35 to 0) - src.healths.icon_state = "health5" + healths.icon_state = "health5" else - src.healths.icon_state = "health6" + healths.icon_state = "health6" else if(health >= 200) - src.healths.icon_state = "health0" + healths.icon_state = "health0" else if(health >= 150) - src.healths.icon_state = "health1" + healths.icon_state = "health1" else if(health >= 100) - src.healths.icon_state = "health2" + healths.icon_state = "health2" else if(health >= 50) - src.healths.icon_state = "health3" + healths.icon_state = "health3" else if(health >= 0) - src.healths.icon_state = "health4" + healths.icon_state = "health4" else if(health >= CONFIG_GET(number/health_threshold_dead)) - src.healths.icon_state = "health5" + healths.icon_state = "health5" else - src.healths.icon_state = "health6" + healths.icon_state = "health6" else - src.healths.icon_state = "health7" + healths.icon_state = "health7" - if (src.syndicate && src.client) + if (syndicate && client) for(var/datum/mind/tra in traitors.current_antagonists) if(tra.current) // TODO: Update to new antagonist system. var/I = image('icons/mob/mob.dmi', loc = tra.current, icon_state = "traitor") - src.client.images += I - src.disconnect_from_ai() - if(src.mind) + client.images += I + disconnect_from_ai() + if(mind) // TODO: Update to new antagonist system. - if(!src.mind.special_role) - src.mind.special_role = "traitor" - traitors.current_antagonists |= src.mind + if(!mind.special_role) + mind.special_role = "traitor" + traitors.current_antagonists |= mind update_cell() @@ -280,8 +282,8 @@ throw_alert("temp", /obj/screen/alert/cold/robot, COLD_ALERT_SEVERITY_MODERATE) //Oxygen and fire does nothing yet!! -// if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]" -// if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]" +// if (oxygen) oxygen.icon_state = "oxy[oxygen_alert ? 1 : 0]" +// if (fire) fire.icon_state = "fire[fire_alert ? 1 : 0]" if(stat != 2) if(blinded) @@ -292,9 +294,9 @@ set_fullscreen(eye_blurry, "blurry", /obj/screen/fullscreen/blurry) set_fullscreen(druggy, "high", /obj/screen/fullscreen/high) - if (src.machine) - if (src.machine.check_eye(src) < 0) - src.reset_view(null) + if (machine) + if (machine.check_eye(src) < 0) + reset_view(null) else if(client && !client.adminobs) reset_view(null) @@ -336,13 +338,13 @@ module_state_2:screen_loc = ui_inv2 if(module_state_3) module_state_3:screen_loc = ui_inv3 - update_icon() + //update_icon() //Removed and moved to robot/inventory.dm so it's not being called EVERY LIFE TICK /mob/living/silicon/robot/proc/process_killswitch() if(killswitch) killswitch_time -- if(killswitch_time <= 0) - if(src.client) + if(client) to_chat(src, span_danger("Killswitch Activated")) killswitch = 0 spawn(5) @@ -353,7 +355,7 @@ uneq_all() weaponlock_time -- if(weaponlock_time <= 0) - if(src.client) + if(client) to_chat(src, span_danger("Weapon Lock Timed Out!")) weapon_lock = 0 weaponlock_time = 120 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b95612426a..8f0b9a3412 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -131,6 +131,11 @@ buckle_movable = TRUE buckle_lying = FALSE + var/list/vore_light_states = list() //Robot exclusive + vore_capacity_ex = list() + vore_fullness_ex = list() + vore_icon_bellies = list() + /mob/living/silicon/robot/New(loc, var/unfinished = 0) spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) @@ -775,6 +780,9 @@ updatename("Default") has_recoloured = FALSE robotact?.update_static_data_for_all_viewers() + vore_capacity_ex = list() + vore_fullness_ex = list() + vore_light_states = list() /mob/living/silicon/robot/proc/ColorMate() set name = "Recolour Module" @@ -918,52 +926,24 @@ old_x = sprite_datum.pixel_x if(stat == CONSCIOUS) - var/belly_size = 0 - if(sprite_datum.has_vore_belly_sprites && vore_selected.belly_overall_mult != 0) - if(vore_selected.silicon_belly_overlay_preference == "Sleeper") - if(sleeper_state) - belly_size = sprite_datum.max_belly_size - else if(vore_selected.silicon_belly_overlay_preference == "Vorebelly" || vore_selected.silicon_belly_overlay_preference == "Both") - if(sleeper_state && vore_selected.silicon_belly_overlay_preference == "Both") - belly_size += 1 - if(LAZYLEN(vore_selected.contents) > 0) - for(var/borgfood in vore_selected.contents) //"inspired" (kinda copied) from Chompstation's belly fullness system's procs - if(istype(borgfood, /mob/living)) - if(vore_selected.belly_mob_mult <= 0) //If mobs dont contribute, dont calculate further - continue - var/mob/living/prey = borgfood //typecast to living - belly_size += (prey.size_multiplier / size_multiplier) / vore_selected.belly_mob_mult //Smaller prey are less filling to larger bellies - else if(istype(borgfood, /obj/item)) - if(vore_selected.belly_item_mult <= 0) //If items dont contribute, dont calculate further - continue - var/obj/item/junkfood = borgfood //typecast to item - var/fullness_to_add = 0 - switch(junkfood.w_class) - if(ITEMSIZE_TINY) - fullness_to_add = ITEMSIZE_COST_TINY - if(ITEMSIZE_SMALL) - fullness_to_add = ITEMSIZE_COST_SMALL - if(ITEMSIZE_NORMAL) - fullness_to_add = ITEMSIZE_COST_NORMAL - if(ITEMSIZE_LARGE) - fullness_to_add = ITEMSIZE_COST_LARGE - if(ITEMSIZE_HUGE) - fullness_to_add = ITEMSIZE_COST_HUGE - else - fullness_to_add = ITEMSIZE_COST_NO_CONTAINER - belly_size += (fullness_to_add / 32) //* vore_selected.overlay_item_multiplier //Enable this later when vorepanel is reworked. - else - belly_size += 1 //if it's not a person, nor an item... lets just go with 1 - - belly_size *= vore_selected.belly_overall_mult //Enable this after vore panel rework - belly_size = round(belly_size, 1) - belly_size = clamp(belly_size, 0, sprite_datum.max_belly_size) //Value from 0 to however many bellysizes the borg has - - if(belly_size > 0) //Borgs probably only have 1 belly size. but here's support for larger ones if that changes. - if(resting && sprite_datum.has_vore_belly_resting_sprites) - add_overlay(sprite_datum.get_belly_resting_overlay(src, belly_size)) - else if(!resting) - add_overlay(sprite_datum.get_belly_overlay(src, belly_size)) + update_fullness() + for(var/belly_class in vore_fullness_ex) + reset_belly_lights(belly_class) + var/vs_fullness = vore_fullness_ex[belly_class] + if(belly_class == "sleeper" && sleeper_state == 0 && vore_selected.silicon_belly_overlay_preference == "Sleeper") continue + if(belly_class == "sleeper" && sleeper_state != 0 && !(vs_fullness + 1 > vore_capacity_ex[belly_class])) + if(vore_selected.silicon_belly_overlay_preference == "Sleeper") + vs_fullness = vore_capacity_ex[belly_class] + else if(vore_selected.silicon_belly_overlay_preference == "Both") + vs_fullness += 1 + if(!vs_fullness > 0) continue + if(resting) + if(!sprite_datum.has_vore_belly_resting_sprites) + continue + add_overlay(sprite_datum.get_belly_resting_overlay(src, vs_fullness, belly_class)) + else + update_belly_lights(belly_class) + add_overlay(sprite_datum.get_belly_overlay(src, vs_fullness, belly_class)) sprite_datum.handle_extra_icon_updates(src) // Various equipment-based sprites go here. @@ -1150,7 +1130,7 @@ if(first_arg != second_arg) to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - [braintype] reclassification detected: [first_arg] is now designated as [second_arg].") + "
    ")) if(ROBOT_NOTIFICATION_AI_SHELL) //New Shell - to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - New AI shell detected: [name]") + "
    ")) + to_chat(connected_ai, span_filter_notice("

    " + span_notice("NOTICE - New AI shell detected: [name]") + "
    ")) /mob/living/silicon/robot/proc/disconnect_from_ai() if(connected_ai) @@ -1457,7 +1437,7 @@ else return FALSE if(given_type == /obj/item/borg/upgrade/restricted/tasercooler) - var/obj/item/gun/energy/taser/mounted/cyborg/T = has_upgrade_module(/obj/item/gun/energy/taser/mounted/cyborg) + var/obj/item/gun/energy/robotic/taser/T = has_upgrade_module(/obj/item/gun/energy/robotic/taser) if(T && T.recharge_time <= 2) return T else if(!T) @@ -1501,3 +1481,12 @@ robotact?.update_static_data_for_all_viewers() . = ..() + +/// This proc checks to see if a borg has access to whatever they're interacting with +/obj/proc/siliconaccess(mob/user) + var/mob/living/silicon/robot/R = user + if(istype(R)) + return check_access(R.idcard) + if(issilicon(user)) + return TRUE + return FALSE diff --git a/code/modules/mob/living/silicon/robot/robot_bellies.dm b/code/modules/mob/living/silicon/robot/robot_bellies.dm new file mode 100644 index 0000000000..4f39cb2d6b --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_bellies.dm @@ -0,0 +1,36 @@ +/mob/living/silicon/robot/proc/update_multibelly() + vore_icon_bellies = list() //Clear any belly options that may not exist now + vore_capacity_ex = list() + vore_fullness_ex = list() + if(sprite_datum.belly_capacity_list.len) + for(var/belly in sprite_datum.belly_capacity_list) //vore icons list only contains a list of names with no associated data + vore_capacity_ex[belly] = sprite_datum.belly_capacity_list[belly] //I dont know why but this wasnt working when I just + vore_fullness_ex[belly] = 0 //set the lists equal to the old lists + vore_icon_bellies += belly + for(var/belly in sprite_datum.belly_light_list) + vore_light_states[belly] = 0 + else if(sprite_datum.has_vore_belly_sprites) + vore_capacity_ex = list("sleeper" = 1) + vore_fullness_ex = list("sleeper" = 0) + vore_icon_bellies = list("sleeper") + if(sprite_datum.has_sleeper_light_indicator) + vore_light_states = list("sleeper" = 0) + sprite_datum.belly_light_list = list("sleeper") + update_fullness() //Set how full the newly defined bellies are, if they're already full + +/mob/living/silicon/robot/proc/reset_belly_lights(var/b_class) + if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class)) + vore_light_states[b_class] = 0 + +/mob/living/silicon/robot/proc/update_belly_lights(var/b_class) + if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class)) + vore_light_states[b_class] = 2 + for (var/belly in vore_organs) + var/obj/belly/B = belly + if(b_class == "sleeper" && (B.silicon_belly_overlay_preference == "Vorebelly" || B.silicon_belly_overlay_preference == "Both") || b_class != "sleeper") + if(B.digest_mode != DM_DIGEST || B.belly_sprite_to_affect != b_class || !B.contents.len) + continue + for(var/contents in B.contents) + if(istype(contents, /mob/living)) + vore_light_states[b_class] = 1 + return diff --git a/code/modules/mob/living/silicon/robot/robot_modules/event.dm b/code/modules/mob/living/silicon/robot/robot_modules/event.dm index cfa11fd719..26a0d6c477 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/event.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/event.dm @@ -28,7 +28,7 @@ src.modules += new /obj/item/robotanalyzer(src) // Potato - src.emag += new /obj/item/gun/energy/retro/mounted(src) + src.emag += new /obj/item/gun/energy/robotic/laser/retro(src) var/datum/matter_synth/wire = new /datum/matter_synth/wire() synths += wire @@ -67,7 +67,7 @@ src.modules += new /obj/item/gripper/gravekeeper(src) // For really persistent looters - src.emag += new /obj/item/gun/energy/retro/mounted(src) + src.emag += new /obj/item/gun/energy/robotic/laser/retro(src) var/datum/matter_synth/wood = new /datum/matter_synth/wood(25000) synths += wood @@ -78,4 +78,4 @@ // For uwu src.modules += new /obj/item/dogborg/sleeper/compactor/generic(src) - src.emag += new /obj/item/dogborg/pounce(src) \ No newline at end of file + src.emag += new /obj/item/dogborg/pounce(src) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 5a4c4ea64c..08451d2d21 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -260,7 +260,7 @@ var/global/list/robot_modules = list( var/obj/item/reagent_containers/spray/PS = new /obj/item/reagent_containers/spray(src) src.emag += PS - PS.reagents.add_reagent("pacid", 250) + PS.reagents.add_reagent(REAGENT_ID_PACID, 250) PS.name = "Polyacid spray" var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(10000) @@ -296,7 +296,7 @@ var/global/list/robot_modules = list( var/obj/item/reagent_containers/spray/PS = locate() in src.emag if(PS) - PS.reagents.add_reagent("pacid", 2 * amount) + PS.reagents.add_reagent(REAGENT_ID_PACID, 2 * amount) ..() @@ -319,7 +319,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/inflatable_dispenser/robot(src) var/obj/item/reagent_containers/spray/PS = new /obj/item/reagent_containers/spray(src) src.emag += PS - PS.reagents.add_reagent("pacid", 250) + PS.reagents.add_reagent(REAGENT_ID_PACID, 250) PS.name = "Polyacid spray" var/datum/matter_synth/medicine = new /datum/matter_synth/medicine(15000) @@ -355,7 +355,7 @@ var/global/list/robot_modules = list( var/obj/item/reagent_containers/spray/PS = locate() in src.emag if(PS) - PS.reagents.add_reagent("pacid", 2 * amount) + PS.reagents.add_reagent(REAGENT_ID_PACID, 2 * amount) ..() @@ -479,12 +479,12 @@ var/global/list/robot_modules = list( ..() src.modules += new /obj/item/handcuffs/cyborg(src) src.modules += new /obj/item/melee/baton/robot(src) - src.modules += new /obj/item/gun/energy/taser/mounted/cyborg(src) + src.modules += new /obj/item/gun/energy/robotic/taser(src) src.modules += new /obj/item/taperoll/police(src) src.modules += new /obj/item/reagent_containers/spray/pepper(src) src.modules += new /obj/item/gripper/security(src) src.modules += new /obj/item/ticket_printer(src) //VOREStation Add - src.emag += new /obj/item/gun/energy/laser/mounted(src) + src.emag += new /obj/item/gun/energy/robotic/laser/rifle(src) src.modules += new /obj/item/dogborg/sleeper/K9(src) //Eat criminals. Bring them to the brig. src.modules += new /obj/item/dogborg/pounce(src) //Pounce @@ -497,7 +497,9 @@ var/global/list/robot_modules = list( F.icon_state = "flash" else if(F.times_used) F.times_used-- - var/obj/item/gun/energy/taser/mounted/cyborg/T = locate() in src.modules + var/obj/item/gun/energy/robotic/taser/T = locate() in src.modules + if(!T) + return if(T.power_supply.charge < T.power_supply.maxcharge) T.power_supply.give(T.charge_cost * amount) T.update_icon() @@ -519,7 +521,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/borg/sight/janitor(src) var/obj/item/reagent_containers/spray/LS = new /obj/item/reagent_containers/spray(src) src.emag += LS - LS.reagents.add_reagent("lube", 250) + LS.reagents.add_reagent(REAGENT_ID_LUBE, 250) LS.name = "Lube spray" //Starts empty. Can only recharge with recycled material. @@ -568,7 +570,7 @@ var/global/list/robot_modules = list( var/obj/item/reagent_containers/spray/LS = locate() in src.emag if(LS) - LS.reagents.add_reagent("lube", 2 * amount) + LS.reagents.add_reagent(REAGENT_ID_LUBE, 2 * amount) /obj/item/robot_module/robot/clerical name = "service robot module" @@ -634,7 +636,7 @@ var/global/list/robot_modules = list( var/datum/reagents/R = new/datum/reagents(50) PB.reagents = R R.my_atom = PB - R.add_reagent("beer2", 50) + R.add_reagent(REAGENT_ID_BEER2, 50) PB.name = "Auntie Hong's Final Sip" PB.desc = "A bottle of very special mix of alcohol and poison. Some may argue that there's alcohol to die for, but Auntie Hong took it to next level." @@ -645,7 +647,7 @@ var/global/list/robot_modules = list( /obj/item/robot_module/robot/clerical/butler/respawn_consumable(var/mob/living/silicon/robot/R, var/amount) var/obj/item/reagent_containers/food/drinks/bottle/small/beer/PB = locate() in src.emag if(PB) - PB.reagents.add_reagent("beer2", 2 * amount) + PB.reagents.add_reagent(REAGENT_ID_BEER2, 2 * amount) /obj/item/robot_module/robot/clerical/general name = "clerical robot module" @@ -715,7 +717,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/storage/part_replacer(src) src.modules += new /obj/item/shockpaddles/robot/jumper(src) src.modules += new /obj/item/melee/baton/slime/robot(src) - src.modules += new /obj/item/gun/energy/taser/xeno/robot(src) + src.modules += new /obj/item/gun/energy/robotic/taser/xeno(src) src.modules += new /obj/item/xenoarch_multi_tool(src) src.modules += new /obj/item/pickaxe/excavationdrill(src) @@ -759,15 +761,15 @@ var/global/list/robot_modules = list( ..() src.modules += new /obj/item/handcuffs/cyborg(src) src.modules += new /obj/item/taperoll/police(src) - src.modules += new /obj/item/gun/energy/laser/mounted(src) - src.modules += new /obj/item/gun/energy/taser/mounted/cyborg/ertgun(src) + src.modules += new /obj/item/gun/energy/robotic/laser/rifle(src) + src.modules += new /obj/item/gun/energy/robotic/disabler(src) src.modules += new /obj/item/pickaxe/plasmacutter/borg(src) - src.modules += new /obj/item/melee/combat_borgblade(src) + src.modules += new /obj/item/melee/robotic/dagger(src) src.modules += new /obj/item/borg/combat/shield(src) src.modules += new /obj/item/borg/combat/mobility(src) - src.modules += new /obj/item/melee/borg_combat_shocker(src) + src.modules += new /obj/item/melee/robotic/borg_combat_shocker(src) src.modules += new /obj/item/ticket_printer(src) - src.emag += new /obj/item/gun/energy/lasercannon/mounted(src) + src.emag += new /obj/item/gun/energy/robotic/laser/heavy(src) src.modules += new /obj/item/dogborg/sleeper/K9/ert(src) src.modules += new /obj/item/dogborg/pounce(src) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm b/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm index 0919fca71b..fe4e1a0256 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/swarm.dm @@ -12,7 +12,7 @@ src.modules += new /obj/item/flash/robot(src) src.modules += new /obj/item/handcuffs/cable/tape/cyborg(src) src.modules += new /obj/item/melee/baton/robot(src) - src.modules += new /obj/item/gun/energy/taser/mounted/cyborg/swarm(src) + src.modules += new /obj/item/gun/energy/robotic/taser/swarm(src) src.modules += new /obj/item/matter_decompiler/swarm(src) /obj/item/robot_module/drone/swarm/ranged @@ -35,4 +35,4 @@ icon_state = "disabler" projectile_type = /obj/item/projectile/beam/stun/disabler charge_cost = 800 - recharge_time = 0.5 SECONDS \ No newline at end of file + recharge_time = 0.5 SECONDS diff --git a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm index 5fad7b3f88..eff6800d59 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/syndicate.dm @@ -53,7 +53,7 @@ /obj/item/robot_module/robot/syndicate/protector/create_equipment(var/mob/living/silicon/robot/robot) ..() src.modules += new /obj/item/shield_projector/rectangle/weak(src) - src.modules += new /obj/item/gun/energy/dakkalaser(src) + src.modules += new /obj/item/gun/energy/robotic/laser/dakkalaser(src) src.modules += new /obj/item/handcuffs/cyborg(src) src.modules += new /obj/item/melee/baton/robot(src) diff --git a/code/modules/mob/living/silicon/robot/robot_ui_module.dm b/code/modules/mob/living/silicon/robot/robot_ui_module.dm index 1554549633..ba69581df5 100644 --- a/code/modules/mob/living/silicon/robot/robot_ui_module.dm +++ b/code/modules/mob/living/silicon/robot/robot_ui_module.dm @@ -140,6 +140,7 @@ if("confirm") R.apply_name(new_name) R.apply_module(sprite_datum, selected_module) + R.update_multibelly() R.transform_module() close_ui() . = TRUE diff --git a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm index 13f47dca36..0d8135fe3e 100644 --- a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm +++ b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm @@ -2,6 +2,7 @@ var/name var/module_type var/default_sprite = FALSE + var/sprite_flags var/sprite_icon var/sprite_icon_state @@ -26,29 +27,97 @@ var/is_whitelisted = FALSE var/whitelist_ckey var/whitelist_charname + var/list/belly_light_list = list() // Support multiple sleepers with r/g light "sleeper" + var/list/belly_capacity_list = list() //Support multiple bellies with multiple sizes, default: "sleeper" = 1 + +/// Determines if the borg has the proper flags to show an overlay. +/datum/robot_sprite/proc/sprite_flag_check(var/flag_to_check) + return (sprite_flags & flag_to_check) /datum/robot_sprite/proc/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(ourborg.resting) //Don't do ANY of the overlay code if we're resting. It just won't look right! + return + if(sprite_flag_check(ROBOT_HAS_SHIELD_SPEED_SPRITE)) + if(ourborg.has_active_type(/obj/item/borg/combat/shield) && ourborg.has_active_type(/obj/item/borg/combat/mobility)) + ourborg.add_overlay("[sprite_icon_state]-speed_shield") + return //Stop here. No need to add more overlays. Nothing else is compatible. + + if(sprite_flag_check(ROBOT_HAS_SPEED_SPRITE) && ourborg.has_active_type(/obj/item/borg/combat/mobility)) + ourborg.icon_state = "[sprite_icon_state]-roll" + return //Stop here. No need to add more overlays. Nothing else is compatible. + + if(sprite_flag_check(ROBOT_HAS_SHIELD_SPRITE)) + if(ourborg.has_active_type(/obj/item/borg/combat/shield)) + var/obj/item/borg/combat/shield/shield = locate() in ourborg + if(shield && shield.active) + ourborg.add_overlay("[sprite_icon_state]-shield") + + for(var/thing_to_check in ourborg.get_active_modules()) //We look at our active modules. Let's peep! + + //Melee Check + if(istype(thing_to_check, /obj/item/melee/robotic)) + var/obj/item/melee/robotic/melee = thing_to_check + if(sprite_flag_check(ROBOT_HAS_MELEE_SPRITE) && melee.weapon_flag_check(COUNTS_AS_ROBOTIC_MELEE)) + ourborg.add_overlay("[sprite_icon_state]-melee") + continue + if(sprite_flag_check(ROBOT_HAS_DAGGER_SPRITE) && melee.weapon_flag_check(COUNTS_AS_ROBOT_DAGGER)) + ourborg.add_overlay("[sprite_icon_state]-dagger") + continue + if(sprite_flag_check(ROBOT_HAS_BLADE_SPRITE) && melee.weapon_flag_check(COUNTS_AS_ROBOT_BLADE)) + ourborg.add_overlay("[sprite_icon_state]-blade") + continue + + //Gun Check + if(istype(thing_to_check, /obj/item/gun/energy/robotic)) + var/obj/item/gun/energy/robotic/gun = thing_to_check + if(sprite_flag_check(ROBOT_HAS_GUN_SPRITE) && gun.gun_flag_check(COUNTS_AS_ROBOT_GUN)) + ourborg.add_overlay("[sprite_icon_state]-gun") + continue + if(sprite_flag_check(ROBOT_HAS_LASER_SPRITE) && gun.gun_flag_check(COUNTS_AS_ROBOT_LASER)) + ourborg.add_overlay("[sprite_icon_state]-laser") + continue + if(sprite_flag_check(ROBOT_HAS_TASER_SPRITE) && gun.gun_flag_check(COUNTS_AS_ROBOT_TASER)) + ourborg.add_overlay("[sprite_icon_state]-taser") + continue + if(sprite_flag_check(ROBOT_HAS_DISABLER_SPRITE) && gun.gun_flag_check(COUNTS_AS_ROBOT_DISABLER)) + ourborg.add_overlay("[sprite_icon_state]-disabler") + continue + else //We are NEITHER a melee or a gun (Or whatever else you add in here in the future) + continue //Go on to the next. return -/datum/robot_sprite/proc/get_belly_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1) +/datum/robot_sprite/proc/get_belly_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1, var/b_class) //Size - if(has_sleeper_light_indicator) - var/sleeperColor = "g" - if(ourborg.sleeper_state == 1) // Is our belly safe, or gurgling cuties? - sleeperColor = "r" - return "[sprite_icon_state]-sleeper-[size]-[sleeperColor]" - return "[sprite_icon_state]-sleeper-[size]" + if(has_sleeper_light_indicator || belly_light_list.len) + if(belly_light_list.len) + if(belly_light_list.Find(b_class)) + //First, Sleeper base icon is input. Second the belly class, supposedly taken from the borg's vore_fullness_ex list. + //The belly class should be the same as the belly sprite's name, with as many size values as you defined in the + //vore_capacity_ex list. Finally, if the borg has a red/green light sleeper, it'll use g or r appended to the end. + //Bellies with lights should be defined in belly_light_list + var/sleeperColor = "g" + if(ourborg.sleeper_state == 1 || ourborg.vore_light_states[b_class] == 1) // Is our belly safe, or gurgling cuties? + sleeperColor = "r" + return "[sprite_icon_state]-[b_class]-[size]-[sleeperColor]" -/datum/robot_sprite/proc/get_belly_resting_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1) + return "[sprite_icon_state]-[b_class]-[size]" + else + var/sleeperColor = "g" + if(ourborg.sleeper_state == 1) // Is our belly safe, or gurgling cuties? + sleeperColor = "r" + return "[sprite_icon_state]-[b_class]-[size]-[sleeperColor]" + return "[sprite_icon_state]-[b_class]-[size]" + +/datum/robot_sprite/proc/get_belly_resting_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1, var/b_class) if(!(ourborg.rest_style in rest_sprite_options)) ourborg.rest_style = "Default" switch(ourborg.rest_style) if("Sit") - return "[get_belly_overlay(ourborg, size)]-sit" + return "[get_belly_overlay(ourborg, size, b_class)]-sit" if("Bellyup") - return "[get_belly_overlay(ourborg, size)]-bellyup" + return "[get_belly_overlay(ourborg, size, b_class)]-bellyup" else - return "[get_belly_overlay(ourborg, size)]-rest" + return "[get_belly_overlay(ourborg, size, b_class)]-rest" /datum/robot_sprite/proc/get_eyes_overlay(var/mob/living/silicon/robot/ourborg) if(!(ourborg.resting && has_rest_sprites)) diff --git a/code/modules/mob/living/silicon/robot/sprites/civilian.dm b/code/modules/mob/living/silicon/robot/sprites/civilian.dm index ad912f5180..d4b2664e63 100644 --- a/code/modules/mob/living/silicon/robot/sprites/civilian.dm +++ b/code/modules/mob/living/silicon/robot/sprites/civilian.dm @@ -206,13 +206,13 @@ rest_sprite_options = list("Default") has_extra_customization = TRUE - var/list/booze_options = list("Beer" = "booze", + var/list/booze_options = list(REAGENT_BEER = "booze", "Space Mountain Wind" = "boozegreen", "Curacao" = "boozeblue", - "Grape Soda" = "boozepurple", + REAGENT_GRAPESODA = "boozepurple", "Demon's Blood" = "boozered", - "Whiskey Soda" = "boozeorange", - "Coffee" = "boozebrown") + REAGENT_WHISKEYSODA = "boozeorange", + REAGENT_COFFEE = "boozebrown") /datum/robot_sprite/dogborg/service/booze/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) if(!("boozehound" in ourborg.sprite_extra_customization) || !ourborg.sprite_extra_customization["boozehound"]) @@ -220,11 +220,11 @@ else ourborg.icon_state = booze_options[ourborg.sprite_extra_customization["boozehound"]] -/datum/robot_sprite/dogborg/service/booze/get_belly_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1) - if(!("boozehound" in ourborg.sprite_extra_customization) || !ourborg.sprite_extra_customization["boozehound"]) +/datum/robot_sprite/dogborg/service/booze/get_belly_overlay(var/mob/living/silicon/robot/ourborg, var/size = 1, var/b_class) + if(!("boozehound" in ourborg.sprite_extra_customization) || !ourborg.sprite_extra_customization["boozehound"] || b_class != "sleeper") return ..() else - return "[booze_options[ourborg.sprite_extra_customization["boozehound"]]]-sleeper-[size]" + return "[booze_options[ourborg.sprite_extra_customization["boozehound"]]]-[b_class]-[size]" /datum/robot_sprite/dogborg/service/booze/get_rest_sprite(var/mob/living/silicon/robot/ourborg) if(!(ourborg.rest_style in rest_sprite_options)) diff --git a/code/modules/mob/living/silicon/robot/sprites/combat.dm b/code/modules/mob/living/silicon/robot/sprites/combat.dm index beffd3256a..a0b8140cb7 100644 --- a/code/modules/mob/living/silicon/robot/sprites/combat.dm +++ b/code/modules/mob/living/silicon/robot/sprites/combat.dm @@ -4,18 +4,6 @@ module_type = "Combat" sprite_icon = 'icons/mob/robot/combat.dmi' - var/has_speed_sprite = FALSE - var/has_shield_sprite = FALSE - -/datum/robot_sprite/combat/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_speed_sprite && istype(ourborg.module_active, /obj/item/borg/combat/mobility)) - ourborg.icon_state = "[sprite_icon_state]-roll" - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - /datum/robot_sprite/combat/default name = DEFAULT_ROBOT_SPRITE_NAME default_sprite = TRUE @@ -24,17 +12,15 @@ /datum/robot_sprite/combat/marina name = "Haruka" sprite_icon_state = "marina" - has_speed_sprite = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SPEED_SPRITE | ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/droid name = "Android" sprite_icon_state = "droid" - has_speed_sprite = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SPEED_SPRITE | ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/droid/get_eyes_overlay(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + if(ourborg.has_active_type(/obj/item/borg/combat/mobility)) return else return ..() @@ -42,32 +28,30 @@ /datum/robot_sprite/combat/insekt name = "Insekt" sprite_icon_state = "insekt" - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/decapod name = "Decapod" sprite_icon_state = "decapod" has_custom_open_sprites = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/mechoid name = "Acheron" sprite_icon_state = "mechoid" - has_speed_sprite = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SPEED_SPRITE | ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/zoomba name = "ZOOM-BA" sprite_icon_state = "zoomba" has_dead_sprite = TRUE - has_speed_sprite = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SPEED_SPRITE | ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/worm name = "W02M" sprite_icon_state = "worm" has_custom_open_sprites = TRUE - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/combat/uptall name = "Feminine Humanoid" @@ -88,33 +72,17 @@ sprite_icon = 'icons/mob/robot/combat_large.dmi' has_custom_equipment_sprites = TRUE - var/has_gun_sprite = FALSE - var/has_speed_sprite = FALSE - var/has_shield_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/combat/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_gun_sprite && (istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted) || istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg/ertgun) || istype(ourborg.module_active, /obj/item/gun/energy/lasercannon/mounted))) - ourborg.add_overlay("[sprite_icon_state]-gun") - if(has_speed_sprite && (istype(ourborg.module_active, /obj/item/borg/combat/mobility))) - ourborg.icon_state = "[sprite_icon_state]-roll" - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - - /datum/robot_sprite/dogborg/tall/combat/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return ..() - var/obj/item/melee/combat_borgblade/CBB = locate() in module.modules + var/obj/item/melee/robotic/dagger/CBB = locate() in module.modules if(CBB) CBB.name = "sword tail" CBB.desc = "A glowing dagger normally attached to the end of a cyborg's tail. It appears to be extremely sharp." - var/obj/item/melee/borg_combat_shocker/BCS = locate() in module.modules + var/obj/item/melee/robotic/borg_combat_shocker/BCS = locate() in module.modules if(BCS) BCS.name = "combat jaws" BCS.desc = "Shockingly chompy!" @@ -127,7 +95,7 @@ name = "ERT" sprite_icon_state = "derg" rest_sprite_options = list("Default") - has_gun_sprite = TRUE + sprite_flags = ROBOT_HAS_GUN_SPRITE /datum/robot_sprite/dogborg/tall/combat/hound name = "Hound" @@ -148,23 +116,21 @@ sprite_icon_state = "raptor" sprite_hud_icon_state = "ert" rest_sprite_options = list("Default", "Bellyup") - has_gun_sprite = TRUE has_eye_light_sprites = TRUE - has_shield_sprite = TRUE - has_speed_sprite = TRUE + sprite_flags = ROBOT_HAS_GUN_SPRITE | ROBOT_HAS_SHIELD_SPRITE | ROBOT_HAS_SPEED_SPRITE /datum/robot_sprite/dogborg/tall/combat/raptor/get_eyes_overlay(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + if(ourborg.has_active_type(/obj/item/borg/combat/mobility)) return else return ..() /datum/robot_sprite/dogborg/tall/combat/raptor/get_eye_light_overlay(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + if(ourborg.has_active_type(/obj/item/borg/combat/mobility)) return else return ..() /datum/robot_sprite/dogborg/tall/combat/raptor/get_belly_overlay(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + if(ourborg.has_active_type(/obj/item/borg/combat/mobility)) return else return ..() diff --git a/code/modules/mob/living/silicon/robot/sprites/event.dm b/code/modules/mob/living/silicon/robot/sprites/event.dm index 8a7165a3f3..42bc06dcdc 100644 --- a/code/modules/mob/living/silicon/robot/sprites/event.dm +++ b/code/modules/mob/living/silicon/robot/sprites/event.dm @@ -8,19 +8,10 @@ module_type = "Lost" sprite_icon = 'icons/mob/robot/lost.dmi' - var/has_shield_sprite = FALSE - -/datum/robot_sprite/lost/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - /datum/robot_sprite/lost/drone name = "AG Model" sprite_icon_state = "drone" - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE // Wide/dogborg sprites @@ -54,23 +45,10 @@ sprite_icon = 'icons/mob/robot/lost_large.dmi' sprite_hud_icon_state = "lost" - var/has_shield_sprite = FALSE - var/has_laser_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/lost/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/retro/mounted)) - ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - /datum/robot_sprite/dogborg/tall/lost/raptor name = "Raptor V-4" sprite_icon_state = "raptor" - has_shield_sprite = TRUE - has_laser_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE | ROBOT_HAS_LASER_SPRITE // Gravekeeper @@ -82,24 +60,15 @@ sprite_icon = 'icons/mob/robot/gravekeeper.dmi' sprite_hud_icon_state = "lost" - var/has_shield_sprite = FALSE - -/datum/robot_sprite/gravekeeper/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - /datum/robot_sprite/gravekeeper/drone name = "AG Model" sprite_icon_state = "drone" - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE /datum/robot_sprite/gravekeeper/sleek name = "WTOperator" sprite_icon_state = "sleek" - has_shield_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE // Tall sprites @@ -109,20 +78,7 @@ sprite_icon = 'icons/mob/robot/gravekeeper_large.dmi' sprite_hud_icon_state = "lost" - var/has_shield_sprite = FALSE - var/has_laser_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/gravekeeper/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/retro/mounted)) - ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_shield_sprite) - if(ourborg.has_active_type(/obj/item/borg/combat/shield)) - var/obj/item/borg/combat/shield/shield = locate() in ourborg - if(shield && shield.active) - ourborg.add_overlay("[sprite_icon_state]-shield") - /datum/robot_sprite/dogborg/tall/gravekeeper/raptor name = "Raptor V-4" sprite_icon_state = "raptor" - has_shield_sprite = TRUE - has_laser_sprite = TRUE + sprite_flags = ROBOT_HAS_SHIELD_SPRITE | ROBOT_HAS_LASER_SPRITE diff --git a/code/modules/mob/living/silicon/robot/sprites/fluff.dm b/code/modules/mob/living/silicon/robot/sprites/fluff.dm index a420ae2f02..6312a73b03 100644 --- a/code/modules/mob/living/silicon/robot/sprites/fluff.dm +++ b/code/modules/mob/living/silicon/robot/sprites/fluff.dm @@ -84,12 +84,6 @@ whitelist_ckey = "jademanique" whitelist_charname = "B.A.U-Kingside" -/datum/robot_sprite/fluff/jademanique/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) - ourborg.add_overlay("[sprite_icon_state]-laser") - if(istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) - ourborg.add_overlay("[sprite_icon_state]-taser") - // L /datum/robot_sprite/fluff/lunarfleet diff --git a/code/modules/mob/living/silicon/robot/sprites/science.dm b/code/modules/mob/living/silicon/robot/sprites/science.dm index c03f8da7f7..ee6ffdc178 100644 --- a/code/modules/mob/living/silicon/robot/sprites/science.dm +++ b/code/modules/mob/living/silicon/robot/sprites/science.dm @@ -148,12 +148,6 @@ module_type = "Research" sprite_icon = 'icons/mob/robot/science_large.dmi' - var/has_taser_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/science/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/xeno/robot)) - ourborg.add_overlay("[sprite_icon_state]-taser") - /datum/robot_sprite/dogborg/tall/science/do_equipment_glamour(var/obj/item/robot_module/module) if(!has_custom_equipment_sprites) return @@ -172,7 +166,7 @@ name = "Raptor V-4" sprite_icon_state = "raptor" has_custom_equipment_sprites = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE rest_sprite_options = list("Default", "Bellyup") /datum/robot_sprite/dogborg/tall/science/meka diff --git a/code/modules/mob/living/silicon/robot/sprites/security.dm b/code/modules/mob/living/silicon/robot/sprites/security.dm index 677b27d538..3a8cd71e07 100644 --- a/code/modules/mob/living/silicon/robot/sprites/security.dm +++ b/code/modules/mob/living/silicon/robot/sprites/security.dm @@ -121,38 +121,26 @@ module_type = "Security" sprite_icon = 'icons/mob/robot/security_wide.dmi' - var/has_laser_sprite = FALSE - var/has_taser_sprite = FALSE - -/datum/robot_sprite/dogborg/security/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) - ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) - ourborg.add_overlay("[sprite_icon_state]-taser") - /datum/robot_sprite/dogborg/security/k9 name = "K9" sprite_icon_state = "k9" sprite_hud_icon_state = "k9" has_eye_light_sprites = TRUE - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE /datum/robot_sprite/dogborg/security/k92 name = "K9 Alt" sprite_icon_state = "k92" sprite_hud_icon_state = "k9" has_eye_sprites = FALSE - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE /datum/robot_sprite/dogborg/security/vale name = "Hound V2" sprite_icon_state = "vale" sprite_hud_icon_state = "k9" has_eye_light_sprites = TRUE - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE /datum/robot_sprite/dogborg/security/borgi name = "Borgi" @@ -167,14 +155,12 @@ sprite_icon_state = "otie" sprite_hud_icon_state = "k9" has_eye_light_sprites = TRUE - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE /datum/robot_sprite/dogborg/security/drake name = "Drake" sprite_icon_state = "drake" - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE // Tall sprites @@ -182,21 +168,11 @@ module_type = "Security" sprite_icon = 'icons/mob/robot/security_large.dmi' - var/has_laser_sprite = FALSE - var/has_taser_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/security/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_laser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/laser/mounted)) - ourborg.add_overlay("[sprite_icon_state]-laser") - if(has_taser_sprite && istype(ourborg.module_active, /obj/item/gun/energy/taser/mounted/cyborg)) - ourborg.add_overlay("[sprite_icon_state]-taser") - /datum/robot_sprite/dogborg/tall/security/raptor name = "Raptor V-4" sprite_icon_state = "raptor" has_custom_equipment_sprites = TRUE - has_laser_sprite = TRUE - has_taser_sprite = TRUE + sprite_flags = ROBOT_HAS_TASER_SPRITE | ROBOT_HAS_LASER_SPRITE rest_sprite_options = list("Default", "Bellyup") /datum/robot_sprite/dogborg/tall/security/meka diff --git a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm index 4bc2fe54ea..86d1a0ade3 100644 --- a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm @@ -114,17 +114,11 @@ sprite_icon = 'icons/mob/robot/syndie_large.dmi' sprite_hud_icon_state = "malf" - var/has_gun_sprite = FALSE - -/datum/robot_sprite/dogborg/tall/protector/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_gun_sprite && istype (ourborg.module_active, /obj/item/gun/energy/dakkalaser)) - ourborg.add_overlay("[sprite_icon_state]-gun") - /datum/robot_sprite/dogborg/tall/protector/syndiprotraptor name = "Raptor V-4" sprite_icon_state = "syndiprotraptor" has_eye_light_sprites = TRUE - has_gun_sprite = TRUE + sprite_flags = ROBOT_HAS_GUN_SPRITE rest_sprite_options = list("Default", "Bellyup") // Mechanist diff --git a/code/modules/mob/living/simple_mob/life.dm b/code/modules/mob/living/simple_mob/life.dm index 584ed60869..299f506425 100644 --- a/code/modules/mob/living/simple_mob/life.dm +++ b/code/modules/mob/living/simple_mob/life.dm @@ -118,37 +118,37 @@ if( abs(Environment.temperature - bodytemperature) > temperature_range ) //VOREStation Edit: heating adjustments bodytemperature += ((Environment.temperature - bodytemperature) / 5) - if(min_oxy && Environment.gas["oxygen"] < min_oxy) + if(min_oxy && Environment.gas[GAS_O2] < min_oxy) atmos_unsuitable = 1 throw_alert("oxy", /obj/screen/alert/not_enough_oxy) - else if(max_oxy && Environment.gas["oxygen"] > max_oxy) + else if(max_oxy && Environment.gas[GAS_O2] > max_oxy) atmos_unsuitable = 1 throw_alert("oxy", /obj/screen/alert/too_much_oxy) else clear_alert("oxy") - if(min_tox && Environment.gas["phoron"] < min_tox) + if(min_tox && Environment.gas[GAS_PHORON] < min_tox) atmos_unsuitable = 2 throw_alert("tox_in_air", /obj/screen/alert/not_enough_tox) - else if(max_tox && Environment.gas["phoron"] > max_tox) + else if(max_tox && Environment.gas[GAS_PHORON] > max_tox) atmos_unsuitable = 2 throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) else clear_alert("tox_in_air") - if(min_n2 && Environment.gas["nitrogen"] < min_n2) + if(min_n2 && Environment.gas[GAS_N2] < min_n2) atmos_unsuitable = 1 throw_alert("n2o", /obj/screen/alert/not_enough_nitro) - else if(max_n2 && Environment.gas["nitrogen"] > max_n2) + else if(max_n2 && Environment.gas[GAS_N2] > max_n2) atmos_unsuitable = 1 throw_alert("n2o", /obj/screen/alert/too_much_nitro) else clear_alert("n2o") - if(min_co2 && Environment.gas["carbon_dioxide"] < min_co2) + if(min_co2 && Environment.gas[GAS_CO2] < min_co2) atmos_unsuitable = 1 throw_alert("co2", /obj/screen/alert/not_enough_co2) - else if(max_co2 && Environment.gas["carbon_dioxide"] > max_co2) + else if(max_co2 && Environment.gas[GAS_CO2] > max_co2) atmos_unsuitable = 1 throw_alert("co2", /obj/screen/alert/too_much_co2) else diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 9f919a2b4b..8daa5dd31a 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -179,6 +179,10 @@ var/hasthermals = TRUE var/isthermal = 0 + //vars for vore_icons toggle control + var/vore_icons_cache = null // null by default. Going from ON to OFF should store vore_icons val here, OFF to ON reset as null + + /mob/living/simple_mob/Initialize() remove_verb(src, /mob/verb/observe) health = maxHealth @@ -225,6 +229,9 @@ /mob/living/simple_mob/Login() . = ..() to_chat(src,span_boldnotice("You are \the [src].") + " [player_msg]") + if(vore_active && !voremob_loaded) + voremob_loaded = TRUE + init_vore() if(hasthermals) add_verb(src, /mob/living/simple_mob/proc/hunting_vision) //So that maint preds can see prey through walls, to make it easier to find them. @@ -390,3 +397,22 @@ /mob/living/simple_mob/proc/character_directory_species() return "simplemob" + +/mob/living/simple_mob/verb/toggle_vore_icons() + + set name = "Toggle Vore Sprite" + set desc = "Toggle visibility of changed mob sprite when you have eaten other things." + set category = "Abilities.Vore" + + if(!vore_icons && !vore_icons_cache) + to_chat(src,span_warning("This simplemob has no vore sprite.")) + else if(isnull(vore_icons_cache)) + vore_icons_cache = vore_icons + vore_icons = 0 + to_chat(src,span_warning("Vore sprite disabled.")) + else + vore_icons = vore_icons_cache + vore_icons_cache = null + to_chat(src,span_warning("Vore sprite enabled.")) + + update_icon() diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index 6a4ba095f9..bfdcea8360 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -7,7 +7,7 @@ var/vore_active = 0 // If vore behavior is enabled for this mob - var/vore_capacity = 1 // The capacity (in people) this person can hold + vore_capacity = 1 // The capacity (in people) this person can hold var/vore_max_size = RESIZE_HUGE // The max size this mob will consider eating var/vore_min_size = RESIZE_TINY // The min size this mob will consider eating var/vore_bump_chance = 0 // Chance of trying to eat anyone that bumps into them, regardless of hostility @@ -36,10 +36,6 @@ var/vore_default_contamination_flavor = "Generic" //Contamination descriptors var/vore_default_contamination_color = "green" //Contamination color - var/vore_fullness = 0 // How "full" the belly is (controls icons) - var/vore_icons = 0 // Bitfield for which fields we have vore icons for. - var/vore_eyes = FALSE // For mobs with fullness specific eye overlays. - var/belly_size_multiplier = 1 var/life_disabled = 0 // For performance reasons var/vore_attack_override = FALSE // Enable on mobs you want to have special behaviour on melee grab attack. @@ -54,6 +50,8 @@ var/nom_mob = FALSE //If a mob is meant to be hostile for vore purposes but is otherwise not hostile, if true makes certain AI ignore the mob + var/voremob_loaded = FALSE // On-demand belly loading. + // Release belly contents before being gc'd! /mob/living/simple_mob/Destroy() release_vore_contents() @@ -65,18 +63,6 @@ if(myid) return myid -// Update fullness based on size & quantity of belly contents -/mob/living/simple_mob/proc/update_fullness() - var/new_fullness = 0 - for(var/obj/belly/B as anything in vore_organs) - for(var/mob/living/M in B) - if(!M.absorbed || B.count_absorbed_prey_for_sprite) - new_fullness += M.size_multiplier - new_fullness = new_fullness / size_multiplier //Divided by pred's size so a macro mob won't get macro belly from a regular prey. - new_fullness = new_fullness * belly_size_multiplier // Some mobs are small even at 100% size. Let's account for that. - new_fullness = round(new_fullness, 1) // Because intervals of 0.25 are going to make sprite artists cry. - vore_fullness = min(vore_capacity, new_fullness) - /mob/living/simple_mob/update_icon() . = ..() if(vore_active) @@ -97,6 +83,10 @@ remove_eyes() add_eyes() update_transform() + for(var/belly_class in vore_fullness_ex) + var/vs_fullness = vore_fullness_ex[belly_class] + if(vs_fullness > 0) + add_overlay("[icon_state]_[belly_class]-[vs_fullness]") /mob/living/simple_mob/regenerate_icons() ..() @@ -208,7 +198,7 @@ // Make sure you don't call ..() on this one, otherwise you duplicate work. /mob/living/simple_mob/init_vore() - if(!vore_active || no_vore) + if(!vore_active || no_vore || !voremob_loaded) return if(!IsAdvancedToolUser()) @@ -227,6 +217,7 @@ var/obj/belly/B = new /obj/belly(src) vore_selected = B B.immutable = 1 + B.affects_vore_sprites = TRUE B.name = vore_stomach_name ? vore_stomach_name : "stomach" B.desc = vore_stomach_flavor ? vore_stomach_flavor : "Your surroundings are warm, soft, and slimy. Makes sense, considering you're inside \the [name]." B.digest_mode = vore_default_mode diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm index e951368c32..f88ff654a8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/catslug.dm @@ -115,7 +115,9 @@ say_got_target = list() /mob/living/simple_mob/vore/alienanimals/catslug/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The hot slick gut of a catslug!! Copious slime smears over you as you’re packed away into the gloom and oppressive humidity of this churning gastric sac. The pressure around you is intense, the squashy flesh bends and forms to your figure, clinging to you insistently! There’s basically no free space at all as your ears are filled with the slick slide of flesh against flesh and the burbling of gastric juices glooping all around you. The thumping of a heart booms from somewhere nearby, making everything pulse in against you in time with it! This is it! You’ve been devoured by a catslug!!!" @@ -161,9 +163,9 @@ return to_chat(user, span_notice("\The [src] seems too full to eat.")) return - var/nutriment_amount = O.reagents?.get_reagent_amount("nutriment") //does it have nutriment, if so how much? - var/protein_amount = O.reagents?.get_reagent_amount("protein") //does it have protein, if so how much? - var/glucose_amount = O.reagents?.get_reagent_amount("glucose") //does it have glucose, if so how much? + var/nutriment_amount = O.reagents?.get_reagent_amount(REAGENT_ID_NUTRIMENT) //does it have nutriment, if so how much? + var/protein_amount = O.reagents?.get_reagent_amount(REAGENT_ID_PROTEIN) //does it have protein, if so how much? + var/glucose_amount = O.reagents?.get_reagent_amount(REAGENT_ID_GLUCOSE) //does it have glucose, if so how much? var/yum = nutriment_amount + protein_amount + glucose_amount if(yum) yum = (yum * 20) / 3 @@ -1055,6 +1057,41 @@ /datum/say_list/catslug/custom/exploslug speak = list("Fortune and porls, kid. Fortune and porls.", "Lizards, why'd it have to be lizards.", "That thingy is an important artifact. It belongs in a museum!", "Everything lost is meant to be found. By me.", "I swear I've seen that stone before...", "I should have packed more jellyfishes.", "I better get back before nightfall!", "A comfy bed? Hah! I sleep under the stars!") +//xmas slug + +/mob/living/simple_mob/vore/alienanimals/catslug/custom/santaslug + name = "Santa Claws" + desc = "A green-furred noodley bodied creature with thin arms and legs, and gloomy dark eyes. This one is adorned with a festive coat, hat, boots and ribbons on it's tail." + tt_desc = "Mollusca Felis Solstice" + icon_state = "santaslug" + icon_living = "santaslug" + icon_rest = "santaslug_rest" + icon_dead = "santaslug_dead" + catalogue_data = list(/datum/category_item/catalogue/fauna/catslug/custom/santaslug) + say_list_type = /datum/say_list/catslug/custom/santaslug + +/datum/category_item/catalogue/fauna/catslug/custom/santaslug + name = "Alien Wildlife - Catslug - Santa Claws" + desc = "Found in a mysterious toyshop in a snowy wonderland, Claws\ + is a catslug who spends their days building toys and is said to, \ + once a year, hand them out to well behaved people. Always seen wearing \ + their red coat and hat, they are always ready to spread \ + festive cheer throughout the galaxy. \ + \ + The Catslug is an omnivorous terrestrial creature.\ + Exhibiting properties of both a cat and a slug (hence its name)\ + it moves somewhat awkwardly. However, the unique qualities of\ + its body make it exceedingly flexible and smooth, allowing it to\ + wiggle into and move effectively in even extremely tight spaces.\ + Additionally, it has surprisingly capable hands, and moves quite\ + well on two legs or four. Caution is advised when interacting\ + with these creatures, they are quite intelligent, and proficient\ + tool users." + value = CATALOGUER_REWARD_TRIVIAL + +/datum/say_list/catslug/custom/santaslug + speak = list("Ho ho ho!", "Meow-ery Solstice, everybody!", "Thanks fur all the furstive cheer!", "I must get all these purresents", "What would be the pawfect gift for you?", "All I want for solstice is... Porls.", "The winter trees are more bark than bite!", "I'm just glad not to be stuck in a blizzard again!") + //============================= //Admin-spawn only catslugs end diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm index 79a6786396..7baade8828 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/jellyfish.dm @@ -85,7 +85,9 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) /mob/living/simple_mob/vore/alienanimals/space_jellyfish/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "internal chamber" B.desc = "It's smooth and translucent. You can see the world around you distort and wobble with the movement of the space jellyfish. It floats casually, while the delicate flesh seems to form to you. It's surprisingly cool, and flickers with its own light. You're on display for all to see, trapped within the confines of this strange space alien!" @@ -168,4 +170,4 @@ GLOBAL_VAR_INIT(jellyfish_count, 0) /obj/item/reagent_containers/food/snacks/jellyfishcore/Initialize() nutriment_amt += inherited_nutriment . = ..() - reagents.add_reagent("nutriment", nutriment_amt, nutriment_desc) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, nutriment_amt, nutriment_desc) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm index 88f919ac28..c984051369 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/skeleton.dm @@ -87,7 +87,9 @@ emote_hear = list("rattles","makes a spooky sound","cackles madly","plinks","clacks") /mob/living/simple_mob/vore/alienanimals/skeleton/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You're not sure quite how, but you've found your way inside of the skeleton's stomach! It's cramped and cold and sounds heavily of xylophones!" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm index 195a7b7130..5cd0282a37 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/space_mouse.dm @@ -62,7 +62,9 @@ vore_default_item_mode = IM_DIGEST /mob/living/simple_mob/vore/alienanimals/dustjumper/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You've been packed into the impossibly tight stomach of the dust jumper!!! The broiling heat seeps into you while the walls churn in powerfully, forcing you to curl up in the darkness." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm index fe6e37b360..06c05379f3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spacewhale.dm @@ -52,7 +52,9 @@ emote_see = list("ripples and flows", "flashes rhythmically","glows faintly","investigates something") /mob/living/simple_mob/vore/overmap/spacewhale/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "It's warm and wet, makes sense, considering it's inside of a space whale. You should take a moment to reflect upon how you got here, and how you might avoid situations like this in the future, while this whale attempts to mercilessly destroy you through various gastric processes." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm index 6bf397a381..49f5b5cb05 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm @@ -1437,7 +1437,7 @@ water_state = "enzyme_shallow" under_state = "flesh_floor" - reagent_type = "Sulphuric acid" //why not + reagent_type = REAGENT_ID_SACID //why not outdoors = FALSE var/mob/living/simple_mob/vore/overmap/stardog/linked_mob var/mobstuff = TRUE //if false, we don't care about dogs, and that's terrible diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm index 7f63a58a1d..a90ad11d44 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm @@ -92,7 +92,9 @@ /mob/living/simple_mob/vore/alienanimals/startreader/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "gastric sac" B.desc = "It's cramped and hot! You're forced into a small ball as your shape is squeezed into the slick, wet chamber. Despite being swallowed into the creature, you find that you actually stretch out of the top a ways, and can JUST BARELY wiggle around..." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm index 0d8642067e..bb5d71b8d4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/succlet.dm @@ -73,7 +73,9 @@ say_got_target = list("...") /mob/living/simple_mob/vore/alienanimals/succlet/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stummy" B.desc = "It's a star shaped stomach. A stummy, if you will. It's warm and soft, not unlike plush, but it's tight!" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm index 4f9e9188c2..7f68db04e4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm @@ -166,7 +166,9 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? vore_standing_too = TRUE /mob/living/simple_mob/vore/alienanimals/teppi/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The heat of the roiling flesh around you bakes into you immediately as you’re cast into the gloom of a Teppi’s primary gastric chamber. The undulations are practically smothering, clinging to you and grinding you all over as the Teppi continues about its day. The walls are heavy against you, so it’s really difficult to move at all, while the heart of this creature pulses rhythmically somewhere nearby, and you can feel the throb of its pulse in the doughy squish pressing up against you. Your figure sinks a ways into the flesh as it presses in, wrapping limbs up between countless slick folds and kneading waves. It’s not long before you’re positively soaked in a thin layer of slime as you’re rocked and squeezed and jostled in the stomach of your captor." @@ -280,6 +282,7 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? // The friend zone. var/obj/belly/p = new /obj/belly(src) p.immutable = TRUE + p.affects_vore_sprites = TRUE p.mode_flags = 40 p.human_prey_swallow_time = 0.01 SECONDS p.digestchance = 0 @@ -512,9 +515,9 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? if(nutrition >= 5000) user.visible_message(span_notice("\The [user] tries to feed \the [O] to \the [src]. It snoofs but does not eat."),span_notice("You try to feed \the [O] to \the [src], but it only snoofts at it.")) return - var/nutriment_amount = O.reagents?.get_reagent_amount("nutriment") //does it have nutriment, if so how much? - var/protein_amount = O.reagents?.get_reagent_amount("protein") //does it have protein, if so how much? - var/glucose_amount = O.reagents?.get_reagent_amount("glucose") //does it have glucose, if so how much? + var/nutriment_amount = O.reagents?.get_reagent_amount(REAGENT_ID_NUTRIMENT) //does it have nutriment, if so how much? + var/protein_amount = O.reagents?.get_reagent_amount(REAGENT_ID_PROTEIN) //does it have protein, if so how much? + var/glucose_amount = O.reagents?.get_reagent_amount(REAGENT_ID_GLUCOSE) //does it have glucose, if so how much? var/yum = nutriment_amount + protein_amount + glucose_amount if(yum) if(!teppi_adult) @@ -788,6 +791,9 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have? vore_selected.digest_burn = 0.05 /mob/living/simple_mob/vore/alienanimals/teppi/animal_nom(mob/living/T in living_mobs(1)) + if(vore_active && !voremob_loaded) + voremob_loaded = TRUE + init_vore() if(client) return ..() var/current_affinity = affinity[T.real_name] diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm index 779e871695..d263936fc8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer.dm @@ -70,7 +70,7 @@ /mob/living/simple_mob/animal/borer/handle_special() if(host && !stat && !host.stat) // Handle docility. - if(host.reagents.has_reagent("sugar") && !docile) + if(host.reagents.has_reagent(REAGENT_ID_SUGAR) && !docile) var/message = "You feel the soporific flow of sugar in your host's blood, lulling you into docility." var/target = controlling ? host : src to_chat(target, span_warning(message)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm index 85087a9b15..345b20aa47 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm @@ -218,7 +218,7 @@ if(chemicals < 50) to_chat(src, span_warning("You don't have enough chemicals!")) - var/chem = tgui_input_list(usr, "Select a chemical to secrete.", "Chemicals", list("alkysine","bicaridine","hyperzine","tramadol")) + var/chem = tgui_input_list(usr, "Select a chemical to secrete.", "Chemicals", list(REAGENT_ID_ALKYSINE,REAGENT_ID_BICARIDINE,REAGENT_ID_HYPERZINE,REAGENT_ID_TRAMADOL)) if(!chem || chemicals < 50 || !host || controlling || !src || stat) //Sanity check. return diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm index f883dcc849..d6f1f1f50d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm @@ -50,7 +50,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? /mob/living/simple_mob/animal/passive/chicken/attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) //feedin' dem chickens var/obj/item/reagent_containers/food/snacks/grown/G = O - if(G.seed && G.seed.kitchen_tag == "wheat") + if(G.seed && G.seed.kitchen_tag == PLANT_WHEAT) if(!stat && eggsleft < 8) user.visible_message(span_blue("[user] feeds [O] to [name]! It clucks happily."),span_blue("You feed [O] to [name]! It clucks happily.")) user.drop_item() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm index 4ef95170e8..556d10d678 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm @@ -33,7 +33,7 @@ var/obj/item/reagent_containers/glass/G = O if(stat == CONSCIOUS && istype(G) && G.is_open_container()) user.visible_message(span_notice("[user] milks [src] using \the [O].")) - var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) + var/transfered = udder.trans_id_to(G, REAGENT_ID_MILK, rand(5,10)) if(G.reagents.total_volume >= G.volume) to_chat(user, span_red("The [O] is full.")) if(!transfered) @@ -45,7 +45,7 @@ . = ..() if(stat == CONSCIOUS) if(udder && prob(5)) - udder.add_reagent("milk", rand(5, 10)) + udder.add_reagent(REAGENT_ID_MILK, rand(5, 10)) /mob/living/simple_mob/animal/passive/cow/attack_hand(mob/living/carbon/M as mob) if(!stat && M.a_intent == I_DISARM && icon_state != icon_dead) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm index a1fccf962c..4b949d687f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm @@ -37,7 +37,7 @@ if(.) if(stat == CONSCIOUS) if(udder && prob(5)) - udder.add_reagent("milk", rand(5, 10)) + udder.add_reagent(REAGENT_ID_MILK, rand(5, 10)) if(locate(/obj/effect/plant) in loc) var/obj/effect/plant/SV = locate() in loc @@ -64,7 +64,7 @@ var/obj/item/reagent_containers/glass/G = O if(stat == CONSCIOUS && istype(G) && G.is_open_container()) user.visible_message(span_notice("[user] milks [src] using \the [O].")) - var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) + var/transfered = udder.trans_id_to(G, REAGENT_ID_MILK, rand(5,10)) if(G.reagents.total_volume >= G.volume) to_chat(user, span_red("The [O] is full.")) if(!transfered) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm index a379a0c81a..000adfe7f2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/_giant_spider.dm @@ -110,7 +110,7 @@ /obj/item/reagent_containers/food/snacks/meat = 20 ) - var/poison_type = "spidertoxin" // The reagent that gets injected when it attacks. + var/poison_type = REAGENT_ID_SPIDERTOXIN // The reagent that gets injected when it attacks. var/poison_chance = 10 // Chance for injection to occur. var/poison_per_bite = 5 // Amount added per injection. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm index 18428ab3e7..5027ed4a26 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/broodmother.dm @@ -59,7 +59,7 @@ special_attack_cooldown = 6 SECONDS ai_holder_type = /datum/ai_holder/simple_mob/intentional/giant_spider_broodmother poison_per_bite = 2 - poison_type = "cyanide" + poison_type = REAGENT_ID_CYANIDE loot_list = list(/obj/item/royal_spider_egg = 100) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm index 1396df83a9..67b1376f75 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/carrier.dm @@ -27,7 +27,7 @@ melee_damage_upper = 25 poison_per_bite = 3 - poison_type = "chloralhydrate" + poison_type = REAGENT_ID_CHLORALHYDRATE movement_cooldown = 2 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm index f4b92f0346..afd0c542d9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/electric.dm @@ -39,7 +39,7 @@ poison_chance = 15 poison_per_bite = 3 - poison_type = "stimm" + poison_type = REAGENT_ID_STIMM shock_resist = 0.75 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm index d566513ed4..4df9d0256a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/frost.dm @@ -27,7 +27,7 @@ health = 175 poison_per_bite = 5 - poison_type = "cryotoxin" + poison_type = REAGENT_ID_CRYOTOXIN heat_resist = -0.50 cold_resist = 0.75 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm index 61645e9b69..5cbb3d9fa0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/giant_spider_vr.dm @@ -24,7 +24,7 @@ poison_chance = 15 poison_per_bite = 2 - poison_type = "psilocybin" + poison_type = REAGENT_ID_PSILOCYBIN ai_holder_type = /datum/ai_holder/simple_mob/ranged/electric_spider @@ -63,9 +63,3 @@ /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless can_lay_eggs = FALSE - -/mob/living/simple_mob/animal/giant_spider/webslinger/event // YW CHANGE - ai_holder_type = /datum/ai_holder/simple_mob/event - -/mob/living/simple_mob/animal/giant_spider/nurse/queen/event // YW CHANGE - ai_holder_type = /datum/ai_holder/simple_mob/event diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm index bcdeedef00..89019b727f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm @@ -38,7 +38,7 @@ melee_damage_lower = 10 melee_damage_upper = 10 poison_chance = 30 - poison_type = "cryptobiolin" + poison_type = REAGENT_ID_CRYPTOBIOLIN poison_per_bite = 1 player_msg = "You have an imperfect, but automatic stealth. If you attack something while 'hidden', then \ diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm index 27211f3b82..00b380b2ec 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/nurse.dm @@ -38,7 +38,7 @@ melee_damage_lower = 5 // Doesn't do a lot of damage, since the goal is to make more spiders with egg attacks. melee_damage_upper = 10 poison_per_bite = 5 - poison_type = "stoxin" + poison_type = REAGENT_ID_STOXIN player_msg = "You can spin webs on an adjacent tile, or cocoon an object by clicking on it.
    \ You can also cocoon a dying or dead entity by clicking on them, and you will gain charges for egg-laying.
    \ diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm index b0481c0097..8626170c99 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/pepper.dm @@ -27,8 +27,8 @@ poison_chance = 20 poison_per_bite = 5 - poison_type = "condensedcapsaicin_v" + poison_type = REAGENT_ID_CONDENSEDCAPSAICINV /mob/living/simple_mob/animal/giant_spider/pepper/Initialize() adjust_scale(1.1) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm index e67402e0a3..4c464b8d41 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/phorogenic.dm @@ -43,7 +43,7 @@ poison_chance = 30 poison_per_bite = 0.5 - poison_type = "phoron" + poison_type = REAGENT_ID_PHORON tame_items = list( /obj/item/tank/phoron = 20, diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm index d51f6422fe..4f64a01585 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/thermic.dm @@ -35,4 +35,4 @@ poison_chance = 30 poison_per_bite = 1 - poison_type = "thermite_v" + poison_type = REAGENT_ID_THERMITEV diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm index 3b025bc2d7..4c0ea17260 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm @@ -40,7 +40,7 @@ poison_chance = 15 poison_per_bite = 3 - poison_type = "serotrotium_v" + poison_type = REAGENT_ID_SEROTROTIUMV // ai_holder_type = /datum/ai_holder/simple_mob/melee/tunneler diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm index d793e1ae53..425d37f0af 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm @@ -34,7 +34,7 @@ melee_damage_lower = 8 melee_damage_upper = 15 poison_per_bite = 2 - poison_type = "psilocybin" + poison_type = REAGENT_ID_PSILOCYBIN player_msg = "You can fire a ranged attack by clicking on an enemy or tile at a distance." ai_holder_type = /datum/ai_holder/simple_mob/ranged @@ -57,4 +57,4 @@ return B.old_style_target(A, src) B.fire() - set_AI_busy(FALSE) \ No newline at end of file + set_AI_busy(FALSE) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm index 1b1cc2b063..800236dec2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/fish_vr.dm @@ -7,8 +7,8 @@ /mob/living/simple_mob/animal/passive/fish/koi/poisonous/Initialize() . = ..() create_reagents(60) - reagents.add_reagent("toxin", 45) - reagents.add_reagent("impedrezene", 15) + reagents.add_reagent(REAGENT_ID_TOXIN, 45) + reagents.add_reagent(REAGENT_ID_IMPEDREZENE, 15) /mob/living/simple_mob/animal/passive/fish/koi/poisonous/Life() ..() @@ -56,8 +56,8 @@ /mob/living/simple_mob/animal/passive/fish/koi/poisonous/proc/sting(var/mob/living/M) if(!M.reagents) return 0 - M.reagents.add_reagent("toxin", 2) - M.reagents.add_reagent("impedrezene", 1) + M.reagents.add_reagent(REAGENT_ID_TOXIN, 2) + M.reagents.add_reagent(REAGENT_ID_IMPEDREZENE, 1) return 1 /mob/living/simple_mob/animal/passive/fish/measelshark diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm index 392ad3361f..1b9e64e004 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm @@ -1,5 +1,7 @@ /mob/living/simple_mob/animal/passive/cat/runtime/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" B.desc = "The slimy wet insides of Runtime! Not quite as clean as the cat on the outside." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm index d42cb23b09..8ae49ab9da 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm @@ -51,7 +51,9 @@ base_wander_delay = 4 /mob/living/simple_mob/animal/passive/fox/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" B.desc = "Slick foxguts. Cute on the outside, slimy on the inside!" @@ -197,7 +199,9 @@ makes_dirt = FALSE // No more dirt /mob/living/simple_mob/animal/passive/fox/renault/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" B.desc = "Slick foxguts. They seem somehow more regal than perhaps other foxes!" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm index 5b3b1c7ebc..f8b2b6bec2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/glitterfly.dm @@ -96,7 +96,7 @@ if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) var/obj/item/reagent_containers/food/snacks/grown/G = O - if(G.seed && G.seed.kitchen_tag == "berries") + if(G.seed && G.seed.kitchen_tag == PLANT_BERRIES) return TRUE return FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm index 3d05b68abb..4897c12503 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm @@ -493,7 +493,7 @@ var/global/list/wounds_being_tended_by_drakes = list() for(var/obj/item/organ/external/E in H.organs) if(E.status & ORGAN_BLEEDING) E.organ_clamp() - H.bloodstr.add_reagent("sifsap", rand(1,2)) + H.bloodstr.add_reagent(REAGENT_ID_SIFSAP, rand(1,2)) for(var/datum/wound/W in E.wounds) W.salve() W.disinfect() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm index 7b89c0f0de..6ebaa749a6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm @@ -49,9 +49,9 @@ var/list/bodypart_targets = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_TORSO,BP_GROIN,BP_HEAD) var/infest_target = BP_TORSO // The currently chosen bodypart to infest. var/mob/living/carbon/host // Our humble host. - var/list/produceable_chemicals = list("inaprovaline","anti_toxin","alkysine","bicaridine","tramadol","kelotane","leporazine","iron","phoron","condensedcapsaicin_v","frostoil") - var/randomized_reagent = "iron" // The reagent chosen at random to be produced, if there's no one piloting the worm. - var/passive_reagent = "paracetamol" // Reagent passively produced by the leech. Should usually be a painkiller. + var/list/produceable_chemicals = list(REAGENT_ID_INAPROVALINE,REAGENT_ID_ANTITOXIN,REAGENT_ID_ALKYSINE,REAGENT_ID_BICARIDINE,REAGENT_ID_TRAMADOL,REAGENT_ID_KELOTANE,REAGENT_ID_LEPORAZINE,REAGENT_ID_IRON,REAGENT_ID_PHORON,REAGENT_ID_CONDENSEDCAPSAICINV,REAGENT_ID_FROSTOIL) + var/randomized_reagent = REAGENT_ID_IRON // The reagent chosen at random to be produced, if there's no one piloting the worm. + var/passive_reagent = REAGENT_ID_PARACETAMOL // Reagent passively produced by the leech. Should usually be a painkiller. var/feeding_delay = 30 SECONDS // How long do we have to wait to bite our host's organs? var/last_feeding = 0 @@ -159,7 +159,7 @@ ai_holder.hostile = FALSE ai_holder.lose_target() alpha = 5 - if(host.reagents.has_reagent("cordradaxon") && !docile) // Overwhelms the leech with food. + if(host.reagents.has_reagent(REAGENT_ID_CORDRADAXON) && !docile) // Overwhelms the leech with food. var/message = "We feel the rush of cardiac pluripotent cells in your host's blood, lulling us into docility." to_chat(src, span_warning(message)) docile = TRUE @@ -178,32 +178,32 @@ if(!docile && ishuman(host) && chemicals < max_chemicals) var/mob/living/carbon/human/H = host H.remove_blood(1) - if(!H.reagents.has_reagent("inaprovaline")) - H.reagents.add_reagent("inaprovaline", 1) + if(!H.reagents.has_reagent(REAGENT_ID_INAPROVALINE)) + H.reagents.add_reagent(REAGENT_ID_INAPROVALINE, 1) chemicals += 2 if(!client && !docile) // Automatic 'AI' to manage damage levels. if(host.getBruteLoss() >= 30 && chemicals > 50) - host.reagents.add_reagent("bicaridine", 5) + host.reagents.add_reagent(REAGENT_ID_BICARIDINE, 5) chemicals -= 30 if(host.getToxLoss() >= 30 && chemicals > 50) - var/randomchem = pickweight(list("tramadol" = 7, "anti_toxin" = 15, "frostoil" = 3)) + var/randomchem = pickweight(list(REAGENT_ID_TRAMADOL = 7, REAGENT_ID_ANTITOXIN = 15, REAGENT_ID_FROSTOIL = 3)) host.reagents.add_reagent(randomchem, 5) chemicals -= 50 if(host.getFireLoss() >= 30 && chemicals > 50) - host.reagents.add_reagent("kelotane", 5) - host.reagents.add_reagent("leporazine", 2) + host.reagents.add_reagent(REAGENT_ID_KELOTANE, 5) + host.reagents.add_reagent(REAGENT_ID_LEPORAZINE, 2) chemicals -= 50 if(host.getOxyLoss() >= 30 && chemicals > 50) - host.reagents.add_reagent("iron", 10) + host.reagents.add_reagent(REAGENT_ID_IRON, 10) chemicals -= 40 if(host.getBrainLoss() >= 10 && chemicals > 100) - host.reagents.add_reagent("alkysine", 5) - host.reagents.add_reagent("tramadol", 3) + host.reagents.add_reagent(REAGENT_ID_ALKYSINE, 5) + host.reagents.add_reagent(REAGENT_ID_TRAMADOL, 3) chemicals -= 100 if(prob(30) && chemicals > 50) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index 6cef5c086b..1a8ab85a80 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -145,7 +145,9 @@ ai_holder_type = /datum/ai_holder/simple_mob/vore /mob/living/simple_mob/animal/space/carp/large/huge/vorny/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You've been swallowed whole and alive by a massive white carp! The stomach around you is oppressively tight, squeezing and grinding wrinkled walls across your body, making it hard to make any movement at all. The chamber is flooded with fluids that completely overwhelm you." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm index 436d6c8315..d452a8bf34 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm @@ -88,7 +88,9 @@ TODO: Make them light up and heat the air when exposed to oxygen. vore_icons = SA_ICON_LIVING /mob/living/simple_mob/animal/passive/gaslamp/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "internal chamber" B.desc = "Having been too slow to disentangle yourself from the gaslamp's tentacles, the alien creature eventually winds enough of them around your body to lift you up off of the ground. Struggle as you might now, it is too late to deny the jellyfish-esque scavenger its lucky catch; inch by inch, the gaslamp tugs you upwards into its equivalent of a stomach, the transition between the cool-to-frigid atmosphere on the outside to its surprising internal heat something you can feel through any outer wear you possess. Minutes pass, soon resulting in the gentle creature's body sporting a rounded, bulging swell, an indistinct shadow shifting and twitching inside it as you squirm about. Be it to escape or simply to get settled, you might want to take care, however. The gaslamp's internal chamber is slick and squishy instead of overly oppressive, yet, each wave of warmth that pulses over you leaves you feeling weaker than the last..." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm index d75fc6e33c..6c5f0322b1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/snake_vr.dm @@ -47,6 +47,60 @@ say_list_type = /datum/say_list/snake ai_holder_type = /datum/ai_holder/simple_mob/passive + icon_state = "python" + icon_living = "python" + icon_dead = "python_dead" + icon = 'icons/mob/snake_vr.dmi' + + vore_active = 1 + vore_capacity = 1 + vore_default_mode = DM_DIGEST + // vore_icons = SA_ICON_LIVING | SA_ICON_REST // Woul require the downstream sprites + vore_escape_chance = 20 + swallowTime = 50 + vore_bump_chance = 10 + faction_bump_vore = 1 // Allows snakes to vore people who bump into them even if they are the same "friendly" faction. + vore_bump_emote = "coils around and unhinges its jaws at" + + can_be_drop_prey = FALSE + +// Adds vore belly +/mob/living/simple_mob/animal/passive/snake/init_vore() + if(!voremob_loaded) + return + . = ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The snake coils its tail around you, pushing you to the ground and pinning you with its weight. It flicks its tongue at you, before pouncing onto your head, engulfing the upper half of your body with ease as it unhinges its jaw. With greedy swallows, it pulls you deeper, and deeper. The tight walls undulate rhythmically as the danger noodle rumbles contentedly at this new meal. The snake sends the last of you down with a deep swallow, hissing softly and closing its eyes as it enjoys its new meal, tucked away nicely under those beautiful, green scales." + B.item_digest_mode = IM_DIGEST_FOOD + B.mode_flags = DM_FLAG_THICKBELLY + B.digestchance = 25 + B.escape_stun = 5 + + B.emote_lists[DM_HOLD] = list( + "A near-constant string of soft, slick noises drift over you as waves of peristalsis slowly drag you further within the possessive serpent.", + "\the [name]'s stomach suddenly squishes inwards from everywhere at once, wrapping you up in a warm, doughy embrace before easing back again.", + "A growing sense of relaxed lethargy seeps into your muscles the longer you're massaged over amidst those hot, humid confines.", + "Slimy, heat-trapping muscles rhythmically ripple over and knead down into your figure, ensuring the snake's new filling was subdued.", + "\the [name] occasionally hisses out in satisfaction as it feels your twitching, filling weight bulge out its scales before giving you a compressing squeeze.", + "Hot, viscous ooze clings to and coats your body as time passes, encouraging you to submit and let the snake do all the serpentine, winding slithering.") + B.emote_lists[DM_DIGEST] = list( + "A chorus of sordid, slick sounds fill your senses as another wave of peristalsis ripples over you, tugging you a deeper into the serpent's digestive system.", + "\the [name]'s all-encompassing stomach closes in tight around your figure, soaking acid into your flesh.", + "You find it harder to breathe as time goes on, your dizziness growing as you lack the space to breathe in enough of that caustic, thinning air.", + "\the [name]'s ample, kneading muscle gradually squeezes the strength and fight from your body with clench after clench.", + "A pleased hiss emanates from the well fed serpent, clearly satisfied with the meal it's made out of you.", + "Your movements grow sluggish as \the [name]'s oozing stomach walls cling to your entire body, drenchning you in corrosive juices.") + B.struggle_messages_inside = list( + "You jam your limbs against the tight walls in an effort to get some leverage.", + "You writhe inside the tube-like gastric chamber in a bid to force yourself to freedom.", + "You push back at the clenched sphincter at the entrance to \the [name]'s gut.") + B.struggle_messages_outside = list( + "\the [name]'s tail jostles around as something inside of it fights to escape.", + "\the [name]'s tail lurches with the struggles of a live meal.") + B.examine_messages = list( + "\the [name]'s tail is swollen fat with a lump of prey it swallowed whole.") + /datum/say_list/snake emote_hear = list("hisses") @@ -86,6 +140,8 @@ makes_dirt = FALSE + vore_default_mode = DM_HOLD + var/turns_since_scan = 0 var/obj/movement_target @@ -158,7 +214,7 @@ icon = 'icons/mob/snake_vr.dmi' icon_state = "snack_yellow" nutriment_amt = 1 - nutriment_desc = list("sugar" = 1) + nutriment_desc = list(REAGENT_ID_SUGAR = 1) /obj/item/reagent_containers/food/snacks/snakesnack/Initialize() . = ..() @@ -166,7 +222,7 @@ snack_colour = pick( list("yellow","green","pink","blue") ) icon_state = "snack_[snack_colour]" desc = "A little mouse treat made of coloured sugar. Noodle loves these! This one is [snack_colour]." - reagents.add_reagent("sugar", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 2) /obj/item/storage/box/snakesnackbox name = "box of Snake Snax" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm index ded0cdb570..4ba69741eb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm @@ -70,7 +70,9 @@ vore_default_item_mode = IM_DIGEST /mob/living/simple_mob/vore/squirrel/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.digest_mode = DM_SELECT diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm index 9c29db15a3..33f48276fb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/turkeygirl.dm @@ -44,7 +44,9 @@ vore_standing_too = TRUE /mob/living/simple_mob/vore/turkeygirl/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The hot churning stomach of a turkey girl! The doughy flesh presses inward to form to your figure, thick slime coating everything, and very shortly that includes you as well! There isn't any escaping that constant full body motion, as her body works to ball yours up into a tight little package. Gurgling and glubbing with every shifting movement, while her pulse throbs through the flesh all around you with every beat of her heart. All in all, one thing is for certain! You've become turkey stuffing! Oh no..." diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm index ca2763fcc6..8be2d053ee 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/blaidd.dm @@ -55,6 +55,8 @@ movement_cooldown = -1 /mob/living/simple_mob/vore/blaidd/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm index 3b060b51cc..2fdd74aa02 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/ddraig.dm @@ -77,6 +77,8 @@ movement_cooldown = -1 /mob/living/simple_mob/vore/ddraig/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm index 081494bc1f..6a85304ac3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/fluffball.dm @@ -42,7 +42,9 @@ vore_standing_too = 1 /mob/living/simple_mob/vore/fluffball/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "tail" B.desc = "The small critter seems to suddenly panic, lunging at you with its massive fluffy tail, using it like a weapon. Despite the appearance of the tail, it seems to be much larger on the inside, suddenly engulfing you completely in a world of endless softness. Inside, you are bound up nice and tight in an oddly comfortable prison of hair, it ripples over your body tickling every bit of exposed body on offer." diff --git a/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm index 7da91539fb..55749ab469 100644 --- a/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm +++ b/code/modules/mob/living/simple_mob/subtypes/glamour/unicorn.dm @@ -36,7 +36,9 @@ projectile_accuracy = -20 /mob/living/simple_mob/vore/horse/unicorn/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "With a final few gulps, the unicorn finishes swallowing you down into its hot, humid gut... and with a slosh, your weight makes the equine's belly hang down slightly like some sort of organic hammock. The thick, damp air is tinged with the smell of... candyfloss(?), and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm index 48babbe51a..e925674468 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/disbot_vr.dm @@ -47,7 +47,7 @@ var/poison_chance = 100 var/poison_per_bite = 10 - var/poison_type = "expired_medicine" + var/poison_type = REAGENT_ID_EXPIREDMEDICINE /datum/say_list/disbot speak = list("ATTEMPTING TO CONTACT A.R.K, ATTEMPT 1e26+3","DIRT SAMPLE COLLECTED, DIRT QUOTA 124871/155 CONFIRMED.") diff --git a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm index eb08ce7bc0..732d4c170f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm +++ b/code/modules/mob/living/simple_mob/subtypes/plant/tomato.dm @@ -1,5 +1,5 @@ /mob/living/simple_mob/tomato - name = "tomato" + name = PLANT_TOMATO desc = "It's a horrifyingly enormous beef tomato, and it's packing extra beef!" tt_desc = "X Solanum abominable" icon_state = "tomato" diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm index f8ee94e227..0feabb6987 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm @@ -8,7 +8,7 @@ color = "#CC23FF" slime_color = "purple" coretype = /obj/item/slime_extract/purple - reagent_injected = "toxin" + reagent_injected = REAGENT_ID_TOXIN description_info = "This slime spreads a toxin when it attacks. A biosuit or other thick armor can protect from the toxic attack." player_msg = "You inject a harmful toxin when attacking." @@ -57,7 +57,7 @@ color = "#19FFFF" slime_color = "blue" coretype = /obj/item/slime_extract/blue - reagent_injected = "cryotoxin" + reagent_injected = REAGENT_ID_CRYOTOXIN cold_resist = 0.50 // Not as strong as dark blue, which has immunity. description_info = "The slime is resistant to the cold, and attacks from this slime can inject cryotoxin into you. \ @@ -173,7 +173,7 @@ color = "#660088" slime_color = "dark purple" coretype = /obj/item/slime_extract/dark_purple - reagent_injected = "phoron" + reagent_injected = REAGENT_ID_PHORON description_info = "This slime applies phoron to enemies it attacks. A biosuit or other thick armor can protect from the toxic attack. \ If hit with a burning attack, it will erupt in flames." @@ -190,7 +190,7 @@ /mob/living/simple_mob/slime/xenobio/dark_purple/proc/ignite() visible_message(span_critical("\The [src] erupts in an inferno!")) for(var/turf/simulated/target_turf in view(2, src)) - target_turf.assume_gas("phoron", 30, 1500+T0C) + target_turf.assume_gas(GAS_PHORON, 30, 1500+T0C) spawn(0) target_turf.hotspot_expose(1500+T0C, 400) qdel(src) @@ -509,7 +509,7 @@ slime_color = "green" coretype = /obj/item/slime_extract/green glow_toggle = TRUE - reagent_injected = "radium" + reagent_injected = REAGENT_ID_RADIUM var/rads = 25 description_info = "This slime will irradiate anything nearby passively, and will inject radium on attack. \ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm index 0d682ffd2e..6ab6004b85 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bat.dm @@ -43,7 +43,9 @@ emote_see = list("flaps","grooms itself") /mob/living/simple_mob/vore/bat/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The giant bat has managed to swallow you alive, which is particularly impressive given that it's still a rather small creature. It's belly bulges out as you're squeezed into the oppressively tight stomach, and it lands to manage the weight, wings curling over your form beneath. The body groans under your strain, burbling and growling as it gets to work on it's feed. However, at least for now, it seems to do you no physical harm. Instead, the damp walls that squelch across your body try to leech out your energy through some less direct means." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm index faeafaa866..86c3b58848 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bee.dm @@ -40,7 +40,7 @@ faction = FACTION_BEE - var/poison_type = "spidertoxin" // The reagent that gets injected when it attacks, can be changed to different toxin. + var/poison_type = REAGENT_ID_SPIDERTOXIN // The reagent that gets injected when it attacks, can be changed to different toxin. var/poison_chance = 10 // Chance for injection to occur. var/poison_per_bite = 1 // Amount added per injection. diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm index 3036edd2f2..55c36dc23b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/bigdragon.dm @@ -329,17 +329,6 @@ I think I covered everything. update_fullness() build_icons() -/mob/living/simple_mob/vore/bigdragon/update_fullness() - var/new_fullness = 0 - // Only count stomachs to fullness - for(var/obj/belly/B in vore_organs) - if(B.name == "Stomach" || B.name == "Second Stomach") - for(var/mob/living/M in B) - new_fullness += M.size_multiplier - new_fullness /= size_multiplier - new_fullness = round(new_fullness, 1) - vore_fullness = min(vore_capacity, new_fullness) - /mob/living/simple_mob/vore/bigdragon/proc/build_icons(var/random) cut_overlays() if(stat == DEAD) @@ -516,7 +505,10 @@ I think I covered everything. /// My thanks to Raeschen for these descriptions /mob/living/simple_mob/vore/bigdragon/init_vore() + if(!voremob_loaded || LAZYLEN(vore_organs)) + return var/obj/belly/B = new /obj/belly/dragon/maw(src) + B.affects_vore_sprites = FALSE B.emote_lists[DM_HOLD] = list( "The dragon's breath continues to pant over you rhythmically, each exhale carrying a bone-shivering growl", "The thick, heavy tongue lifts, curling around you, cramming you tightly against it's teeth, to squeeze some flavor out of you.", @@ -526,6 +518,7 @@ I think I covered everything. gut1 = B vore_selected = B B = new /obj/belly/dragon/throat(src) + B.affects_vore_sprites = FALSE B.emote_lists[DM_HOLD] = list( "Gggllrrrk! Another loud, squelching swallow rings out in your ears, dragging you a little deeper into the furnace-like humid heat of the dragon's body.", "Nestling in a still throat for a moment, you feel the walls quiver and undulate excitedly in tune with the beast's heartbeat.", @@ -533,6 +526,7 @@ I think I covered everything. "The throat closes in tightly, utterly cocooning you with it's silken spongey embrace. Like this it holds, until you feel like you might pass out... eventually, it would shlllrrk agape and loosen up all around you once more, the beast not wanting to lose the wriggly sensation of live prey.", "Blrrbles and squelching pops from it's stomach echo out below you. Each swallow brings greater clarity to those digestive sounds, and stronger acidity to the muggy air around you, inching you closer to it's grasp. Not long now.") B = new /obj/belly/dragon/stomach(src) + B.affects_vore_sprites = TRUE B.emote_lists[DM_DIGEST] = list( "The stomach walls spontaneously contract! Those wavey, fleshy walls binding your body in their embrace for the moment, slathering you with thick, caustic acids.", "You hear a soft rumbling as the dragon’s insides churn around your body, the well-used stomach walls shuddering with a growl as you melt down.", @@ -541,6 +535,7 @@ I think I covered everything. "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!", "The drake happily wanders around while digesting its meal, almost like it is trying to show off the hanging gut you've given it.") B = new /obj/belly/dragon/maw/heal(src) + B.affects_vore_sprites = FALSE B.emote_lists[DM_HEAL] = list( "Gently, the dragon's hot, bumpy tongue cradles you, feeling like a slime-soaked memory-foam bed, twitching with life. The delicacy that the dragon holds you with is quite soothing.", "The wide, slick throat infront of you constantly quivers and undulates. Every hot muggy exhale of the beast makes that throat spread, ropes of slime within it's hold shivering in the flow, inhales causing it to clench up somewhat.", @@ -549,6 +544,7 @@ I think I covered everything. "Saliva soaks the area all around you thickly, lubricating absolutely everything with the hot liquid. From time to time, the beast carefully shifts the rear of it's tongue to piston a cache of the goop down the hatch. The throat seen clenching tightly shut, the tongue's rear bobbing upwards, before down again - showing off a freshly slime-soaked entrance.") gut2 = B B = new /obj/belly/dragon/throat/heal(src) + B.affects_vore_sprites = FALSE B.emote_lists[DM_HEAL] = list( "The tunnel of the gullet closely wraps around you, mummifying you in a hot writhing embrace of silky flesh. The walls are slick, soaked in a lubricating slime, and so very warm.", "The walls around you pulse in time with the dragon's heartbeat, which itself pounds in your ears. Rushing wind of calm breaths fill the gaps, and distant squelches of slimy payloads shifted around by soft flesh echo down below.", @@ -556,6 +552,7 @@ I think I covered everything. "Soothing thrumms from the beast sound out, to try help calm you on your way down. The dragon seems to not want you to panic, using surprisingly gentle intent.", "Clenchy embraces rhythmically squelch over you. Spreading outwards, the walls would relent, letting you spread a hot, gooey pocket of space around yourself. You linger, before another undulation of a swallow nudges you further down.") B = new /obj/belly/dragon/stomach/heal(src) + B.affects_vore_sprites = TRUE B.emote_lists[DM_HEAL] = list( "In tune with the beast's heartbeat, the walls heave and spread all around you. In, tight and close, and then outwards, spreading cobwebs of slime all around.", "The thick folds of flesh around you blrrrble and sqllrrch, as the flesh itself secretes more of this strange, pure, goopy liquid, clenching it among it's crevices to squeeze it all over you in a mess.", @@ -1007,7 +1004,7 @@ I think I covered everything. //Alternatively bully a coder (me) to make a unique digest_mode for mob healbellies that prevents death, or something. if(istype(A, /mob/living/carbon/human)) var/mob/living/carbon/human/P = L - var/list/to_inject = list("myelamine","osteodaxon","spaceacillin","peridaxon", "iron", "hyronalin") + var/list/to_inject = list(REAGENT_ID_MYELAMINE,REAGENT_ID_OSTEODAXON,REAGENT_ID_SPACEACILLIN,REAGENT_ID_PERIDAXON, REAGENT_ID_IRON, REAGENT_ID_HYRONALIN) //Lets not OD them... for(var/RG in to_inject) if(!P.reagents.has_reagent(RG)) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm index a1335771f8..458d2d63e0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm @@ -126,7 +126,9 @@ return TRUE /mob/living/simple_mob/vore/aggressive/corrupthound/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "fuel processor" B.desc = "Uttering distorted growls and fragmented voice clips all the while, the corrupted hound gulps the rest of your squirming figure past its jaws... which snap shut with an audible click of metal on metal. Your trip down its slickly lubricated, rubbery gullet is a tight and efficient one... and once you spill out into the machine's fuel processor, your weight making it sag slightly, hot-and-thick slime begins oozing all over your form. Only time will tell if you're destined to become fuel for its next bout of rampaging... be it days, hours, or just mere minutes..." @@ -148,7 +150,9 @@ "'FU3L mE A1RE@Dy, S0 sO SORrY!?', your corrupted captor growls as its synthetic innards begin oozing more potent juices, grinding down into your body with increasing fervor!") /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "fuel processor" B.desc = "The twice-corrupted hound takes a moment to lather over the rest of your figure in heated, slimy synth-slobber before gulping you the rest of the way down its lubricated, rubbery throat. After a short string of slick-sounding, autonomous swallows, you spill out into its awaiting processor, your body immediately making its synth-flesh sag down slightly... and, as an oddly distorted rumble vibrates into the chamber, so too does a slowly accumulating pool of hot, viscous ooze. Only time will tell if whatever extra programming the hound has will spare you from being processed..." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm index 0e931f9832..a44eed03ca 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/cryptdrake.dm @@ -69,6 +69,8 @@ movement_cooldown = -1 /mob/living/simple_mob/vore/cryptdrake/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index 7d90475840..9fbbb8a90e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -82,7 +82,9 @@ return /mob/living/simple_mob/vore/aggressive/deathclaw/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The giant mutant of a lizard finishes stuffing you into its jaws and down its ravenously clenching gullet with a worrying ease and efficiency. An assortment of slick, slimy noises assault your senses for a few gulp-filled moments... before you spill out into the apex predator's swelteringly hot stomach, its walls already possessively grinding into your body." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm index 5471175593..2382cc8914 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon.dm @@ -45,7 +45,9 @@ var/is_shifting = FALSE /mob/living/simple_mob/vore/demon/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" B.desc = "You slide down the slick, slippery gullet of the creature. It's warm, and the air is thick. You can feel the doughy walls of the creatures gut push and knead into your form! Slimy juices coat your form stinging against your flesh as they waste no time to start digesting you. The creature's heartbeat and the gurgling of their stomach are all you can hear as your jostled about, treated like nothing but food." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm index 1d64e27ef0..e21854b4c5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/devil.dm @@ -43,7 +43,9 @@ vore_bump_emote = "pounces on" /mob/living/simple_mob/vore/devil/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "It turns out that this was not just any old statue, but some form of android waiting for its chance to ambush you. The moment that it laid its hands on you, your fate was decided. The jaws of the machine parted, if you could call them that, and immediately enveloped your head. The inside was hot and slick, but dry. The textures were startlingly realistic, the base was clearly a tongue, the top palate of the mouth was hard but somewhat pliable. Not that you had time to admire it before the rest of your body was stuffed inside. Through a short passage down through a rubbery tube of a gullet, mechanical contractions squeezing you down from behind, you're quickly deposited in something much resembling a stomach. Amid the sounds of mechanical whirrs, you can heard glorping, gurgling and burbling from unknown sources. The walls wrap firmly around your body, deliberately dramping you up into the smallest space that the machine can crush you into, whilst the synthetic lining around you ripples across your hunched up form. You can even see yourself, the gut itself is backlit by some eerie red glow, just enough to tell exactly what is happening to you. It doesn't help that you can see the drooling fluids glistening in the dim light." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index 9915d171b0..310ed526dc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -128,3 +128,27 @@ mount_offset_x = -9 has_eye_glow = TRUE vore_eyes = TRUE + +// A fluff sprite for an event mob created by grayscaledrake + +/mob/living/simple_mob/vore/aggressive/dragon/gray_scaled + name = "gray scaled drake" + desc = "This is a big, scaly drake." + + icon_dead = "drake_dead" + icon_living = "drake" + icon_state = "drake" + icon_rest = "drake_rest" + icon = 'icons/mob/vore_grayscale_drake.dmi' + vis_height = 115 + + old_x = -57 + old_y = 0 + default_pixel_x = -57 + pixel_x = -57 + pixel_y = 0 + + vore_active = 1 + vore_capacity = 1 + vore_pounce_chance = 0 // Beat them into crit before eating. + vore_icons = SA_ICON_LIVING diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm index 65b712c2cf..f9d4ba15e8 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennec.dm @@ -130,7 +130,9 @@ add_overlay(bigshadow) /mob/living/simple_mob/vore/fennec/huge/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "Stomach" B.desc = "The slimy wet insides of a rather large fennec! Not quite as clean as the fen on the outside." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm index 1d0e18733c..7e3476699d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/greatwolf.dm @@ -117,6 +117,8 @@ . = ..() /mob/living/simple_mob/vore/greatwolf/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index 4432da92be..1201e79106 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -80,7 +80,9 @@ return /mob/living/simple_mob/vore/horse/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "With a final few gulps, the horse finishes swallowing you down into its hot, dark gut... and with a slosh, your weight makes the equine's belly hang down slightly like some sort of organic hammock. The thick, humid air is tinged with the smell of half-digested grass, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." @@ -137,7 +139,9 @@ vore_bump_emote = "chomps down on" /mob/living/simple_mob/vore/horse/kelpie/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "With a final few gulps, the kelpie finishes swallowing you down into its hot, humid gut... and with a slosh, your weight makes the equine's belly hang down slightly like some sort of organic hammock. The thick, damp air is tinged with the smell of seaweed, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm index ed91a897a8..a4de696dfa 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/lamia.dm @@ -29,8 +29,11 @@ // Vore tags vore_active = 1 vore_capacity = 1 + vore_capacity_ex = list("stomach" = 1, "tail" = 1) + vore_fullness_ex = list("stomach" = 0, "tail" = 0) vore_bump_emote = "coils their tail around" vore_icons = 0 + vore_icon_bellies = list("stomach", "tail") // Default stomach vore_stomach_name = "upper stomach" vore_stomach_flavor = "You've ended up inside of the lamia's human stomach. It's pretty much identical to any human stomach, but the valve leading deeper is much bigger." @@ -52,17 +55,6 @@ say_list_type = /datum/say_list/lamia ai_holder_type = /datum/ai_holder/simple_mob/passive -/mob/living/simple_mob/vore/lamia/update_fullness() - var/new_fullness = 0 - // We only want to count our upper_stomach towards capacity - for(var/obj/belly/B as anything in vore_organs) - if(B.name == "upper stomach") - for(var/mob/living/M in B) - new_fullness += M.size_multiplier - new_fullness /= size_multiplier - new_fullness = round(new_fullness, 1) - vore_fullness = min(vore_capacity, new_fullness) - /mob/living/simple_mob/vore/lamia/update_icon() . = ..() @@ -73,23 +65,8 @@ // And copper_vore_1_0 is full upper stomach, but empty tail stomach // For unconscious: [icon_rest]_vore_[upper]_[tail] // For dead, it doesn't show. - var/upper_shows = FALSE - var/tail_shows = FALSE - - for(var/obj/belly/B as anything in vore_organs) - if(!(B.name in list("upper stomach", "tail stomach"))) - continue - var/belly_fullness = 0 - for(var/mob/living/M in B) - belly_fullness += M.size_multiplier - belly_fullness /= size_multiplier - belly_fullness = round(belly_fullness, 1) - - if(belly_fullness) - if(B.name == "upper stomach") - upper_shows = TRUE - else if(B.name == "tail stomach") - tail_shows = TRUE + var/upper_shows = vore_fullness_ex["stomach"] + var/tail_shows = vore_fullness_ex["tail"] if(upper_shows || tail_shows) if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED))) @@ -100,6 +77,8 @@ icon_state = "[icon_rest]_vore_[upper_shows]_[tail_shows]" /mob/living/simple_mob/vore/lamia/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected @@ -108,6 +87,7 @@ var/obj/belly/tail = new /obj/belly(src) tail.immutable = TRUE + tail.affects_vore_sprites = TRUE tail.name = "tail stomach" tail.desc = "You slide out into the narrow, constricting tube of flesh that is the lamia's snake half, heated walls and strong muscles all around clinging to your form with every slither." tail.digest_mode = vore_default_mode @@ -125,6 +105,7 @@ tail.human_prey_swallow_time = swallowTime tail.nonhuman_prey_swallow_time = swallowTime tail.vore_verb = "stuff" + tail.belly_sprite_to_affect = "tail" tail.emote_lists[DM_HOLD] = B.emote_lists[DM_HOLD].Copy() tail.emote_lists[DM_DIGEST] = B.emote_lists[DM_DIGEST].Copy() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm index 81e756e527..0f5360c649 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/leopardmander.dm @@ -75,6 +75,8 @@ src.adjust_nutrition(src.max_nutrition) /mob/living/simple_mob/vore/leopardmander/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" @@ -144,6 +146,8 @@ add_verb(src, /mob/living/simple_mob/vore/leopardmander/exotic/proc/toggle_glow) /mob/living/simple_mob/vore/leopardmander/exotic/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm index 3e340e0abc..edfbaa5dc1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/macrophage.dm @@ -62,7 +62,7 @@ /mob/living/simple_mob/vore/aggressive/macrophage/init_vore() - if(LAZYLEN(vore_organs)) + if(!voremob_loaded || LAZYLEN(vore_organs)) return TRUE var/obj/belly/B = new /obj/belly/macrophage(src) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm index 5fb2a327ad..c4c64dd400 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/meowl.dm @@ -39,7 +39,9 @@ vore_bump_emote = "pounces on" /mob/living/simple_mob/vore/meowl/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The strange critter suddenly takes advantage of you being alone to pounce atop you and quickly engulf your head within its maw! Before you even have a chance to react, the world goes dark with the inside of the meowls mouth covering your face, a rough tounge lapping smearing wet hot slobber over you. The rest of the process is pretty quick as the cat-owl begins to gulp your head down through a surprisingly stretchy throat and along the tight, flexing tunnel of its gullet. Before long you are pushing face first into the creature's stomach, the wrinkled walls quickly beginning grind slick flesh across it like any other piece of food. The rest of your body soon follows into the increasingly tight space, forced to curl up over yourself as the stomach lining bears down on you from every angle. At first, the stomach itself seems rather inactive, happily just squeezing and massaging you as the meowl settles down to slowly enjoy their snack. Though, struggling might risk setting off the gut one way or another..." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm index 2ae22c5d3c..13a4cfcd04 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/oregrub.dm @@ -52,7 +52,7 @@ say_list_type = /datum/say_list/oregrub var/poison_per_bite = 2.5 - var/poison_type = "thermite_v" //burn baby burn + var/poison_type = REAGENT_ID_THERMITEV //burn baby burn var/poison_chance = 50 var/min_ore = 4 @@ -164,7 +164,9 @@ //I'm no good at writing this stuff, so I've just left it as placeholders and disabled the chances of them eating you. /* /mob/living/simple_mob/vore/oregrub/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "PLACEHOLDER!" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm index b64e9e8b29..ba0e5becbe 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/pakkun.dm @@ -147,7 +147,9 @@ ai_holder.remove_target() /mob/living/simple_mob/vore/pakkun/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "you land with a soft bump in what can only be described as a big soft slimy sack, the walls effortlessly stretching to match your every move with no sign of reaching any kind of elastic \ @@ -271,7 +273,9 @@ ..() /mob/living/simple_mob/vore/pakkun/snapdragon/snappy/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.digest_mode = DM_HOLD B.desc = "the lizard gently yet insistently stuffs you down her gullet - evidently enjoying this moment of playtime as you land in a sprawled heap in the stretchy, clinging sack that makes up \ diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index fb8e27e3c0..7d43ea18cf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -63,7 +63,9 @@ return /mob/living/simple_mob/vore/aggressive/panther/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "All it takes is a few more rasps of the panther's rough, barbed tongue to shovel the rest of you down its tightly rippling gullet... and with a final couple ravenous swallows, you spill out into the predatory feline's stomach! Right away, that gut's muscular walls knead and contract around you, forcing you into a curled-up ball as the panther's noisy purring rumbles into you from every direction." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm index 3448e7a755..4a15908f6b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/peasant.dm @@ -55,7 +55,9 @@ emote_see = list("exists","just stands there","smiles","looks around") /mob/living/simple_mob/vore/peasant/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You've somehow managed to get yourself eaten by one of the local peasants. After jamming you down into their stomach, you find yourself cramped up tight in a space that clearly shouldn't be able to accept you. They let out a relieved sigh as they heft around their new found weight, giving it a hearty pat, clearly content to get a good meal for once. The world around you groans and grumbles, but the gut is far from harmful to you right now, even as the walls clench down on your body." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm index af3ae2a989..f35a5424f9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/plants.dm @@ -38,7 +38,9 @@ vore_bump_emote = "encloses on" /mob/living/simple_mob/vore/mantrap/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "trap" B.desc = "As you step onto the large leaves of the mantrap, they suddenly shoot up and snap shut around you, encasing you in a fleshy-feeling gut. The saw-toothed spikes around the edge of the leaves interlock with one another and exerts a tremendous pressure on your body. Copious volumes of fluids begin to seep in from the walls themselves, rapidly coating your body and pooling around you, all of your movements only seem to speed up this process.." @@ -125,7 +127,9 @@ projectilesound = 'sound/effects/slime_squish.ogg' /mob/living/simple_mob/vore/pitcher/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "Walking a little too close to the pitcher plant, you trigger its trap mechanism and a tendril shoots out towards you. Wrapping around your body, you are rapidly dragged into the open mouth of the plant, stuffing your entire body into a fleshy, green stomach filled with a pool of some sort of tingling liquid. The lid of the plant slams down over the mouth, making it far more difficult to escape, all whilst that pool steadily seems to be filling up." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm index 4495c32034..7b02c43304 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/raptor.dm @@ -83,6 +83,8 @@ movement_cooldown = -1 /mob/living/simple_mob/vore/raptor/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index 186dfbc983..bc8285714c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -73,7 +73,9 @@ allow_mind_transfer = TRUE /mob/living/simple_mob/vore/aggressive/rat/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "In a cruel game of cat-and-mouse gone horribly wrong, you struggle to breathe clearly as the giant rat holds your head in its jaws, the rest of its bulk pinning you to the ground. Slimy slurps and its own muffled squeaking fill your senses as it simultaneously tosses its head while backing up. Quickly, ravenously consuming you, bit by bit, packing you down its gullet no matter how you struggle. Passing by its excited heartbeat, your thoroughly slickened head pushes out into its awaiting stomach, a dark and humid hammock eager to accept the rest of you. Soon, those too-warm, plush walls clench and squeeze around you with undeniable need! A need for mere filling, or, perhaps, a proper meal?" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm index ce4ff0fe93..0be9730340 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scel.dm @@ -95,6 +95,8 @@ movement_cooldown = -1 /mob/living/simple_mob/vore/scel/init_vore() + if(!voremob_loaded) + return . = ..() var/obj/belly/B = vore_selected B.name = "stomach" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm index 81a37437cb..98e31178b1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/scrubble.dm @@ -7,7 +7,7 @@ icon_dead = "scrubble-dead" icon_living = "scrubble" icon_state = "scrubble" - icon_rest = "scrubble-rest" + icon_rest = "scrubble_rest" faction = FACTION_SCRUBBLE friendly = list("nudges", "sniffs on", "rumbles softly at", "nuzzles") response_help = "bumps" @@ -41,7 +41,9 @@ vore_standing_too = 1 /mob/living/simple_mob/vore/scrubble/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "Despite the small size of the scrubble, it seems to have a lot of energy behind it. The critter dives atop you in a panic, its maw quickly engulfing your head as its paws flail scrabble against you, hot slobber slathering across your tightly trapped face. It takes a little repositioning to get itself in the right position, but soon the creature is gulping its way down your entire body. Somehow it manages to squeeze you completely into a gut that should rightly be far too small for anything but a mouse, bundling up your body into a tight ball as the walls around you clench in tightly to keep you nice and compact. The sounds of burbling and glorping echo through the intensely tight space as the stomach lining grinds in thick oozes against your skin, pressure so high that you can barely move a muscle." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm index 6997784527..939ed97965 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -140,12 +140,15 @@ . = ..() /mob/living/simple_mob/shadekin/init_vore() + if(!voremob_loaded) + return if(LAZYLEN(vore_organs)) return var/obj/belly/B = new /obj/belly(src) vore_selected = B B.immutable = 1 + B.affects_vore_sprites = TRUE B.name = vore_stomach_name ? vore_stomach_name : "stomach" B.desc = vore_stomach_flavor ? vore_stomach_flavor : "Your surroundings are warm, soft, and slimy. Makes sense, considering you're inside \the [name]." B.digest_mode = vore_default_mode diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm index ad58c3a43f..6f68198e17 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sheep.dm @@ -56,7 +56,9 @@ return /mob/living/simple_mob/vore/sheep/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "With a final few gulps, the sheep finishes swallowing you down into its hot, dark guts… The wool on the outside is doing you no favors with its insulation. The toasty organic flesh kneads and grinds around you with the stank of wet grass. The sheep seems to have already forgotten about you as it lets out a soft BAAH like belch and carries on doing nothing. " diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm index 03945dae5a..8a06d83877 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -64,7 +64,9 @@ swallowTime = 2 SECONDS // Hungry little bastards. /mob/living/simple_mob/vore/aggressive/giant_snake/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "As the giant snake's closed jaws seal you away from the outside world, you are immediately greeted with a seemingly endless passage of tightly squeezing flesh. Hot and coated in thick, body-clinging slime, the serpent's stomach walls immediately get to work at rhythmically pulsing and contracting against your figure, slowly tugging you deeper into its ravenous clutches." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm index 23d4260cec..290898a120 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/softdog.dm @@ -95,7 +95,9 @@ /mob/living/simple_mob/vore/woof/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You have found yourself pumping on down, down, down into this extremely soft dog. The slick touches of pulsing walls roll over you in greedy fashion as you're swallowed away, the flesh forms to your figure as in an instant the world is replaced by the hot squeeze of canine gullet. And in another moment a heavy GLLRMMPTCH seals you away, the dog tossing its head eagerly, the way forward stretching to accommodate your shape as you are greedily guzzled down. The wrinkled, doughy walls pulse against you in time to the creature's steady heartbeat. The sounds of the outside world muffled into obscure tones as the wet, grumbling rolls of this soft creature's gut hold you, churning you tightly such that no part of you is spared from these gastric affections." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index db9606c346..57cb39e77d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -44,7 +44,7 @@ List of things solar grubs should be able to do: say_list_type = /datum/say_list/solargrub var/poison_per_bite = 5 //grubs cause a shock when they bite someone - var/poison_type = "shockchem" + var/poison_type = REAGENT_ID_SHOCKCHEM var/poison_chance = 50 var/datum/powernet/PN // Our powernet var/obj/structure/cable/attached // the attached cable @@ -143,7 +143,9 @@ List of things solar grubs should be able to do: glow_override = FALSE /mob/living/simple_mob/vore/solargrub/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "Through either grave error, overwhelming willingness, or some other factor, you find yourself lodged halfway past the solargrub's mandibles. While it had initially hissed and chittered in glee at the prospect of a new meal, it is clearly more versed in suckling on power cables; inch by inch, bit by bit, it undulates forth to slowly, noisily gulp you down its short esophagus... and right into its extra-cramped, surprisingly hot stomach. As the rest of you spills out into the plush-walled chamber, the grub's soft body bulges outwards here and there with your compressed figure. Before long, a thick slime oozes out from the surrounding stomach walls; only time will tell how effective it is on something solid like you..." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm index 49cf20946f..f28c646f8f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/sonadile.dm @@ -44,7 +44,9 @@ vore_bump_emote = "pounces on" /mob/living/simple_mob/vore/sonadile/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The creature's huge maw drops down over your body, the long neck preventing it from barely having to shift its torso at all. The jaws quickly travel down you, slathering you in a drool as you're quickly stuffed through the flexible muscle of the throat. In a matter of seconds you are effortlessly lifted from the ground, your entire figure now reduced to a bulge within the neck of the beast, your feet soon vanishing into its mouth with a visceral gulp. The journey down is a long and slow one, the gullet squeezing you steadily along with heavy rippling contractions, the sonadile is quite content that you're heading in the right direction. With every inch, the world around you grows louder with the sound of a heartbeat and the gutteral grumbles of your upcoming destination. Before long you are squeezed down through a tight fleshy valve and deposited in the stomach of the reptile, walls immediately bearing down on you from every direction to ensure that you're tightly confined with little room to move. Hot, humid and slick with all manner of thick and thin liquids, this place isn't treating you any different from whatever else this animal likes to eat." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm index 57aefb7ba6..968b91bcc4 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/stalker.dm @@ -44,7 +44,9 @@ vore_bump_emote = "pounces on" /mob/living/simple_mob/vore/stalker/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The lithe creature spends only minimal time with you pinned beneath it, before it's jaws stretch wide ahead of your face. The slightly blue hued interior squelches tightly over your head as the stalker's teeth prod against you, threatening to become much more of a danger if you put up too much of a fight. However, the process is quick, your body is efficiently squeezed through that tight gullet, contractions dragging you effortlessly towards the creature's gut. The stomach swells and hangs beneath the animal, swaying like a hammock under the newfound weight. The walls wrap incredibly tightly around you, compressing you tightly into a small ball as it grinds caustic juices over you." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm index 1032d3fc1f..67fa43187d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/succubi.dm @@ -56,7 +56,9 @@ emote_see = list("gestures for you to come over","winks","smiles","stretches") /mob/living/simple_mob/vore/succubus/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "You find yourself tightly compressed into the stomach of the succubus, with immense pressure squeezing down on you from every direction. The wrinkled walls of the gut knead over you, like a swelteringly hot, wet massage. You can feel movement from the outside, as though the demoness is running her hands over your form with delight. The world around you groans and gurgles, but the fluids that ooze into this place don't seem harmful, yet. Instead, you feel your very energy being steadily depleted, much to the joy of the woman who's claiming it all for herself." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm index ab7198912c..43d2b86575 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vampire.dm @@ -55,7 +55,9 @@ emote_see = list("wafts about","licks their lips","flaps a bit") /mob/living/simple_mob/vore/vampire/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "Having been rapidly gulped up by the vampire, you find yourself tightly contained with a set of groaning, wrinkled walls. It seems that the beast has decided against draining your lifeforce through you blood, and instead taking a more direct approach as it saps your strength from all around you. Your attacker seems content to just take that essence for now, but it is a gut afterall and struggling may set it off." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm index 1b56a1da37..9c02600b17 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore_hostile.dm @@ -71,7 +71,9 @@ unacidable = TRUE /mob/living/simple_mob/vore/vore_hostile/abyss_lurker/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "interior" B.desc = "It's hot and overwhelmingly tight! The interior of the pale creature groans with the effort of squeezing you. Everything is hot and churning and eager to grind and smother you in thick fluids. The weight of the creature's body pressing in at you makes it hard to move at all, while you are squeezed to the very core of the creature! There seems almost not to even be an organ for this so much as the creature has folded around you, trying to incorporate your matter into its body with vigor!" @@ -189,7 +191,9 @@ var/leap_sound = 'sound/weapons/spiderlunge.ogg' /mob/living/simple_mob/vore/vore_hostile/leaper/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "The flesh of the tall creature's stomach folds over you in doughy waves, squeezing you into the tightest shape it can manage with idle flexes churning down on you. Your limbs often find themselves lost between folds and tugged this way or that, held in a skin tight press that is not painful, but is hard to pull away from. You can see a strange, glittering pink and purple light glimmering through the flesh of the monster all around you, like your very own sea of stars. The walls rush in to fill all the space, squeezing you from head to toe no matter how you might wiggle, the weight of the semi-transparent interior flesh keeping you neatly secured deep inside while wringing the fight out of you." @@ -305,7 +309,9 @@ unacidable = TRUE /mob/living/simple_mob/vore/vore_hostile/gelatinous_cube/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "interior" B.desc = "An incredibly thick oozing slime surrounds you, filling in all the space around your form! It's hard to catch a breath here as the jiggling gel that makes up the body of the creature swiftly fills in the hole you made in its surface by entering. The gel is semi-transparent, and you can see your surroundings though its surface, and similarly you can be seen floating in the gel from the outside. When the cube moves, your whole body is wobbled along with it. There are clouds of still processing material floating all around you as the corrosive substance works on breaking everything down." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm index 29ab5a478a..3687687c93 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolftaur.dm @@ -69,7 +69,9 @@ belly_attack = FALSE /mob/living/simple_mob/vore/wolftaur/init_vore() - ..() + if(!voremob_loaded) + return + . = ..() var/obj/belly/B = vore_selected B.name = "stomach" B.desc = "After a gruelling compressive traversal down through the taur's gullet, you briefly get deposited in an oppressively tight stomach at it's humanoid waist. However, the wolf has little interest in keeping you here, instead treating you as a mere snack, an orifice opens beneath you and you're soon dragged deeper into her depths. Soon you're splashing into an active, waiting caustic slurry, and the world around you drops as though you're trapped in a hammock. The taur's underbelly sags with your weight, and you feel a heavy pat from the woman outside settling in to make the most of her meal." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm index 29dd6002a1..0c51d04894 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/zz_vore_overrides.dm @@ -237,6 +237,8 @@ // Override stuff for holodeck carp to make them not digest when set to safe! /mob/living/simple_mob/animal/space/carp/holographic/init_vore() + if(!voremob_loaded) + return . = ..() var/safe = (faction == FACTION_NEUTRAL) for(var/obj/belly/B as anything in vore_organs) diff --git a/code/modules/mob/mob_helpers_vr.dm b/code/modules/mob/mob_helpers_vr.dm index 0b0b255913..5f1b49bbbf 100644 --- a/code/modules/mob/mob_helpers_vr.dm +++ b/code/modules/mob/mob_helpers_vr.dm @@ -24,7 +24,7 @@ /mob/verb/toggle_stomach_vision() set name = "Toggle Stomach Sprites" - set category = "Preferences" + set category = "Preferences.Vore" set desc = "Toggle the ability to see stomachs or not" var/toggle diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 1b2c1571d7..0b10dc2c2a 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -341,18 +341,29 @@ /mob/proc/SelfMove(turf/n, direct, movetime) return Move(n, direct, movetime) +/client + var/is_leaving_belly = FALSE + ///Process_Incorpmove ///Called by client/Move() ///Allows mobs to run though walls /client/proc/Process_Incorpmove(direct) + if(isbelly(mob.loc) && isobserver(mob)) + if(is_leaving_belly) + return + is_leaving_belly = TRUE + if(tgui_alert(mob, "Do you want to leave your predator's belly?", "Leave belly?", list("Yes", "No")) != "Yes") + is_leaving_belly = FALSE + return + is_leaving_belly = FALSE var/turf/mobloc = get_turf(mob) switch(mob.incorporeal_move) if(1) var/turf/T = get_step(mob, direct) - var/area/A = T.loc //RS Port #658 if(!T) return + var/area/A = T.loc //RS Port #658 if(mob.check_holy(T)) to_chat(mob, span_warning("You cannot get past holy grounds while you are in this plane of existence!")) return @@ -361,10 +372,10 @@ if(isliving(mob) && A.flag_check(AREA_BLOCK_PHASE_SHIFT)) to_chat(mob, span_warning("Something blocks you from entering this location while phased out.")) return - if(isobserver(mob) && A.flag_check(AREA_BLOCK_GHOSTS)) + if(isobserver(mob) && A.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(mob.loc)) to_chat(mob, span_warning("Ghosts can't enter this location.")) var/area/our_area = mobloc.loc - if(our_area.flag_check(AREA_BLOCK_GHOSTS)) + if(our_area.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(mob.loc)) var/mob/observer/dead/D = mob D.return_to_spawn() return diff --git a/code/modules/mob/new_player/news.dm b/code/modules/mob/new_player/news.dm index 6af422e553..6fa6c4f126 100644 --- a/code/modules/mob/new_player/news.dm +++ b/code/modules/mob/new_player/news.dm @@ -55,9 +55,9 @@ else dat += get_news_page(CHANNEL, CHANNEL.messages[current_news_page], current_news_page) if(CHANNEL.messages.len > current_news_page) - dat += "Older Issue" + dat += "Older Issue" if(current_news_page > CHANNEL.messages.len || (CHANNEL.messages.len > 1) && !(current_news_page == 1)) - dat += "Newer Issue " + dat += "Newer Issue " dat += " (Page [current_news_page] out of [CHANNEL.messages.len])" @@ -83,4 +83,4 @@ dat += get_newspaper_content(MESSAGE.title, MESSAGE.body, MESSAGE.author, "#d4cec1", pic_data) - return dat \ No newline at end of file + return dat diff --git a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm index b13390480c..12b38b4901 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm @@ -229,6 +229,37 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY +/datum/sprite_accessory/ears/hopeful_horns + name = "hopeful horns, colorable" + desc = "" + icon_state = "hopefulhorns" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/highrise_horns + name = "high-rise horns, colorable" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "highrisehorns" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/whos_horns + name = "who's horns, colorable" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "whoshorns" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/paintedpoints_horns + name = "painted points horns, colorable" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "paintedpoints" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + /datum/sprite_accessory/ears/foxears name = "highlander zorren ears" desc = "" @@ -910,6 +941,14 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY +/datum/sprite_accessory/ears/antlers_tall + name = "Antlers (tall)" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "antlerstall" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + /datum/sprite_accessory/ears/antlers_large name = "Antlers (large)" desc = "" @@ -953,6 +992,16 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY +/datum/sprite_accessory/ears/bunnytall_alt + name = "Bunny tall, alt, colorable" + desc = "" + icon = 'icons/mob/vore/ears_32x64.dmi' + icon_state = "tallbunny" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "tallbunny-inner" + extra_overlay2 = "tallbunny-tips" + /datum/sprite_accessory/ears/altevian name = "Altevian Ears" desc = "" diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 64fc76ae39..d75ca96c44 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -115,11 +115,10 @@ to_chat(src, span_warning("You gave up on pulling yourself up.")) return 0 - //RS Port #661 Start, Prevents noclipping - else if(!istype(destination, /turf/simulated/open)) + // Explicit check if the destination turf allows full passing + else if(!destination.CanZPass(src, direction)) to_chat(src, span_warning("Something solid above stops you from passing.")) return 0 - //RS Port #661 End else if(isliving(src)) //VOREStation Edit Start. Are they a mob, and are they currently flying?? var/mob/living/H = src @@ -281,10 +280,14 @@ if(!below) return - if(istype(below, /turf/space)) + if(isspace(below)) return var/turf/T = loc + + if(isdiveablewater(T)) + return + if(!T.CanZPass(src, DOWN) || !below.CanZPass(src, DOWN)) return diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm index 31afd8f6c7..524f6926e5 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf.dm @@ -1,20 +1,23 @@ /// Multiz support override for CanZPass -/turf/proc/CanZPass(atom/A, direction) +/turf/proc/CanZPass(atom/A, direction, recursive = FALSE) + if(recursive) + return FALSE if(z == A.z) //moving FROM this turf return direction == UP //can't go below else if(direction == UP) //on a turf below, trying to enter - return 0 + return FALSE if(direction == DOWN) //on a turf above, trying to enter - return !density && isopenspace(GetAbove(src)) // VOREStation Edit + var/turf/above = GetAbove(src) + return !density && above?.CanZPass(A, direction, TRUE) // do not call the function again, only accept overrides that return TRUE for a direction /// Multiz support override for CanZPass /turf/simulated/open/CanZPass(atom, direction) - return 1 + return TRUE /// Multiz support override for CanZPass /turf/space/CanZPass(atom, direction) - return 1 + return TRUE /// WARNING WARNING /// Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS diff --git a/code/modules/news/new_newspaper.dm b/code/modules/news/new_newspaper.dm index 8d27c37421..43bef5f84b 100644 --- a/code/modules/news/new_newspaper.dm +++ b/code/modules/news/new_newspaper.dm @@ -46,7 +46,7 @@ obj/item/newspaper/attack_self(mob/user) dat+="" if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
    " + dat+= "
    " if(1) // X channel pages inbetween. for(var/datum/feed_channel/NP in news_content) pages++ //Let's get it right again. @@ -70,7 +70,7 @@ obj/item/newspaper/attack_self(mob/user) dat+="" if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "

    " + dat+= "

    " if(2) //Last page for(var/datum/feed_channel/NP in news_content) pages++ @@ -88,7 +88,7 @@ obj/item/newspaper/attack_self(mob/user) dat+=span_italics("Apart from some uninteresting Classified ads, there's nothing on this page...") if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
    " + dat+= "
    " else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" diff --git a/code/modules/news/newspaper.dm b/code/modules/news/newspaper.dm index 09bc87b2ea..b46b8deadf 100644 --- a/code/modules/news/newspaper.dm +++ b/code/modules/news/newspaper.dm @@ -46,7 +46,7 @@ dat+="" if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
    " + dat+= "
    " if(1) // X channel pages inbetween. for(var/datum/feed_channel/NP in news_content) pages++ //Let's get it right again. @@ -71,7 +71,7 @@ dat+="" if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "

    " + dat+= "

    " if(2) //Last page for(var/datum/feed_channel/NP in news_content) pages++ @@ -89,7 +89,7 @@ dat+=span_italics("Apart from some uninteresting Classified ads, there's nothing on this page...") if(scribble_page==curr_page) dat+="
    There is a small scribble near the end of this page... It reads: \"[scribble]\"" - dat+= "
    " + dat+= "
    " else dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com" diff --git a/code/modules/nifsoft/software/05_health.dm b/code/modules/nifsoft/software/05_health.dm index 10bb3b0db7..1d0e6410eb 100644 --- a/code/modules/nifsoft/software/05_health.dm +++ b/code/modules/nifsoft/software/05_health.dm @@ -123,7 +123,7 @@ else if(mode == 1) mode = 2 nif.notify("Medichines unable to repair all damage. Perform manual repairs.",TRUE) - + if(mode == 2 && HP_percent < -0.4) //lets inform someone who might be able to help us that we got toasted and roasted nif.notify("User Status: CRITICAL. Notifying medical!",TRUE) mode = 3 //this does nothing except stop it from repeating over and over and over and over and over and over and over @@ -186,7 +186,7 @@ /datum/nifsoft/spare_breath/proc/resp_breath() if(!active) return null var/datum/gas_mixture/breath = new(BREATH_VOLUME) - breath.adjust_gas("oxygen", BREATH_MOLES) + breath.adjust_gas(GAS_O2, BREATH_MOLES) breath.temperature = T20C return breath diff --git a/code/modules/nifsoft/software/10_combat.dm b/code/modules/nifsoft/software/10_combat.dm index 9ce840b612..dd0bc6f50f 100644 --- a/code/modules/nifsoft/software/10_combat.dm +++ b/code/modules/nifsoft/software/10_combat.dm @@ -35,7 +35,7 @@ /datum/nifsoft/painkillers/life() if((. = ..())) var/mob/living/carbon/human/H = nif.human - H.bloodstr.add_reagent("numbenzyme",0.5) + H.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,0.5) /datum/nifsoft/hardclaws name = "Bloodletters" diff --git a/code/modules/nifsoft/software/14_commlink.dm b/code/modules/nifsoft/software/14_commlink.dm index 1406143227..f9d4ed8e47 100644 --- a/code/modules/nifsoft/software/14_commlink.dm +++ b/code/modules/nifsoft/software/14_commlink.dm @@ -106,7 +106,7 @@ voice_requests |= candidate if(ringer && nif.human) - nif.notify("New commlink call from [who]. (Open)") + nif.notify("New commlink call from [who]. (Open)") //Similar reason /obj/item/communicator/commlink/request_im(var/atom/candidate, var/origin_address, var/text) @@ -128,4 +128,4 @@ return if(ringer && nif.human) - nif.notify("Commlink message from [who]: \"[text]\" (Open) (Reply)") + nif.notify("Commlink message from [who]: \"[text]\" (Open) (Reply)") diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 3364d33068..ac28193cc9 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -35,17 +35,17 @@ var/const/CE_STABLE_THRESHOLD = 0.5 return if(!amt) - vessel.add_reagent("blood",species.blood_volume) + vessel.add_reagent(REAGENT_ID_BLOOD,species.blood_volume) else - vessel.add_reagent("blood", clamp(amt, 1, species.blood_volume)) + vessel.add_reagent(REAGENT_ID_BLOOD, clamp(amt, 1, species.blood_volume)) //Resets blood data /mob/living/carbon/human/proc/fixblood() for(var/datum/reagent/blood/B in vessel.reagent_list) - if(B.id == "blood") + if(B.id == REAGENT_ID_BLOOD) B.data = list( "donor"=src,"viruses"=null,"species"=species.name,"blood_DNA"=dna.unique_enzymes,"blood_colour"= species.get_blood_colour(src),"blood_type"=dna.b_type, \ - "resistances"=null,"trace_chem"=null, "virus2" = null, "antibodies" = list(), "blood_name" = species.get_blood_name(src)) + "resistances"=null,"trace_chem"=null, "virus2" = null, REAGENT_ID_ANTIBODIES = list(), "blood_name" = species.get_blood_name(src)) if(isSynthetic()) B.data["species"] = "synthetic" @@ -63,7 +63,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(stat != DEAD && bodytemperature >= 170) //Dead or cryosleep people do not pump the blood. - var/blood_volume_raw = vessel.get_reagent_amount("blood") + var/blood_volume_raw = vessel.get_reagent_amount(REAGENT_ID_BLOOD) var/blood_volume = round((blood_volume_raw/species.blood_volume)*100) // Percentage. //Blood regeneration if there is some space @@ -222,14 +222,14 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(!amt) return 0 - var/current_blood = vessel.get_reagent_amount("blood") + var/current_blood = vessel.get_reagent_amount(REAGENT_ID_BLOOD) if(current_blood < BLOOD_MINIMUM_STOP_PROCESS) return 0 //We stop processing under 3 units of blood because apparently weird shit can make it overflowrandomly. if(amt > current_blood) amt = current_blood - 2 // Bit of a safety net; it's impossible to add blood if there's not blood already in the vessel. - return vessel.remove_reagent("blood",amt) + return vessel.remove_reagent(REAGENT_ID_BLOOD,amt) /**************************************************** BLOOD TRANSFERS @@ -281,7 +281,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(!should_have_organ(O_HEART)) return null - if(vessel.get_reagent_amount("blood") < max(amount, BLOOD_MINIMUM_STOP_PROCESS)) + if(vessel.get_reagent_amount(REAGENT_ID_BLOOD) < max(amount, BLOOD_MINIMUM_STOP_PROCESS)) return null . = ..() @@ -299,8 +299,8 @@ var/const/CE_STABLE_THRESHOLD = 0.5 ContractDisease(D) if (injected.data["resistances"] && prob(5)) antibodies |= injected.data["resistances"] - if (injected.data["antibodies"] && prob(5)) - antibodies |= injected.data["antibodies"] + if (injected.data[REAGENT_ID_ANTIBODIES] && prob(5)) + antibodies |= injected.data[REAGENT_ID_ANTIBODIES] var/list/chems = list() chems = params2list(injected.data["trace_chem"]) for(var/C in chems) @@ -311,7 +311,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 /mob/living/carbon/human/inject_blood(var/datum/reagent/blood/injected, var/amount) if(!should_have_organ(O_HEART)) - reagents.add_reagent("blood", amount, injected.data) + reagents.add_reagent(REAGENT_ID_BLOOD, amount, injected.data) reagents.update_total() return @@ -329,7 +329,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5 log_debug("Failed to re-initialize blood datums on [src]!") return if(vessel.total_volume < species.blood_volume) - vessel.add_reagent("blood", species.blood_volume - vessel.total_volume) + vessel.add_reagent(REAGENT_ID_BLOOD, species.blood_volume - vessel.total_volume) else if(vessel.total_volume > species.blood_volume) vessel.maximum_volume = species.blood_volume fixblood() @@ -340,10 +340,10 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(blood_incompatible(injected.data["blood_type"],our.data["blood_type"],injected.data["species"],our.data["species"]) ) - reagents.add_reagent("toxin",amount * 0.5) + reagents.add_reagent(REAGENT_ID_TOXIN,amount * 0.5) reagents.update_total() else - vessel.add_reagent("blood", amount, injected.data) + vessel.add_reagent(REAGENT_ID_BLOOD, amount, injected.data) vessel.update_total() ..() diff --git a/code/modules/organs/internal/appendix.dm b/code/modules/organs/internal/appendix.dm index 456f8f157c..36c380a57c 100644 --- a/code/modules/organs/internal/appendix.dm +++ b/code/modules/organs/internal/appendix.dm @@ -7,10 +7,8 @@ var/inflame_progress = 0 /mob/living/carbon/human/proc/appendicitis() - if(stat == DEAD) - return 0 - ForceContractDisease(new /datum/disease/appendicitis) - return 0 + return ForceContractDisease(new /datum/disease/appendicitis) + /* /obj/item/organ/internal/appendix/process() ..() diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index b044c91043..539f4cb93f 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -284,7 +284,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain) name = "Promethean Revival" id = "prom_revival" result = null - required_reagents = list("phoron" = 40) + required_reagents = list(REAGENT_ID_PHORON = 40) result_amount = 1 /decl/chemical_reaction/instant/promethean_brain_revival/can_happen(var/datum/reagents/holder) diff --git a/code/modules/organs/internal/liver.dm b/code/modules/organs/internal/liver.dm index b26c864609..75e3f8dec6 100644 --- a/code/modules/organs/internal/liver.dm +++ b/code/modules/organs/internal/liver.dm @@ -11,7 +11,7 @@ if(owner.life_tick % PROCESS_ACCURACY == 0) //High toxins levels are dangerous - if(owner.getToxLoss() >= 50 && !owner.reagents.has_reagent("anti_toxin")) + if(owner.getToxLoss() >= 50 && !owner.reagents.has_reagent(REAGENT_ID_ANTITOXIN)) //Healthy liver suffers on its own if (src.damage < min_broken_damage) src.damage += 0.2 * PROCESS_ACCURACY @@ -22,7 +22,7 @@ O.damage += 0.2 * PROCESS_ACCURACY //Detox can heal small amounts of damage - if (src.damage && src.damage < src.min_bruised_damage && owner.reagents.has_reagent("anti_toxin")) + if (src.damage && src.damage < src.min_bruised_damage && owner.reagents.has_reagent(REAGENT_ID_ANTITOXIN)) src.damage -= 0.2 * PROCESS_ACCURACY if(src.damage < 0) diff --git a/code/modules/organs/internal/spleen.dm b/code/modules/organs/internal/spleen.dm index db2942926b..86299edfc8 100644 --- a/code/modules/organs/internal/spleen.dm +++ b/code/modules/organs/internal/spleen.dm @@ -15,7 +15,7 @@ if(owner.life_tick % spleen_tick == 0) //High toxins levels are dangerous - if(owner.getToxLoss() >= 30 && !owner.reagents.has_reagent("anti_toxin")) + if(owner.getToxLoss() >= 30 && !owner.reagents.has_reagent(REAGENT_ID_ANTITOXIN)) //Healthy liver suffers on its own if (src.damage < min_broken_damage) src.damage += 0.2 * spleen_tick @@ -34,7 +34,7 @@ B.adjust_germ_level(round(rand(-3 * spleen_efficiency, -10 * spleen_efficiency))) //Detox can heal small amounts of damage - if (src.damage && src.damage < src.min_bruised_damage && owner.reagents.has_reagent("anti_toxin")) + if (src.damage && src.damage < src.min_bruised_damage && owner.reagents.has_reagent(REAGENT_ID_ANTITOXIN)) src.damage -= 0.2 * spleen_tick * spleen_efficiency if(src.damage < 0) diff --git a/code/modules/organs/internal/stomach.dm b/code/modules/organs/internal/stomach.dm index 38fe8a3863..6dc7e6d506 100644 --- a/code/modules/organs/internal/stomach.dm +++ b/code/modules/organs/internal/stomach.dm @@ -6,7 +6,7 @@ unacidable = TRUE // Don't melt when holding your acid, dangit. - var/acidtype = "stomacid" // Incase you want some stomach organ with, say, polyacid instead, or sulphuric. + var/acidtype = REAGENT_ID_STOMACID // Incase you want some stomach organ with, say, polyacid instead, or sulphuric. var/max_acid_volume = 30 var/deadly_hold = TRUE // Does the stomach do damage to mobs eaten by its owner? Xenos should probably have this FALSE. @@ -47,7 +47,7 @@ /obj/item/organ/internal/stomach/xeno color = "#555555" - acidtype = "pacid" + acidtype = REAGENT_ID_PACID /obj/item/organ/internal/stomach/machine name = "reagent cycler" @@ -56,7 +56,7 @@ robotic = ORGAN_ROBOT - acidtype = "sacid" + acidtype = REAGENT_ID_SACID organ_verbs = list(/mob/living/carbon/human/proc/reagent_purge) //VOREStation Add diff --git a/code/modules/organs/misc.dm b/code/modules/organs/misc.dm index 30515e746b..c6d9f32682 100644 --- a/code/modules/organs/misc.dm +++ b/code/modules/organs/misc.dm @@ -11,7 +11,7 @@ /obj/item/organ/internal/borer/process() // Borer husks regenerate health, feel no pain, and are resistant to stuns and brainloss. - for(var/chem in list("tricordrazine","tramadol","hyperzine","alkysine")) + for(var/chem in list(REAGENT_ID_TRICORDRAZINE,REAGENT_ID_TRAMADOL,REAGENT_ID_HYPERZINE,REAGENT_ID_ALKYSINE)) if(owner.reagents.get_reagent_amount(chem) < 3) owner.reagents.add_reagent(chem, 5) @@ -59,4 +59,4 @@ /obj/item/organ/internal/stack/vox/stack name = "vox cortical stack" - icon_state = "cortical_stack" \ No newline at end of file + icon_state = "cortical_stack" diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 37f7d08b90..1f20130e83 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -177,7 +177,7 @@ var/list/organ_cache = list() if(!owner && reagents) var/datum/reagent/blood/B = locate(/datum/reagent/blood) in reagents.reagent_list if(B && prob(40) && !isbelly(loc)) //VOREStation Edit - reagents.remove_reagent("blood",0.1) + reagents.remove_reagent(REAGENT_ID_BLOOD,0.1) blood_splatter(src,B,1) if(CONFIG_GET(flag/organs_decay) && decays) damage += rand(1,3) if(damage >= max_damage) @@ -275,7 +275,7 @@ var/list/organ_cache = list() adjust_germ_level(rand(2,3)) if(501 to INFINITY) adjust_germ_level(rand(3,5)) - owner.reagents.add_reagent("toxin", rand(1,2)) + owner.reagents.add_reagent(REAGENT_ID_TOXIN, rand(1,2)) /obj/item/organ/proc/receive_chem(chemical as obj) return 0 diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index dd8279f67f..c5042c89b7 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -3,9 +3,15 @@ ****************************************************/ //These control the damage thresholds for the various ways of removing limbs -#define DROPLIMB_THRESHOLD_EDGE 5 -#define DROPLIMB_THRESHOLD_TEAROFF 2 -#define DROPLIMB_THRESHOLD_DESTROY 1 +/// +/// Arms and legs have 80 damage, which is a good baseline to go off of. +/// The droplimb_threshold is "Divide the limb's max health by this number" +/// That is the damage required (in ONE hit) to tear off or destroy a limb. +/// If the damage dealt per hit is below that, it can NOT remove limbs. +/// +#define DROPLIMB_THRESHOLD_EDGE 8 //For limb of 80(arm/leg) requires 10 or more damage to cut off. +#define DROPLIMB_THRESHOLD_TEAROFF 3 //Requires 26.66 or more damage to cut off an arm/leg with a blunt object. Lower than the +#define DROPLIMB_THRESHOLD_DESTROY 3.34 //Requires 24 damage or more to DESTROY a arm/leg with a blunt object. Blunt is going to DESTROY over just knocking something off! /obj/item/organ/external name = "external" @@ -359,13 +365,24 @@ //If limb took enough damage, try to cut or tear it off if(owner && loc == owner && !is_stump()) - if(!cannot_amputate && CONFIG_GET(flag/limbs_can_break) && (brute_dam + burn_dam) >= (max_damage * CONFIG_GET(number/organ_health_multiplier))) + /// + /// This determines if the limb is ELIGIBLE to be chopped off or not. + /// It checks if it's amputatable, if the config setting is set, then continues down the proc. + /// + if(!cannot_amputate && CONFIG_GET(flag/limbs_can_break)) //organs can come off in three cases //1. If the damage source is edge_eligible and the brute damage dealt exceeds the edge threshold, then the organ is cut off. //2. If the damage amount dealt exceeds the disintegrate threshold, the organ is completely obliterated. //3. If the organ has already reached or would be put over it's max damage amount (currently redundant), // and the brute damage dealt exceeds the tearoff threshold, the organ is torn off. + // Let's calculate how INJURED our limb is. Determines the chance the next attack will take our limb off! + var/damage_factor = ((max_damage*CONFIG_GET(number/organ_health_multiplier))/(brute_dam + burn_dam))*100 + // Max_damage of 80 and brute_dam of 80? Factor = 100 + // Max_damage of 80 and brute_dam of 40? Factor = 50 + // Max_damage of 80 and brute_dam of 5? Factor = 5 + // This lowers our chances of having our limb removed when it has less damage. The more damaged the limb, the higher the chance it falls off! + //Check edge eligibility var/edge_eligible = 0 if(edge) @@ -376,22 +393,39 @@ else edge_eligible = 1 - //VOREStation Add if(nonsolid && damage >= max_damage) droplimb(TRUE, DROPLIMB_EDGE) else if (robotic >= ORGAN_NANOFORM && damage >= max_damage) droplimb(TRUE, DROPLIMB_BURN) - //VOREStation Add End - //VOREStation Edit - We have special droplimb handling for prom/proteans - else if(edge_eligible && brute >= max_damage / DROPLIMB_THRESHOLD_EDGE && prob(brute)) + + //Math: + //Edge w/ 10 damage on an 80 hp limb. First hit: Prob(10) && Prob(12.5) = 1.25% Second hit: Prob(10) && Prob(25) = 2.5, etc up to 10. + //Edge w/ 20 damage on an 80 hp limb. First hit: Prob(20) && Prob(25)= 5% Second hit: Prob(20) && Prob(50)=10%, etc up to max 20. + else if(edge_eligible && brute >= max_damage / DROPLIMB_THRESHOLD_EDGE && prob(brute) && prob(damage_factor)) droplimb(0, DROPLIMB_EDGE) - else if((burn >= max_damage / DROPLIMB_THRESHOLD_DESTROY) && prob(burn*0.33)) + + //Math: + //Burn w/ 25dmg on an 80 hp limb. First hit: Prob(18.75) && Prob(31.25) = ~6% Second Hit: Prob(18.75) && Prob (62.5) =~12, etc up to 18.75 + //Burn w/ 25dmg on a 50 hp limb. First hit: Prob(18.75) && Prob(50) = ~9% Second hit: 18.75% + else if((burn >= max_damage / DROPLIMB_THRESHOLD_DESTROY) && prob(burn*0.75) && prob(damage_factor)) droplimb(0, DROPLIMB_BURN) - else if((brute >= max_damage / DROPLIMB_THRESHOLD_DESTROY && prob(brute))) + + //Brute it special. It gets both a chance to destroy AND a chance to knock a limb off! + //Math: + //Brute w/ 25dmg on an 80 hp limb. First hit: Prob(25) && Prob (31.25) = ~8% Second Hit: ~16% etc up to 25% + //Brute w/ 25dmg on a 50 hp limb. First hit: Prob(25) && Prob (50) = 12.5 Second hit: 25% + else if((brute >= max_damage / DROPLIMB_THRESHOLD_DESTROY && prob(brute)) && prob(damage_factor)) droplimb(0, DROPLIMB_BLUNT) - //VOREStation Edit End - else if(brute >= max_damage / DROPLIMB_THRESHOLD_TEAROFF && prob(brute*0.33)) + + //This is where brute gets it SECOND chance to affect the limb! Much lower probability. + //This means you can add this to the above to get brute damage's TRUE drop chance IF the damage is high enough to hit BOTH the DROPLIMB_THRESHOLD_DESTROY & the DROPLIMB_THRESHOLD_TEAROFF + //Ex: If it hits + //Math: + //Brute w/ 25dmg on an 80 hp limb. First hit: Prob(8.25) && Prob(31.25) = ~2.6% Second Hit: Prob(8.25) && Prob(62.5) = 5%. (This can't ACTUALLY happen with 25 damage with the current numbers, but it's an example to keep it similar to the above.) + //Brute w/ 25dmg on a 50 hp limb. First hit: Prob(8.25) && Prob (50) = ~4% Second hit: 8.25% + else if(brute >= max_damage / DROPLIMB_THRESHOLD_TEAROFF && prob(brute*0.33) && prob(damage_factor)) droplimb(0, DROPLIMB_EDGE) + else if(spread_dam && owner && parent && (brute_overflow || burn_overflow) && (brute_overflow >= 5 || burn_overflow >= 5) && !permutation) //No infinite damage loops. var/brute_third = brute_overflow * 0.33 var/burn_third = burn_overflow * 0.33 @@ -757,9 +791,9 @@ Note that amputating the affected organ does in fact remove the infection from t // Internal wounds get worse over time. Low temperatures (cryo) stop them. if(W.internal && owner.bodytemperature >= 170) - var/bicardose = owner.reagents.get_reagent_amount("bicaridine") - var/inaprovaline = owner.reagents.get_reagent_amount("inaprovaline") - var/myeldose = owner.reagents.get_reagent_amount("myelamine") + var/bicardose = owner.reagents.get_reagent_amount(REAGENT_ID_BICARIDINE) + var/inaprovaline = owner.reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE) + var/myeldose = owner.reagents.get_reagent_amount(REAGENT_ID_MYELAMINE) if(!(W.can_autoheal() || (bicardose && inaprovaline) || myeldose)) //bicaridine and inaprovaline stop internal wounds from growing bigger with time, unless it is so small that it is already healing W.open_wound(0.1 * wound_update_accuracy) diff --git a/code/modules/organs/subtypes/diona.dm b/code/modules/organs/subtypes/diona.dm index 3d320e3742..7534e1e4a2 100644 --- a/code/modules/organs/subtypes/diona.dm +++ b/code/modules/organs/subtypes/diona.dm @@ -3,7 +3,7 @@ return 0 //This is a terrible hack and I should be ashamed. - var/datum/seed/diona = SSplants.seeds["diona"] + var/datum/seed/diona = SSplants.seeds[PLANT_DIONA] if(!diona) return 0 diff --git a/code/modules/organs/subtypes/replicant.dm b/code/modules/organs/subtypes/replicant.dm index 2aaa4c6fd2..5a5464204f 100644 --- a/code/modules/organs/subtypes/replicant.dm +++ b/code/modules/organs/subtypes/replicant.dm @@ -59,10 +59,10 @@ var/modifier = 1 - 0.5 * is_bruised() - if(owner.bloodstr.has_reagent("phoron")) + if(owner.bloodstr.has_reagent(REAGENT_ID_PHORON)) adjust_plasma(round(4 * modifier)) - if(owner.ingested.has_reagent("phoron")) + if(owner.ingested.has_reagent(REAGENT_ID_PHORON)) adjust_plasma(round(2 * modifier)) adjust_plasma(2) //Make it a decent amount so people can actually build stuff without stealing all of medbays phoron diff --git a/code/modules/organs/subtypes/xenos.dm b/code/modules/organs/subtypes/xenos.dm index 1c4cfa6907..632dedc83f 100644 --- a/code/modules/organs/subtypes/xenos.dm +++ b/code/modules/organs/subtypes/xenos.dm @@ -39,10 +39,10 @@ var/modifier = 1 - 0.5 * is_bruised() - if(owner.bloodstr.has_reagent("phoron")) + if(owner.bloodstr.has_reagent(REAGENT_ID_PHORON)) adjust_plasma(round(4 * modifier)) - if(owner.ingested.has_reagent("phoron")) + if(owner.ingested.has_reagent(REAGENT_ID_PHORON)) adjust_plasma(round(2 * modifier)) adjust_plasma(1) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 2b63f95b9a..fe63e64015 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -34,7 +34,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /obj/machinery/computer/ship/proc/display_reconnect_dialog(var/mob/user, var/flavor) var/datum/browser/popup = new (user, "[src]", "[src]") - popup.set_content("
    Error
    Unable to connect to [flavor].
    Reconnect
    ") + popup.set_content("
    Error
    Unable to connect to [flavor].
    Reconnect
    ") popup.open() /obj/machinery/computer/ship/Topic(href, href_list) diff --git a/code/modules/paperwork/adminpaper.dm b/code/modules/paperwork/adminpaper.dm index aa944abb87..175dfba2a0 100644 --- a/code/modules/paperwork/adminpaper.dm +++ b/code/modules/paperwork/adminpaper.dm @@ -27,13 +27,13 @@ //Snapshot is crazy and likes putting each topic hyperlink on a seperate line from any other tags so it's nice and clean. interactions += "
    The fax will transmit everything above this line
    " - interactions += "Send fax " - interactions += "Pen mode: [isCrayon ? "Crayon" : "Pen"] " - interactions += "Cancel fax " + interactions += "Send fax " + interactions += "Pen mode: [isCrayon ? "Crayon" : "Pen"] " + interactions += "Cancel fax " interactions += "
    " - interactions += "Toggle Header " - interactions += "Toggle Footer " - interactions += "Clear page " + interactions += "Toggle Header " + interactions += "Toggle Footer " + interactions += "Clear page " interactions += "
    " /obj/item/paper/admin/proc/generateHeader() diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index f0d3e61bbc..68b22b2927 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -69,21 +69,21 @@ /obj/item/clipboard/attack_self(mob/user as mob) var/dat = "Clipboard" if(haspen) - dat += "Remove Pen

    " + dat += "Remove Pen

    " else - dat += "Add Pen

    " + dat += "Add Pen

    " //The topmost paper. I don't think there's any way to organise contents in byond, so this is what we're stuck with. -Pete if(toppaper) var/obj/item/paper/P = toppaper - dat += "Write Remove Rename - [P.name]

    " + dat += "Write Remove Rename - [P.name]

    " for(var/obj/item/paper/P in src) if(P==toppaper) continue - dat += "Remove Rename - [P.name]
    " + dat += "Remove Rename - [P.name]
    " for(var/obj/item/photo/Ph in src) - dat += "Remove Rename - [Ph.name]
    " + dat += "Remove Rename - [Ph.name]
    " user << browse(dat, "window=clipboard") onclose(user, "clipboard") diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 2a0840d36f..d5a9ab0fae 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -415,9 +415,9 @@ Extracted to its own procedure for easier logic handling with paper bundles. /obj/machinery/photocopier/faxmachine/proc/message_admins(var/mob/sender, var/faxname, var/obj/item/sent, var/reply_type, font_colour="#006100") var/msg = "[faxname]: [get_options_bar(sender, 2,1,1)]" - msg += "(REPLY)" + msg += "(REPLY)" msg = span_bold(msg) + ": " - msg += "Receiving '[sent.name]' via secure connection ... view message" + msg += "Receiving '[sent.name]' via secure connection ... view message" msg = span_notice(msg) for(var/client/C in GLOB.admins) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index ca48d76060..166a9f6575 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -85,11 +85,11 @@ var/dat = "[name]" for(var/obj/item/paper/P in src) - dat += "Remove Rename - [P.name]
    " + dat += "Remove Rename - [P.name]
    " for(var/obj/item/photo/Ph in src) - dat += "Remove Rename - [Ph.name]
    " + dat += "Remove Rename - [Ph.name]
    " for(var/obj/item/paper_bundle/Pb in src) - dat += "Remove Rename - [Pb.name]
    " + dat += "Remove Rename - [Pb.name]
    " user << browse(dat, "window=folder") onclose(user, "folder") add_fingerprint(user) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 92a6fac757..94af922d82 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -314,8 +314,8 @@ info_links = info var/i = 0 for(i=1,i<=fields,i++) - addtofield(i, "write", 1) - info_links = info_links + "write" + addtofield(i, "write", 1) + info_links = info_links + "write" /obj/item/paper/proc/clearpaper() diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 1bd9983553..470e7a9317 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -109,19 +109,19 @@ // first if(page == 1) - dat+= "" - dat+= "" - dat+= "

    " + dat+= "" + dat+= "" + dat+= "

    " // last else if(page == pages.len) - dat+= "" - dat+= "" - dat+= "

    " + dat+= "" + dat+= "" + dat+= "

    " // middle pages else - dat+= "" - dat+= "" - dat+= "

    " + dat+= "" + dat+= "" + dat+= "

    " if(istype(pages[page], /obj/item/paper)) var/obj/item/paper/P = W diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 16c0b697e0..07ac7665f4 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -249,8 +249,8 @@ /obj/item/pen/reagent/sleepy/New() ..() - reagents.add_reagent("chloralhydrate", 1) //VOREStation Edit - reagents.add_reagent("stoxin", 14) //VOREStation Add + reagents.add_reagent(REAGENT_ID_CHLORALHYDRATE, 1) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_STOXIN, 14) //VOREStation Add /* @@ -261,8 +261,8 @@ /obj/item/pen/reagent/paralysis/New() ..() - reagents.add_reagent("zombiepowder", 5) - reagents.add_reagent("cryptobiolin", 10) + reagents.add_reagent(REAGENT_ID_ZOMBIEPOWDER, 5) + reagents.add_reagent(REAGENT_ID_CRYPTOBIOLIN, 10) /* * Chameleon Pen diff --git a/code/modules/pda/core_apps.dm b/code/modules/pda/core_apps.dm index adde826178..9c45b8c929 100644 --- a/code/modules/pda/core_apps.dm +++ b/code/modules/pda/core_apps.dm @@ -229,10 +229,10 @@ var/pressure = environment.return_pressure() var/total_moles = environment.total_moles if (total_moles) - var/o2_level = environment.gas["oxygen"]/total_moles - var/n2_level = environment.gas["nitrogen"]/total_moles - var/co2_level = environment.gas["carbon_dioxide"]/total_moles - var/phoron_level = environment.gas["phoron"]/total_moles + var/o2_level = environment.gas[GAS_O2]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) // entry is what the element is describing diff --git a/code/modules/pda/messenger.dm b/code/modules/pda/messenger.dm index b9d84fbe28..4a5e1bcdd5 100644 --- a/code/modules/pda/messenger.dm +++ b/code/modules/pda/messenger.dm @@ -223,7 +223,7 @@ var/owner = data["owner"] var/job = data["job"] var/message = data["message"] - notify(span_bold("Message from [owner] ([job]), ") + "\"[message]\" (Reply)") + notify(span_bold("Message from [owner] ([job]), ") + "\"[message]\" (Reply)") /datum/data/pda/app/messenger/multicast /datum/data/pda/app/messenger/multicast/receive_message(list/data, ref) diff --git a/code/modules/power/antimatter/computer.dm b/code/modules/power/antimatter/computer.dm index 7fdb123641..ce2936ad74 100644 --- a/code/modules/power/antimatter/computer.dm +++ b/code/modules/power/antimatter/computer.dm @@ -70,11 +70,11 @@ switch(src.state) if(STATE_DEFAULT) if (src.authenticated) - dat += "
    \[ Log Out \]
    " - dat += "
    \[ Engine Menu \]" - dat += "
    \[ Injector Menu \]" + dat += "
    \[ Log Out \]
    " + dat += "
    \[ Engine Menu \]" + dat += "
    \[ Injector Menu \]" else - dat += "
    \[ Log In \]" + dat += "
    \[ Log In \]" if(STATE_INJECTOR) if(src.connected_I.injecting) dat += "
    \[ Injecting \]
    " @@ -84,12 +84,12 @@ if(src.connected_E.stopping) dat += "
    \[ STOPPING \]" else if(src.connected_E.operating && !src.connected_E.stopping) - dat += "
    \[ Emergency Stop \]" + dat += "
    \[ Emergency Stop \]" else - dat += "
    \[ Activate Engine \]" + dat += "
    \[ Activate Engine \]" dat += "
    Contents:
    [src.connected_E.H_fuel]kg of Hydrogen
    [src.connected_E.antiH_fuel]kg of Anti-Hydrogen
    " - dat += "
    \[ [(src.state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" + dat += "
    \[ [(src.state != STATE_DEFAULT) ? "Main Menu | " : ""]Close \]" user << browse(dat, "window=communications;size=400x500") onclose(user, "communications") diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 34f20cdd8d..ca1409571b 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -261,28 +261,28 @@ var/dat = "" dat += "AntiMatter Control Panel
    " - dat += "Close
    " - dat += "Refresh
    " - dat += "Force Shielding Update

    " + dat += "Close
    " + dat += "Refresh
    " + dat += "Force Shielding Update

    " dat += "Status: [(active?"Injecting":"Standby")]
    " - dat += "Toggle Status
    " + dat += "Toggle Status
    " dat += "Instability: [stability]%
    " dat += "Reactor parts: [linked_shielding.len]
    "//TODO: perhaps add some sort of stability check dat += "Cores: [linked_cores.len]

    " dat += "-Current Efficiency: [reported_core_efficiency]
    " - dat += "-Average Stability: [stored_core_stability] (update)
    " + dat += "-Average Stability: [stored_core_stability] (update)
    " dat += "Last Produced: [stored_power]
    " dat += "Fuel: " if(!fueljar) dat += "
    No fuel receptacle detected." else - dat += "Eject
    " + dat += "Eject
    " dat += "- [fueljar.fuel]/[fueljar.fuel_max] Units
    " dat += "- Injecting: [fuel_injection] units
    " - dat += "- --|++

    " + dat += "- --|++

    " user << browse(dat, "window=AMcontrol;size=420x500") diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm index b602ac1e49..40c51d1fa1 100644 --- a/code/modules/power/antimatter/fuel.dm +++ b/code/modules/power/antimatter/fuel.dm @@ -89,7 +89,7 @@ O.item = src O.s_loc = user.loc O.t_loc = M.loc - O.place = "fuel" + O.place = REAGENT_ID_FUEL M.requests += O spawn( 0 ) O.process() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 16199e4b8c..a3d04e5bed 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -684,7 +684,6 @@ GLOBAL_LIST_EMPTY(apcs) to_chat(user, span_notice("The [name] looks too sturdy to bash open with \the [W.name].")) // attack with hand - remove cell (if cover open) or interact with the APC - /obj/machinery/power/apc/proc/togglelock(mob/user) if(emagged) to_chat(user, "The panel is unresponsive.") diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 5379ab7f42..cdab67762a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -160,7 +160,7 @@ to_chat(user, "You inject the solution into the power cell.") - if(S.reagents.has_reagent("phoron", 5)) + if(S.reagents.has_reagent(REAGENT_ID_PHORON, 5)) rigged = 1 diff --git a/code/modules/power/fusion/core/core_control.dm b/code/modules/power/fusion/core/core_control.dm index 2965228b3a..d146dfa5c5 100644 --- a/code/modules/power/fusion/core/core_control.dm +++ b/code/modules/power/fusion/core/core_control.dm @@ -27,8 +27,6 @@ var/new_ident = sanitize_text(tgui_input_text(usr, "Enter a new ident tag.", "Core Control", monitor.core_tag)) if(new_ident && user.Adjacent(src)) monitor.core_tag = new_ident -// id_tag = new_ident -// cur_viewed_device = null return /obj/machinery/computer/fusion_core_control/attack_ai(mob/user) @@ -41,179 +39,6 @@ monitor.tgui_interact(user) -/* -/obj/machinery/computer/fusion_core_control/attack_hand(mob/user) - add_fingerprint(user) - interact(user) - -/obj/machinery/computer/fusion_core_control/interact(mob/user) - - if(stat & (BROKEN|NOPOWER)) - user.unset_machine() - user << browse(null, "window=fusion_control") - return - - if(!cur_viewed_device || !check_core_status(cur_viewed_device)) - cur_viewed_device = null - - if(!id_tag) - to_chat(user, span_warning("This console has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool.")) - return - - if(cur_viewed_device && (cur_viewed_device.id_tag != id_tag || get_dist(src, cur_viewed_device) > scan_range)) - cur_viewed_device = null - - var/dat = span_bold("Core Control #[id_tag]") + "
    " - - if(cur_viewed_device) - dat += {" - Back to overview
    - Device ident '[cur_viewed_device.id_tag]' [cur_viewed_device.owned_field ? span_green("Active") : span_red("Inactive")].
    - Power status: [cur_viewed_device.avail()]/[cur_viewed_device.active_power_usage] W
    -
    - Field Status: [cur_viewed_device.owned_field ? span_green("Online") : span_red("Offline")].
    - Reactant Dump: [cur_viewed_device.reactant_dump ? span_gren("Active") : span_red("Inactive")].
    -
    - Field power density (W.m-3):
    - ---- - --- - -- - - - [cur_viewed_device.field_strength] - + - ++ - +++ - ++++
    - "} - - if(cur_viewed_device.owned_field) - dat += {" - Approximate field diameter (m): [cur_viewed_device.owned_field.size]
    - Field instability: [cur_viewed_device.owned_field.percent_unstable * 100]%
    - Plasma temperature: [cur_viewed_device.owned_field.plasma_temperature + 295]K
    - Fuel:
    - - "} - for(var/reagent in cur_viewed_device.owned_field.dormant_reactant_quantities) - dat += "" - dat += "
    NameAmount
    [reagent][cur_viewed_device.owned_field.dormant_reactant_quantities[reagent]]

    " - - else - - connected_devices.Cut() - for(var/obj/machinery/power/fusion_core/C in fusion_cores) - if(C.id_tag == id_tag && get_dist(src, C) <= scan_range) - connected_devices += C - for(var/obj/machinery/power/fusion_core/C in gyrotrons) - if(C.id_tag == id_tag && get_dist(src, C) <= scan_range) - connected_devices += C - - if(connected_devices.len) - dat += {" - Connected EM field generators:
    - - - - - - - "} - - for(var/obj/machinery/power/fusion_core/C in connected_devices) - var/status - var/can_access = 1 - if(!check_core_status(C)) - status = span_red("Unresponsive") - can_access = 0 - else if(C.avail() < C.active_power_usage) - status = span_orange("Underpowered") - else - status = span_green("Good") - - dat += {" - - - - "} - - if(!can_access) - dat += {" - - "} - else - dat += {" - - "} - dat += {" - - "} - - else - dat += span_red("No electromagnetic field generators connected.") - - var/datum/browser/popup = new(user, "fusion_control", name, 500, 400, src) - popup.set_content(dat) - popup.open() - user.set_machine(src) - -/obj/machinery/computer/fusion_core_control/Topic(href, href_list) - . = ..() - if(.) - return - - if(href_list["access_device"]) - var/idx = CLAMP(text2num(href_list["toggle_active"]), 1, connected_devices.len) - cur_viewed_device = connected_devices[idx] - updateUsrDialog() - return 1 - - //All HREFs from this point on require a device anyways. - if(!cur_viewed_device || !check_core_status(cur_viewed_device) || cur_viewed_device.id_tag != id_tag || get_dist(src, cur_viewed_device) > scan_range) - return - - if(href_list["goto_scanlist"]) - cur_viewed_device = null - updateUsrDialog() - return 1 - - if(href_list["toggle_active"]) - if(!cur_viewed_device.Startup()) //Startup() whilst the device is active will return null. - cur_viewed_device.Shutdown() - updateUsrDialog() - return 1 - - if(href_list["str"]) - var/val = text2num(href_list["str"]) - if(!val) //Value is 0, which is manual entering. - cur_viewed_device.set_strength(input(usr, "Enter the new field power density (W.m^-3)", "Fusion Control", cur_viewed_device.field_strength) as num) - else - cur_viewed_device.set_strength(cur_viewed_device.field_strength + val) - updateUsrDialog() - return 1 - - if(href_list["syphon"]) - cur_viewed_device.reactant_dump = !cur_viewed_device.reactant_dump - updateUsrDialog() -*/ - //Returns 1 if the machine can be interacted with via this console. /obj/machinery/computer/fusion_core_control/proc/check_core_status(var/obj/machinery/power/fusion_core/C) return istype(C) ? C.check_core_status() : FALSE - -/* -/obj/machinery/computer/fusion_core_control/update_icon() - if(stat & (BROKEN)) - icon = 'icons/obj/computer.dmi' - icon_state = "broken" - set_light(0) - - if(stat & (NOPOWER)) - icon = 'icons/obj/computer.dmi' - icon_state = "computer" - set_light(0) - - if(!stat & (BROKEN|NOPOWER)) - icon = initial(icon) - icon_state = initial(icon_state) - set_light(light_range_on, light_power_on) -*/ diff --git a/code/modules/power/fusion/core/core_field.dm b/code/modules/power/fusion/core/core_field.dm index 03dd6ced8d..5e0b518d6d 100644 --- a/code/modules/power/fusion/core/core_field.dm +++ b/code/modules/power/fusion/core/core_field.dm @@ -303,8 +303,8 @@ var/turf/T = get_turf(src) if(istype(T)) var/datum/gas_mixture/plasma = new - plasma.adjust_gas("oxygen", (size*100), 0) - plasma.adjust_gas("phoron", (size*100), 0) + plasma.adjust_gas(GAS_O2, (size*100), 0) + plasma.adjust_gas(GAS_PHORON, (size*100), 0) plasma.temperature = (plasma_temperature/2) plasma.update_values() T.assume_air(plasma) @@ -639,8 +639,8 @@ var/turf/TT = get_turf(pick(turfs_in_range)) if(istype(TT)) var/datum/gas_mixture/plasma = new - plasma.adjust_gas("oxygen", (size*100), 0) - plasma.adjust_gas("phoron", (size*100), 0) + plasma.adjust_gas(GAS_O2, (size*100), 0) + plasma.adjust_gas(GAS_PHORON, (size*100), 0) plasma.temperature = (plasma_temperature/2) plasma.update_values() TT.assume_air(plasma) @@ -655,8 +655,8 @@ var/turf/TT = get_turf(owned_core) if(istype(TT)) var/datum/gas_mixture/plasma = new - plasma.adjust_gas("oxygen", (size*100), 0) - plasma.adjust_gas("phoron", (size*100), 0) + plasma.adjust_gas(GAS_O2, (size*100), 0) + plasma.adjust_gas(GAS_PHORON, (size*100), 0) plasma.temperature = (plasma_temperature/2) plasma.update_values() TT.assume_air(plasma) diff --git a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm index 2bc4712ab3..a5fef7ee7c 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_assembly.dm @@ -7,7 +7,7 @@ var/percent_depleted = 1 var/list/rod_quantities = list() - var/fuel_type = "composite" + var/fuel_type = MAT_COMPOSITE var/fuel_colour var/radioactivity = 0 var/const/initial_amount = 3000000 @@ -54,13 +54,13 @@ // Mapper shorthand. /obj/item/fuel_assembly/deuterium/New(var/newloc) - ..(newloc, "deuterium") + ..(newloc, MAT_DEUTERIUM) /obj/item/fuel_assembly/tritium/New(var/newloc) - ..(newloc, "tritium") + ..(newloc, MAT_TRITIUM) /obj/item/fuel_assembly/phoron/New(var/newloc) - ..(newloc, "phoron") + ..(newloc, MAT_PHORON) /obj/item/fuel_assembly/supermatter/New(var/newloc) - ..(newloc, "supermatter") + ..(newloc, MAT_SUPERMATTER) diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm index 31e1b9dfce..218c6719da 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm @@ -32,7 +32,7 @@ user.put_in_hands(F) else if(istype(thing, /obj/machinery/power/supermatter)) - var/obj/item/fuel_assembly/F = new(get_turf(src), "supermatter") + var/obj/item/fuel_assembly/F = new(get_turf(src), MAT_SUPERMATTER) visible_message(span_infoplain(span_bold("\The [src]") + " compresses \the [thing] into a new fuel assembly.")) qdel(thing) user.put_in_hands(F) diff --git a/code/modules/power/fusion/fuel_assembly/fuel_control.dm b/code/modules/power/fusion/fuel_assembly/fuel_control.dm index 2978b37825..6a1b50f334 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_control.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_control.dm @@ -73,7 +73,7 @@ else dat += "" if(I.cur_assembly) - dat += "" + dat += "" else dat += "" if(I.cur_assembly) @@ -84,8 +84,8 @@ dat += "" dat += {"
    Device tagStatusControls
    [C.id_tag][status]" + span_red("ERROR") + "ACCESS
    [I.cur_assembly ? I.cur_assembly.fuel_type : "NONE"]\[[I.injecting ? "Halt injecting" : "Begin injecting"]\]\[[I.injecting ? "Halt injecting" : "Begin injecting"]\]None

    - Refresh - Close
    "} + Refresh + Close
    "} var/datum/browser/popup = new(user, "fuel_control", "Fusion Fuel Control Console", 800, 400, src) popup.set_content(dat) diff --git a/code/modules/power/fusion/fusion_reactions.dm b/code/modules/power/fusion/fusion_reactions.dm index 54d72b11e8..3815eff221 100644 --- a/code/modules/power/fusion/fusion_reactions.dm +++ b/code/modules/power/fusion/fusion_reactions.dm @@ -45,57 +45,57 @@ var/list/fusion_reactions // Basic power production reactions. /decl/fusion_reaction/deuterium_deuterium - p_react = "deuterium" - s_react = "deuterium" + p_react = REAGENT_ID_DEUTERIUM + s_react = REAGENT_ID_DEUTERIUM energy_consumption = 1 energy_production = 2 // Advanced production reactions (todo) /decl/fusion_reaction/deuterium_helium - p_react = "deuterium" - s_react = "helium-3" + p_react = REAGENT_ID_DEUTERIUM + s_react = REAGENT_ID_HELIUM3 energy_consumption = 1 energy_production = 5 /decl/fusion_reaction/deuterium_tritium - p_react = "deuterium" - s_react = "tritium" + p_react = REAGENT_ID_DEUTERIUM + s_react = REAGENT_ID_SLIMEJELLY energy_consumption = 1 energy_production = 1 - products = list("helium-3" = 1) + products = list(REAGENT_ID_HELIUM3 = 1) instability = 0.5 /decl/fusion_reaction/deuterium_lithium - p_react = "deuterium" - s_react = "lithium" + p_react = REAGENT_ID_DEUTERIUM + s_react = REAGENT_ID_LITHIUM energy_consumption = 2 energy_production = 0 radiation = 3 - products = list("tritium"= 1) + products = list(REAGENT_ID_SLIMEJELLY= 1) instability = 1 // Unideal/material production reactions /decl/fusion_reaction/oxygen_oxygen - p_react = "oxygen" - s_react = "oxygen" + p_react = REAGENT_ID_OXYGEN + s_react = REAGENT_ID_OXYGEN energy_consumption = 10 energy_production = 0 instability = 5 radiation = 5 - products = list("silicon"= 1) + products = list(REAGENT_ID_SILICON= 1) /decl/fusion_reaction/iron_iron - p_react = "iron" - s_react = "iron" - products = list("silver" = 1, "gold" = 1, "platinum" = 1) // Not realistic but w/e + p_react = REAGENT_ID_IRON + s_react = REAGENT_ID_IRON + products = list(REAGENT_ID_SILVER = 1, REAGENT_ID_GOLD = 1, REAGENT_ID_PLATINUM = 1) // Not realistic but w/e energy_consumption = 10 energy_production = 0 instability = 2 minimum_reaction_temperature = 10000 /decl/fusion_reaction/phoron_hydrogen - p_react = "hydrogen" - s_react = "phoron" + p_react = REAGENT_ID_HYDROGEN + s_react = REAGENT_ID_PHORON energy_consumption = 10 energy_production = 0 instability = 5 @@ -104,8 +104,8 @@ var/list/fusion_reactions // VERY UNIDEAL REACTIONS. /decl/fusion_reaction/phoron_supermatter - p_react = "supermatter" - s_react = "phoron" + p_react = REAGENT_ID_SUPERMATTER + s_react = REAGENT_ID_PHORON energy_consumption = 0 energy_production = 5 radiation = 20 @@ -131,7 +131,7 @@ var/list/fusion_reactions H.hallucination += rand(100,150) for(var/obj/machinery/fusion_fuel_injector/I in range(world.view, origin)) - if(I.cur_assembly && I.cur_assembly.fuel_type == "supermatter") + if(I.cur_assembly && I.cur_assembly.fuel_type == REAGENT_ID_SUPERMATTER) explosion(get_turf(I), 1, 2, 3) spawn(5) if(I && I.loc) @@ -144,8 +144,8 @@ var/list/fusion_reactions // High end reactions. /decl/fusion_reaction/boron_hydrogen - p_react = "boron" - s_react = "hydrogen" + p_react = REAGENT_ID_BORON11 + s_react = REAGENT_ID_HYDROGEN minimum_energy_level = FUSION_HEAT_CAP * 0.5 energy_consumption = 3 energy_production = 15 @@ -153,8 +153,8 @@ var/list/fusion_reactions instability = 3 /decl/fusion_reaction/hydrogen_hydrogen - p_react = "hydrogen" - s_react = "hydrogen" + p_react = REAGENT_ID_HYDROGEN + s_react = REAGENT_ID_HYDROGEN minimum_energy_level = FUSION_HEAT_CAP * 0.75 energy_consumption = 0 energy_production = 20 diff --git a/code/modules/power/fusion/gyrotron/gyrotron_control.dm b/code/modules/power/fusion/gyrotron/gyrotron_control.dm index c96e11644c..9959123c76 100644 --- a/code/modules/power/fusion/gyrotron/gyrotron_control.dm +++ b/code/modules/power/fusion/gyrotron/gyrotron_control.dm @@ -65,9 +65,9 @@ dat += "" + span_red("ERROR") + "" dat += "" + span_red("ERROR") + "" else - dat += "[G.active ? "Emitting" : "Standing By"]" - dat += "[G.rate]" - dat += "[G.mega_energy]" + dat += "[G.active ? "Emitting" : "Standing By"]" + dat += "[G.rate]" + dat += "[G.mega_energy]" dat += "" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index b3e74047ed..f8fcd301cd 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -1149,7 +1149,7 @@ var/global/list/light_type_cache = list() to_chat(user, "You inject the solution into the [src].") - if(S.reagents.has_reagent("phoron", 5)) + if(S.reagents.has_reagent(REAGENT_ID_PHORON, 5)) log_admin("LOG: [user.name] ([user.ckey]) injected a light with phoron, rigging it to explode.") message_admins("LOG: [user.name] ([user.ckey]) injected a light with phoron, rigging it to explode.") diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index 8d641f9c27..038388f27b 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -119,16 +119,16 @@ var/dat = text(span_bold("[name]") + "
    ") if (active) - dat += text("Generator: On
    ") + dat += text("Generator: On
    ") else - dat += text("Generator: Off
    ") + dat += text("Generator: Off
    ") if(P) dat += text("Currently loaded phoron tank: [P.air_contents.phoron]
    ") else dat += text("No phoron tank currently loaded.
    ") - dat += text("Power output: - [power_gen * power_output] +
    ") + dat += text("Power output: - [power_gen * power_output] +
    ") dat += text("Heat: [heat]
    ") - dat += "
    Close" + dat += "
    Close" user << browse("[dat]", "window=port_gen") Topic(href, href_list) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index f3b1620626..71211f9be7 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -254,7 +254,7 @@ var/phoron = (sheets+sheet_left)*20 var/datum/gas_mixture/environment = loc.return_air() if (environment) - environment.adjust_gas_temp("phoron", phoron/10, temperature + T0C) + environment.adjust_gas_temp(GAS_PHORON, phoron/10, temperature + T0C) sheets = 0 sheet_left = 0 diff --git a/code/modules/power/privacy_switch.dm b/code/modules/power/privacy_switch.dm new file mode 100644 index 0000000000..c18a6a295c --- /dev/null +++ b/code/modules/power/privacy_switch.dm @@ -0,0 +1,41 @@ +/obj/structure/privacyswitch + name = "privacy switch" + desc = "A special switch to increase the room's privavy. (Blocks ghosts from seeing the area)" + icon = 'icons/obj/power_vr.dmi' + icon_state = "light0" + var/nextUse = 0 + +/obj/structure/privacyswitch/Initialize() + var/area/A = get_area(src) + if(A?.flag_check(AREA_BLOCK_GHOST_SIGHT)) + icon_state = "light1" + . = ..() + +/obj/structure/privacyswitch/attack_ai(mob/user) + attack_hand() + return + +/obj/structure/privacyswitch/attack_hand(mob/user) + if(nextUse - world.time > 0) + to_chat(user, span_warning("The area can not be altered so soon again!")) + return + var/area/A = get_area(src) + if(!A) + return + + if(tgui_alert(user, "Do you want to toggle ghost vision for this area [A.flag_check(AREA_BLOCK_GHOST_SIGHT) ? "on" : "off"]?", "Toggle ghost vision?", list("Yes", "No")) != "Yes") + return + + if(A.flag_check(AREA_BLOCK_GHOST_SIGHT)) + A.flags ^= AREA_BLOCK_GHOST_SIGHT + icon_state = "light0" + ghostnet.removeArea(A) + to_chat(user, span_notice("The area is no longer protected from ghost vison.")) + log_and_message_admins("toggled ghost vision in [A] on.", user) + else + A.flags ^= AREA_BLOCK_GHOST_SIGHT + icon_state = "light1" + ghostnet.addArea(A) + to_chat(user, span_notice("The area is now protected from ghost vison.")) + log_and_message_admins("toggled ghost vision in [A] off.", user) + nextUse = world.time + 5 MINUTES diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 5d82f46c5d..00e97216dc 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -37,11 +37,11 @@ var/global/list/rad_collectors = list() receive_pulse(rads * 5) //Maths is hard if(P) - if(P.air_contents.gas["phoron"] == 0) + if(P.air_contents.gas[GAS_PHORON] == 0) investigate_log("out of fuel.","singulo") eject() else - P.air_contents.adjust_gas("phoron", -0.001*drainratio) + P.air_contents.adjust_gas(GAS_PHORON, -0.001*drainratio) return @@ -51,7 +51,7 @@ var/global/list/rad_collectors = list() toggle_power() user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \ "You turn the [src.name] [active? "on":"off"].") - investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.gas["phoron"]/0.29)]%":"It is empty"].","singulo") + investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.gas[GAS_PHORON]/0.29)]%":"It is empty"].","singulo") return else to_chat(user, span_red("The controls are locked!")) @@ -130,7 +130,7 @@ var/global/list/rad_collectors = list() /obj/machinery/power/rad_collector/proc/receive_pulse(var/pulse_strength) if(P && active) var/power_produced = 0 - power_produced = P.air_contents.gas["phoron"]*pulse_strength*20 + power_produced = P.air_contents.gas[GAS_PHORON]*pulse_strength*20 add_avail(power_produced) last_power_new = power_produced return diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index e73379d5a5..d7b27608da 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -56,7 +56,7 @@ connect_to_network() /obj/machinery/power/emitter/Destroy() - message_admins("Emitter deleted at ([x],[y],[z] - JMP)",0,1) + message_admins("Emitter deleted at ([x],[y],[z] - JMP)",0,1) log_game("EMITTER([x],[y],[z]) Destroyed/deleted.") investigate_log("deleted at ([x],[y],[z])","singulo") ..() @@ -80,7 +80,7 @@ if(src.active==1) src.active = 0 to_chat(user, "You turn off [src].") - message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) + message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) log_game("EMITTER([x],[y],[z]) OFF by [key_name(user)]") investigate_log("turned off by [user.key]","singulo") else @@ -88,7 +88,7 @@ to_chat(user, "You turn on [src].") src.shot_number = 0 src.fire_delay = get_initial_fire_delay() - message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) + message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) log_game("EMITTER([x],[y],[z]) ON by [key_name(user)]") investigate_log("turned on by [user.key]","singulo") update_icon() diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm index 15930bfd14..7e4f2643a6 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm @@ -270,7 +270,7 @@ */ /datum/particle_smasher_recipe - var/list/reagents // example: = list("pacid" = 5) + var/list/reagents // example: = list(REAGENT_ID_PACID = 5) var/list/items // example: = list(/obj/item/tool/crowbar, /obj/item/welder) Place /foo/bar before /foo. Do not include fruit. Maximum of 3 items. var/recipe_type = PS_RESULT_STACK // Are we producing a stack or an item? @@ -319,7 +319,7 @@ return . /datum/particle_smasher_recipe/deuterium_tritium - reagents = list("hydrogen" = 15) + reagents = list(REAGENT_ID_HYDROGEN = 15) result = /obj/item/stack/material/tritium required_material = /obj/item/stack/material/deuterium @@ -349,7 +349,7 @@ probability = 10 /datum/particle_smasher_recipe/osmium_lead - reagents = list("tungsten" = 10) + reagents = list(REAGENT_ID_TUNGSTEN = 10) result = /obj/item/stack/material/lead required_material = /obj/item/stack/material/osmium @@ -362,7 +362,7 @@ probability = 50 /datum/particle_smasher_recipe/phoron_valhollide - reagents = list("phoron" = 10, "pacid" = 10) + reagents = list(REAGENT_ID_PHORON = 10, REAGENT_ID_PACID = 10) result = /obj/item/stack/material/valhollide required_material = /obj/item/stack/material/phoron @@ -375,7 +375,7 @@ probability = 10 /datum/particle_smasher_recipe/valhollide_supermatter - reagents = list("phoron" = 300) + reagents = list(REAGENT_ID_PHORON = 300) result = /obj/item/stack/material/supermatter required_material = /obj/item/stack/material/valhollide @@ -404,7 +404,7 @@ /datum/particle_smasher_recipe/donkpockets_ascend items = list(/obj/item/reagent_containers/food/snacks/donkpocket) - reagents = list("phoron" = 120) + reagents = list(REAGENT_ID_PHORON = 120) recipe_type = PS_RESULT_ITEM diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index a8c47362de..33e8db710c 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -95,7 +95,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity) var/count = locate(/obj/machinery/containment_field) in orange(30, src) if (!count) - message_admins("A singulo has been created without containment fields active ([x], [y], [z] - JMP).") + message_admins("A singulo has been created without containment fields active ([x], [y], [z] - JMP).") investigate_log("was created. [count ? "" : "No containment fields were active."]", I_SINGULO) diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index c2f10b7e2a..912e005fcc 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -192,7 +192,7 @@ if(G.siemens_coefficient == 0) user_protected = 1 log_game("SMES FAILURE: [src.x]X [src.y]Y [src.z]Z User: [usr.ckey], Intensity: [intensity]/100") - message_admins("SMES FAILURE: [src.x]X [src.y]Y [src.z]Z User: [usr.ckey], Intensity: [intensity]/100 - JMP") + message_admins("SMES FAILURE: [src.x]X [src.y]Y [src.z]Z User: [usr.ckey], Intensity: [intensity]/100 - JMP") var/used_hand = h_user.hand?"l_hand":"r_hand" diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 609c951614..4a989341da 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -219,7 +219,7 @@ GLOBAL_LIST_EMPTY(solars_list) playsound(src, W.usesound, 75, 1) return 1 - if(istype(W, /obj/item/stack/material) && (W.get_material_name() == "glass" || W.get_material_name() == "rglass")) + if(istype(W, /obj/item/stack/material) && (W.get_material_name() == MAT_GLASS || W.get_material_name() == MAT_RGLASS)) var/obj/item/stack/material/S = W if(S.use(2)) playsound(src, 'sound/machines/click.ogg', 50, 1) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index dfa8b43560..c7e35a7998 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -164,7 +164,7 @@ set waitfor = 0 - message_admins("Supermatter exploded at ([x],[y],[z] - JMP)",0,1) + message_admins("Supermatter exploded at ([x],[y],[z] - JMP)",0,1) log_game("SUPERMATTER([x],[y],[z]) Exploded. Power:[power], Oxygen:[oxygen], Damage:[damage], Integrity:[get_integrity()]") anchored = TRUE grav_pulling = 1 @@ -344,7 +344,7 @@ damage = max( damage + min( ( (removed.temperature - CRITICAL_TEMPERATURE) / 150 ), damage_inc_limit ) , 0 ) //Ok, 100% oxygen atmosphere = best reaction //Maxes out at 100% oxygen pressure - oxygen = max(min((removed.gas["oxygen"] - (removed.gas["nitrogen"] * NITROGEN_RETARDATION_FACTOR)) / removed.total_moles, 1), 0) + oxygen = max(min((removed.gas[GAS_O2] - (removed.gas[GAS_N2] * NITROGEN_RETARDATION_FACTOR)) / removed.total_moles, 1), 0) //calculate power gain for oxygen reaction var/temp_factor @@ -368,8 +368,8 @@ //Release reaction gasses var/heat_capacity = removed.heat_capacity() - removed.adjust_multi("phoron", max(device_energy / PHORON_RELEASE_MODIFIER, 0), \ - "oxygen", max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0)) + removed.adjust_multi(GAS_PHORON, max(device_energy / PHORON_RELEASE_MODIFIER, 0), \ + GAS_O2, max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0)) var/thermal_power = THERMAL_RELEASE_MODIFIER * device_energy if (debug) @@ -539,7 +539,7 @@ icon_state = "darkmatter_broken" /obj/item/broken_sm/New() - message_admins("Broken SM shard created at ([x],[y],[z] - JMP)",0,1) + message_admins("Broken SM shard created at ([x],[y],[z] - JMP)",0,1) START_PROCESSING(SSobj, src) return ..() diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index b7a59fd2c8..982030a9d6 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -291,8 +291,8 @@ var/t = "Gas Turbine Generator
    "
     	t += "Generated power : [DisplayPower(lastgen)]

    " t += "Turbine: [round(compressor.rpm)] RPM
    " - t += "Starter: [ compressor.starter ? "Off " + span_bold("On") : span_bold("Off") + " On"]" - t += "

    Close" + t += "Starter: [ compressor.starter ? "Off " + span_bold("On") : span_bold("Off") + " On"]" + t += "
    Close" t += "
    " var/datum/browser/popup = new(user, "turbine", name, 700, 500, src) popup.set_content(t) diff --git a/code/modules/projectiles/guns/energy/cyborg.dm b/code/modules/projectiles/guns/energy/cyborg.dm new file mode 100644 index 0000000000..78247e1555 --- /dev/null +++ b/code/modules/projectiles/guns/energy/cyborg.dm @@ -0,0 +1,279 @@ +/// This file PRIMARILY contains guns for borgs. The key word being PRIMARILY. +/// Some things are included in here for relevence's sake (like the dogborg blade) + + +/obj/item/gun/energy/robotic/proc/gun_flag_check(var/flag_to_check) //Checks for the flag of the gun. + return (borg_flags & flag_to_check) + +/obj/item/melee/robotic/proc/weapon_flag_check(var/flag_to_check) //Checks for the flag of the gun. + return (borg_flags & flag_to_check) + +/// The base gun types. Build off these four. +/obj/item/gun/energy/robotic + name = "Cybernetic Gun" + desc = "A gun commonly used by cyborgs and other robotic lifeforms to stun" + var/borg_flags = COUNTS_AS_ROBOT_GUN //We add flags to this! + self_recharge = 1 + use_external_power = 1 + projectile_type = /obj/item/projectile/beam/lasertag //This is the base gun and should never be used. + +/obj/item/gun/energy/robotic/laser + borg_flags = COUNTS_AS_ROBOT_GUN | COUNTS_AS_ROBOT_LASER + projectile_type = /obj/item/projectile/beam + +/obj/item/gun/energy/robotic/taser + name = "Cybernetic Taser" + desc = "An integrated taser that is used to neutralize foes." + borg_flags = COUNTS_AS_ROBOT_GUN | COUNTS_AS_ROBOT_TASER + icon_state = "taser" + item_state = null //so the human update icon uses the icon_state instead. + projectile_type = /obj/item/projectile/beam/stun + charge_cost = 400 + recharge_time = 7 //Time it takes for shots to recharge (in ticks) + +/obj/item/gun/energy/robotic/disabler + borg_flags = COUNTS_AS_ROBOT_GUN | COUNTS_AS_ROBOT_DISABLER + name = "disabler" + desc = "A small and nonlethal gun produced by NT.." + icon = 'icons/mob/dogborg_vr.dmi' + icon_state = "ertgunstun" + fire_sound = 'sound/weapons/eLuger.ogg' + projectile_type = /obj/item/projectile/beam/disable + charge_cost = 240 + recharge_time = 10 + + + +/// Variant gun types + + +/// Tasers +/obj/item/gun/energy/robotic/taser/xeno + name = "xeno taser gun" + desc = "Straight out of NT's testing laboratories, this small gun is used to subdue non-humanoid xeno life forms. \ + While marketed towards handling slimes, it may be useful for other creatures." + icon_state = "taserblue" + fire_sound = 'sound/weapons/taser2.ogg' + charge_cost = 120 + projectile_type = /obj/item/projectile/beam/stun/xeno + accuracy = 30 + description_info = "This gun will stun a slime or other lesser slimy lifeform for about two seconds if hit with the projectile it fires." + description_fluff = "An easy to use weapon designed by NanoTrasen, for NanoTrasen. This weapon is based on the NT Mk30 NL, \ + it's core components swaped out for a new design made to subdue lesser slime-based xeno lifeforms at a distance. It is \ + ineffective at stunning non-slimy lifeforms such as humanoids." + recharge_time = 3 + +/obj/item/gun/energy/robotic/taser/swarm + name = "disabler" + desc = "An archaic device which attacks the target's nervous-system or control circuits." + icon_state = "disabler" + projectile_type = /obj/item/projectile/beam/stun/disabler + charge_cost = 800 + recharge_time = 5 //0.5 SECONDS + + +/// Lasers +/obj/item/gun/energy/robotic/laser/retro + name = "retro laser" + icon_state = "retro" + item_state = "retro" + desc = "A 23rd century model of the basic lasergun. Nevertheless, it is still quite deadly and easy to maintain, making it a favorite amongst pirates and other outlaws." + projectile_type = /obj/item/projectile/beam + fire_delay = 10 + +/obj/item/gun/energy/robotic/laser/rifle + name = "Mounted Laser Rifle" + desc = "A Hephaestus Industries G40E rifle, designed to kill with concentrated energy blasts. This variant has the ability to \ + switch between standard fire and a more efficent but weaker 'suppressive' fire." + description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space." + icon_state = "laser" + item_state = "laser" + wielded_item_state = "laser-wielded" + fire_delay = 8 + force = 10 + projectile_type = /obj/item/projectile/beam/midlaser + firemodes = list( + list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 240), + list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 60), + ) + one_handed_penalty = 0 + +/obj/item/gun/energy/robotic/laser/heavy + name = "mounted laser cannon" + desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron \ + flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!" + icon_state = "lasercannon" + item_state = null + wielded_item_state = "mhdhowitzer-wielded" //Placeholder (Sure it is.) + projectile_type = /obj/item/projectile/beam/heavylaser //Fun fact: This isn't actually the normal cannon. + recharge_time = 10 + accuracy = 0 + one_handed_penalty = 0 + charge_cost = 400 + fire_delay = 20 + +/obj/item/gun/energy/robotic/laser/dakkalaser + name = "suppression gun" + desc = "A massive weapon designed to pressure the opposition by raining down a torrent of energy pellets." + icon_state = "dakkalaser" + item_state = "dakkalaser" + wielded_item_state = "dakkalaser-wielded" + charge_cost = 24 + projectile_type = /obj/item/projectile/energy/blue_pellet + cell_type = /obj/item/cell/device/weapon/recharge //This one doesn't use borg power, it has it's own power cell. I don't know why, but I'm not here to balance/unbalance it. + self_recharge = 0 //Ditto + use_external_power = 0 //Ditto + accuracy = 75 // Suppressive weapons don't work too well if there's no risk of being hit. + burst_delay = 1 // Burst faster than average. + + firemodes = list( + list(mode_name="single shot", burst = 1, burst_accuracy = list(75), dispersion = list(0), charge_cost = 24), + list(mode_name="five shot burst", burst = 5, burst_accuracy = list(75,75,75,75,75), dispersion = list(1,1,1,1,1)), + list(mode_name="ten shot burst", burst = 10, burst_accuracy = list(75,75,75,75,75,75,75,75,75,75), dispersion = list(2,2,2,2,2,2,2,2,2,2)), + ) + + +/// MELEE WEAPONS + +/obj/item/melee/robotic //Just the parent. Don't use this one. + name = "Robotic Appendage" + desc = "A robotic weapon of some sort." + icon = 'icons/mob/dogborg_vr.dmi' + icon_state = "swordtail" + var/borg_flags = COUNTS_AS_ROBOTIC_MELEE + +/obj/item/melee/robotic/jaws + icon = 'icons/mob/dogborg_vr.dmi' + hitsound = 'sound/weapons/bite.ogg' + throwforce = 0 + w_class = ITEMSIZE_NORMAL + pry = 1 + tool_qualities = list(TOOL_CROWBAR) + +/obj/item/melee/robotic/jaws/big + name = "combat jaws" + icon_state = "jaws" + desc = "The jaws of the law." + force = 25 + armor_penetration = 25 + defend_chance = 15 + attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") + +/obj/item/melee/robotic/jaws/small + name = "puppy jaws" + icon_state = "smalljaws" + desc = "The jaws of a small dog." + force = 10 + defend_chance = 5 + attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") + var/emagged = 0 +/obj/item/melee/robotic/jaws/small/attack_self(mob/user) + var/mob/living/silicon/robot/R = user + if(R.emagged || R.emag_items) + emagged = !emagged + if(emagged) + name = "combat jaws" + icon_state = "jaws" + desc = "The jaws of the law." + force = 25 + armor_penetration = 25 + defend_chance = 15 + attack_verb = list("chomped", "bit", "ripped", "mauled", "enforced") + else + name = "puppy jaws" + icon_state = "smalljaws" + desc = "The jaws of a small dog." + force = 10 + armor_penetration = 0 + defend_chance = 5 + attack_verb = list("nibbled", "bit", "gnawed", "chomped", "nommed") + update_icon() + + +/obj/item/melee/robotic/borg_combat_shocker + name = "combat shocker" + icon = 'icons/mob/dogborg_vr.dmi' + icon_state = "combatshocker" + desc = "Shocking!" + force = 15 + throwforce = 0 + hitsound = 'sound/weapons/genhit1.ogg' + attack_verb = list("hit") + w_class = ITEMSIZE_NORMAL + var/charge_cost = 15 + var/dogborg = FALSE + +/obj/item/melee/robotic/borg_combat_shocker/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) + if(isrobot(target)) + return ..() + + var/agony = 60 // Copied from stun batons + var/stun = 0 // ... same + + var/obj/item/organ/external/affecting = null + if(ishuman(target)) + var/mob/living/carbon/human/H = target + affecting = H.get_organ(hit_zone) + + if(user.a_intent == I_HURT) + // Parent handles messages + . = ..() + //whacking someone causes a much poorer electrical contact than deliberately prodding them. + agony *= 0.5 + stun *= 0.5 + else + if(affecting) + if(dogborg) + target.visible_message(span_danger("[target] has been zap-chomped in the [affecting.name] with [src] by [user]!")) + else + target.visible_message(span_danger("[target] has been zapped in the [affecting.name] with [src] by [user]!")) + else + if(dogborg) + target.visible_message(span_danger("[target] has been zap-chomped with [src] by [user]!")) + else + target.visible_message(span_danger("[target] has been zapped with [src] by [user]!")) + playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1) + + // Try to use power + var/stunning = FALSE + if(isrobot(loc)) + var/mob/living/silicon/robot/R = loc + if(R.cell?.use(charge_cost) == charge_cost) + stunning = TRUE + + if(stunning) + target.stun_effect_act(stun, agony, hit_zone, src) + msg_admin_attack("[key_name(user)] stunned [key_name(target)] with the [src].") + if(ishuman(target)) + var/mob/living/carbon/human/H = target + H.forcesay(hit_appends) + +/obj/item/melee/robotic/blade //For downstreams that use blade + name = "Robotic Blade" + desc = "A glowing blade. It appears to be extremely sharp." + borg_flags = COUNTS_AS_ROBOTIC_MELEE | COUNTS_AS_ROBOT_BLADE + icon = 'icons/mob/dogborg_vr.dmi' + icon_state = "swordtail" + force = 35 //Takes 3 hits to 100-0 + armor_penetration = 70 + sharp = TRUE + edge = TRUE + throwforce = 0 //This shouldn't be thrown in the first place. + hitsound = 'sound/weapons/blade1.ogg' + attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced") + w_class = ITEMSIZE_NORMAL + +/obj/item/melee/robotic/dagger //For downstreams that use dagger + name = "Robotic Dagger" + desc = "A glowing dagger. It appears to be extremely sharp." + borg_flags = COUNTS_AS_ROBOTIC_MELEE | COUNTS_AS_ROBOT_DAGGER + icon = 'icons/mob/dogborg_vr.dmi' + icon_state = "swordtail" + force = 35 //Takes 3 hits to 100-0 + armor_penetration = 70 + sharp = TRUE + edge = TRUE + throwforce = 0 //This shouldn't be thrown in the first place. + hitsound = 'sound/weapons/blade1.ogg' + attack_verb = list("slashed", "stabbed", "jabbed", "mauled", "sliced") + w_class = ITEMSIZE_NORMAL diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm index 2c50e021e2..0b0e22ce55 100644 --- a/code/modules/projectiles/guns/launcher/crossbow.dm +++ b/code/modules/projectiles/guns/launcher/crossbow.dm @@ -264,7 +264,7 @@ else to_chat(user, span_notice("You need at least five segments of cable coil to complete this task.")) return - else if(istype(W,/obj/item/stack/material) && W.get_material_name() == "plastic") + else if(istype(W,/obj/item/stack/material) && W.get_material_name() == MAT_PLASTIC) if(buildstate == 3) var/obj/item/stack/material/P = W if(P.use(3)) diff --git a/code/modules/projectiles/guns/magnetic/bore.dm b/code/modules/projectiles/guns/magnetic/bore.dm index 7a451b5aad..167f4ea772 100644 --- a/code/modules/projectiles/guns/magnetic/bore.dm +++ b/code/modules/projectiles/guns/magnetic/bore.dm @@ -240,7 +240,7 @@ mat_storage = max(mat_storage - fuel_used, 0) var/turf/T = get_turf(src) if(T) - T.assume_gas("carbon_dioxide", fuel_used * 0.01, T0C+200) + T.assume_gas(GAS_CO2, fuel_used * 0.01, T0C+200) /obj/item/gun/magnetic/matfed/phoronbore/proc/toggle_generator(mob/living/user) if(!generator_state && !mat_storage) diff --git a/code/modules/projectiles/guns/magnetic/gasthrower.dm b/code/modules/projectiles/guns/magnetic/gasthrower.dm index a12e7387a3..723e68058b 100644 --- a/code/modules/projectiles/guns/magnetic/gasthrower.dm +++ b/code/modules/projectiles/guns/magnetic/gasthrower.dm @@ -34,10 +34,10 @@ var/turf/T = get_turf(src) - var/phoron_amt = Tank.air_contents.gas["phoron"] - var/co2_amt = Tank.air_contents.gas["carbon_dioxide"] - var/oxy_amt = Tank.air_contents.gas["oxygen"] - var/n2o_amt = Tank.air_contents.gas["nitrous_oxide"] + var/phoron_amt = Tank.air_contents.gas[GAS_PHORON] + var/co2_amt = Tank.air_contents.gas[GAS_CO2] + var/oxy_amt = Tank.air_contents.gas[GAS_O2] + var/n2o_amt = Tank.air_contents.gas[GAS_N2O] if(isnull(co2_amt)) co2_amt = 0 diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm index 993cc740fa..ebbe668a77 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic.dm @@ -271,13 +271,13 @@ if(loaded) //Safety. if(istype(loaded, /obj/item/fuel_assembly)) var/obj/item/fuel_assembly/rod = loaded - if(rod.fuel_type == "composite" || rod.fuel_type == "deuterium") //Safety check for rods spawned in without a fueltype. + if(rod.fuel_type == MAT_COMPOSITE || rod.fuel_type == MAT_DEUTERIUM) //Safety check for rods spawned in without a fueltype. projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod - else if(rod.fuel_type == "tritium") + else if(rod.fuel_type == MAT_TRITIUM) projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/tritium - else if(rod.fuel_type == "phoron") + else if(rod.fuel_type == MAT_PHORON) projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/phoron - else if(rod.fuel_type == "supermatter") + else if(rod.fuel_type == MAT_SUPERMATTER) projectile_type = /obj/item/projectile/bullet/magnetic/fuelrod/supermatter visible_message(span_danger("The barrel of \the [src] glows a blinding white!")) spawn(5) diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index 74bed8f9ff..e468af615e 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -144,12 +144,12 @@ for(var/datum/reagent/R in B.reagents.reagent_list) dat += "
    [R.volume] units of [R.name], " if (check_beaker_mixing(B)) - dat += text("Mixing ") + dat += text("Mixing ") else - dat += text("Not mixing ") + dat += text("Not mixing ") else dat += "nothing." - dat += " \[Eject\]
    " + dat += " \[Eject\]
    " i++ else dat += "There are no beakers inserted!

    " @@ -159,7 +159,7 @@ dat += "The dart cartridge has [ammo_magazine.stored_ammo.len] shots remaining." else dat += "The dart cartridge is empty!" - dat += " \[Eject\]" + dat += " \[Eject\]" user << browse(dat, "window=dartgun") onclose(user, "dartgun", src) diff --git a/code/modules/projectiles/guns/projectile/leveraction.dm b/code/modules/projectiles/guns/projectile/leveraction.dm index ad6294df2d..ff7560119d 100644 --- a/code/modules/projectiles/guns/projectile/leveraction.dm +++ b/code/modules/projectiles/guns/projectile/leveraction.dm @@ -8,7 +8,7 @@ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \ colonist guns in some far off regions. Uses 7.62mm rounds." - description_fluff = "The frontier�s largest home-grown firearms manufacturer, the Weissen \ + description_fluff = "The frontier's largest home-grown firearms manufacturer, the Weissen \ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \ production plant in the Mytis system, but their weapons have found popularity on garden \ @@ -31,7 +31,7 @@ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \ colonist guns in some far off regions. Uses 7.62mm rounds." - description_fluff = "The frontier�s largest home-grown firearms manufacturer, the Weissen \ + description_fluff = "The frontier's largest home-grown firearms manufacturer, the Weissen \ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \ production plant in the Mytis system, but their weapons have found popularity on garden \ @@ -47,7 +47,7 @@ name = "repeater" desc = "The Weissen Company's answer to varmint shooting on frontier ranches, the T-7 Boone \ gives ranchers and farmers alike a perfect rider rifle for protecting the fenceline. Uses .357 rounds." - description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier's largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ @@ -67,7 +67,7 @@ name = "brushgun" desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \ the T-10 Cassidy Uses .44 rounds." - description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier's largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ @@ -87,7 +87,7 @@ name = "brushgun" desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \ the T-10 Cassidy Uses .44 rounds." - description_fluff = "The frontier�s largest home-grown firearms manufacturer, \ + description_fluff = "The frontier's largest home-grown firearms manufacturer, \ the Weissen Arms Company are the leading manufacturer of - not only quality - \ but affordable rifles for the average frontiersman looking to protect his \ claim. The company operates just one production plant in the Mytis system, \ diff --git a/code/modules/projectiles/projectile/arc.dm b/code/modules/projectiles/projectile/arc.dm index 0324d273cc..d4d383bd14 100644 --- a/code/modules/projectiles/projectile/arc.dm +++ b/code/modules/projectiles/projectile/arc.dm @@ -189,8 +189,8 @@ spawn() var/obj/effect/effect/water/splash = new(T) splash.create_reagents(15) - splash.reagents.add_reagent("stomacid", 5) - splash.reagents.add_reagent("blood", 10,list("blood_colour" = "#ec4940")) + splash.reagents.add_reagent(REAGENT_ID_STOMACID, 5) + splash.reagents.add_reagent(REAGENT_ID_BLOOD, 10,list("blood_colour" = "#ec4940")) splash.set_color() splash.set_up(F, 2, 3) @@ -198,5 +198,5 @@ var/obj/effect/decal/cleanable/chemcoating/acid = locate() in T if(!istype(acid)) acid = new(T) - acid.reagents.add_reagent("stomacid", 5) + acid.reagents.add_reagent(REAGENT_ID_STOMACID, 5) acid.update_icon() diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index d0a4865482..8efdf1caa1 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -510,8 +510,8 @@ if(M.health < M.maxHealth) var/obj/effect/overlay/pulse = new /obj/effect/overlay(get_turf(M)) pulse.icon = 'icons/effects/effects.dmi' - pulse.icon_state = "heal" - pulse.name = "heal" + pulse.icon_state = XENO_CHEM_HEAL + pulse.name = XENO_CHEM_HEAL pulse.anchored = TRUE spawn(20) qdel(pulse) diff --git a/code/modules/projectiles/projectile/blob.dm b/code/modules/projectiles/projectile/blob.dm index f73fe9d008..291bfec6b2 100644 --- a/code/modules/projectiles/projectile/blob.dm +++ b/code/modules/projectiles/projectile/blob.dm @@ -9,7 +9,7 @@ fire_sound = 'sound/effects/slime_squish.ogg' var/splatter = FALSE // Will this make a cloud of reagents? var/splatter_volume = 5 // The volume of its chemical container, for said cloud of reagents. - var/list/my_chems = list("mold") + var/list/my_chems = list(REAGENT_ID_MOLD) /obj/item/projectile/energy/blob/splattering splatter = TRUE @@ -45,7 +45,7 @@ /obj/item/projectile/energy/blob/toxic damage_type = TOX check_armour = "bio" - my_chems = list("amatoxin") + my_chems = list(REAGENT_ID_AMATOXIN) /obj/item/projectile/energy/blob/toxic/splattering splatter = TRUE @@ -53,7 +53,7 @@ /obj/item/projectile/energy/blob/acid damage_type = BURN check_armour = "bio" - my_chems = list("sacid", "mold") + my_chems = list(REAGENT_ID_SACID, REAGENT_ID_MOLD) /obj/item/projectile/energy/blob/acid/splattering splatter = TRUE @@ -61,10 +61,10 @@ /obj/item/projectile/energy/blob/combustible splatter = TRUE flammability = 0.25 - my_chems = list("fuel", "mold") + my_chems = list(REAGENT_ID_FUEL, REAGENT_ID_MOLD) /obj/item/projectile/energy/blob/freezing - my_chems = list("frostoil") + my_chems = list(REAGENT_ID_FROSTOIL) modifier_type_to_apply = /datum/modifier/chilled modifier_duration = 1 MINUTE diff --git a/code/modules/random_map/automata/diona.dm b/code/modules/random_map/automata/diona.dm index b94e4e60f5..2385bba57b 100644 --- a/code/modules/random_map/automata/diona.dm +++ b/code/modules/random_map/automata/diona.dm @@ -1,5 +1,5 @@ /turf/simulated/wall/diona/Initialize(mapload) - ..(mapload, "biomass") + ..(mapload, MAT_BIOMASS) /turf/simulated/wall/diona/attack_generic(var/mob/user, var/damage, var/attack_message) if(istype(user, /mob/living/carbon/alien/diona)) diff --git a/code/modules/random_map/noise/ore.dm b/code/modules/random_map/noise/ore.dm index 8466dd0688..d6a57da929 100644 --- a/code/modules/random_map/noise/ore.dm +++ b/code/modules/random_map/noise/ore.dm @@ -48,67 +48,67 @@ continue if(!priority_process) sleep(-1) T.resources = list() - T.resources["sand"] = rand(3,5) - T.resources["carbon"] = rand(3,5) + T.resources[ORE_SAND] = rand(3,5) + T.resources[ORE_CARBON] = rand(3,5) var/current_cell = map[get_map_cell(x,y)] if(current_cell < rare_val) // Surface metals. - T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["gold"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["silver"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["marble"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["diamond"] = 0 - T.resources["phoron"] = 0 - T.resources["platinum"] = 0 - T.resources["mhydrogen"] = 0 - T.resources["verdantium"] = 0 - T.resources["lead"] = 0 - //T.resources["copper"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) - //T.resources["tin"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - //T.resources["bauxite"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["rutile"] = 0 - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_HEMATITE] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_GOLD] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_SILVER] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_URANIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_MARBLE] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_DIAMOND] = 0 + T.resources[ORE_PHORON] = 0 + T.resources[ORE_PLATINUM] = 0 + T.resources[ORE_MHYDROGEN] = 0 + T.resources[ORE_VERDANTIUM] = 0 + T.resources[ORE_LEAD] = 0 + //T.resources[ORE_COPPER] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) + //T.resources[ORE_TIN] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + //T.resources[ORE_BAUXITE] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_RUTILE] = 0 + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 else if(current_cell < deep_val) // Rare metals. - T.resources["gold"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["silver"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["uranium"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["phoron"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["platinum"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["verdantium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["mhydrogen"] = 0 - T.resources["diamond"] = 0 - T.resources["hematite"] = 0 - T.resources["marble"] = 0 - //T.resources["copper"] = 0 - //T.resources["tin"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - //T.resources["bauxite"] = 0 - T.resources["rutile"] = 0 - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_GOLD] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_SILVER] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_URANIUM] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PHORON] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PLATINUM] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_VERDANTIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_LEAD] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_MHYDROGEN] = 0 + T.resources[ORE_DIAMOND] = 0 + T.resources[ORE_HEMATITE] = 0 + T.resources[ORE_MARBLE] = 0 + //T.resources[ORE_COPPER] = 0 + //T.resources[ORE_TIN] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + //T.resources[ORE_BAUXITE] = 0 + T.resources[ORE_RUTILE] = 0 + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 else // Deep metals. - T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["diamond"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["verdantium"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["phoron"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["platinum"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["mhydrogen"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["marble"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) - T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_HIGH_MAX) - T.resources["hematite"] = 0 - T.resources["gold"] = 0 - T.resources["silver"] = 0 - //T.resources["copper"] = 0 - //T.resources["tin"] = 0 - //T.resources["bauxite"] = 0 - T.resources["rutile"] = 0 - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_URANIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_DIAMOND] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_VERDANTIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PHORON] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_PLATINUM] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_MHYDROGEN] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_MARBLE] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_LEAD] = rand(RESOURCE_LOW_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_HEMATITE] = 0 + T.resources[ORE_GOLD] = 0 + T.resources[ORE_SILVER] = 0 + //T.resources[ORE_COPPER] = 0 + //T.resources[ORE_TIN] = 0 + //T.resources[ORE_BAUXITE] = 0 + T.resources[ORE_RUTILE] = 0 + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 return /datum/random_map/noise/ore/get_map_char(var/value) diff --git a/code/modules/reagents/holder/holder.dm b/code/modules/reagents/holder/holder.dm index 96bd9a6e05..764edc03e5 100644 --- a/code/modules/reagents/holder/holder.dm +++ b/code/modules/reagents/holder/holder.dm @@ -109,7 +109,7 @@ for(var/datum/reagent/current in reagent_list) if(current.id == id) - if(current.id == "blood") + if(current.id == REAGENT_ID_BLOOD) if(LAZYLEN(data) && !isnull(data["species"]) && !isnull(current.data["species"]) && data["species"] != current.data["species"]) // Species bloodtypes are already incompatible, this just stops it from mixing into the one already in a container. continue diff --git a/code/modules/reagents/machinery/dispenser/cartridge_presets.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm index 4f1098c607..d2cbfa6d9a 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge_presets.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm @@ -6,248 +6,248 @@ // Multiple /obj/item/reagent_containers/chem_disp_cartridge/water - spawn_reagent = "water" + spawn_reagent = REAGENT_ID_WATER /obj/item/reagent_containers/chem_disp_cartridge/sugar - spawn_reagent = "sugar" + spawn_reagent = REAGENT_ID_SUGAR // Chemistry /obj/item/reagent_containers/chem_disp_cartridge/hydrogen - spawn_reagent = "hydrogen" + spawn_reagent = REAGENT_ID_HYDROGEN /obj/item/reagent_containers/chem_disp_cartridge/lithium - spawn_reagent = "lithium" + spawn_reagent = REAGENT_ID_LITHIUM /obj/item/reagent_containers/chem_disp_cartridge/carbon - spawn_reagent = "carbon" + spawn_reagent = REAGENT_ID_CARBON /obj/item/reagent_containers/chem_disp_cartridge/nitrogen - spawn_reagent = "nitrogen" + spawn_reagent = REAGENT_ID_NITROGEN /obj/item/reagent_containers/chem_disp_cartridge/oxygen - spawn_reagent = "oxygen" + spawn_reagent = REAGENT_ID_OXYGEN /obj/item/reagent_containers/chem_disp_cartridge/fluorine - spawn_reagent = "fluorine" + spawn_reagent = REAGENT_ID_FLUORINE /obj/item/reagent_containers/chem_disp_cartridge/sodium - spawn_reagent = "sodium" + spawn_reagent = REAGENT_ID_SODIUM /obj/item/reagent_containers/chem_disp_cartridge/aluminum - spawn_reagent = "aluminum" + spawn_reagent = REAGENT_ID_ALUMINIUM /obj/item/reagent_containers/chem_disp_cartridge/silicon - spawn_reagent = "silicon" + spawn_reagent = REAGENT_ID_SILICON /obj/item/reagent_containers/chem_disp_cartridge/phosphorus - spawn_reagent = "phosphorus" + spawn_reagent = REAGENT_ID_PHOSPHORUS /obj/item/reagent_containers/chem_disp_cartridge/sulfur - spawn_reagent = "sulfur" + spawn_reagent = REAGENT_ID_SULFUR /obj/item/reagent_containers/chem_disp_cartridge/chlorine - spawn_reagent = "chlorine" + spawn_reagent = REAGENT_ID_CHLORINE /obj/item/reagent_containers/chem_disp_cartridge/potassium - spawn_reagent = "potassium" + spawn_reagent = REAGENT_ID_POTASSIUM /obj/item/reagent_containers/chem_disp_cartridge/iron - spawn_reagent = "iron" + spawn_reagent = REAGENT_ID_IRON /obj/item/reagent_containers/chem_disp_cartridge/copper - spawn_reagent = "copper" + spawn_reagent = REAGENT_ID_COPPER /obj/item/reagent_containers/chem_disp_cartridge/mercury - spawn_reagent = "mercury" + spawn_reagent = REAGENT_ID_MERCURY /obj/item/reagent_containers/chem_disp_cartridge/radium - spawn_reagent = "radium" + spawn_reagent = REAGENT_ID_RADIUM /obj/item/reagent_containers/chem_disp_cartridge/ethanol - spawn_reagent = "ethanol" + spawn_reagent = REAGENT_ID_ETHANOL /obj/item/reagent_containers/chem_disp_cartridge/sacid - spawn_reagent = "sacid" + spawn_reagent = REAGENT_ID_SACID /obj/item/reagent_containers/chem_disp_cartridge/tungsten - spawn_reagent = "tungsten" + spawn_reagent = REAGENT_ID_TUNGSTEN /obj/item/reagent_containers/chem_disp_cartridge/calcium - spawn_reagent = "calcium" + spawn_reagent = REAGENT_ID_CALCIUM // Bar, alcoholic /obj/item/reagent_containers/chem_disp_cartridge/beer - spawn_reagent = "beer" + spawn_reagent = REAGENT_ID_BEER /obj/item/reagent_containers/chem_disp_cartridge/kahlua - spawn_reagent = "kahlua" + spawn_reagent = REAGENT_ID_KAHLUA /obj/item/reagent_containers/chem_disp_cartridge/whiskey - spawn_reagent = "whiskey" + spawn_reagent = REAGENT_ID_WHISKEY /obj/item/reagent_containers/chem_disp_cartridge/redwine - spawn_reagent = "redwine" + spawn_reagent = REAGENT_ID_REDWINE /obj/item/reagent_containers/chem_disp_cartridge/whitewine - spawn_reagent = "whitewine" + spawn_reagent = REAGENT_ID_WHITEWINE /obj/item/reagent_containers/chem_disp_cartridge/vodka - spawn_reagent = "vodka" + spawn_reagent = REAGENT_ID_VODKA /obj/item/reagent_containers/chem_disp_cartridge/gin - spawn_reagent = "gin" + spawn_reagent = REAGENT_ID_GIN /obj/item/reagent_containers/chem_disp_cartridge/rum - spawn_reagent = "rum" + spawn_reagent = REAGENT_ID_RUM /obj/item/reagent_containers/chem_disp_cartridge/tequila - spawn_reagent = "tequilla" + spawn_reagent = REAGENT_ID_TEQUILLA /obj/item/reagent_containers/chem_disp_cartridge/vermouth - spawn_reagent = "vermouth" + spawn_reagent = REAGENT_ID_VERMOUTH /obj/item/reagent_containers/chem_disp_cartridge/cognac - spawn_reagent = "cognac" + spawn_reagent = REAGENT_ID_COGNAC /obj/item/reagent_containers/chem_disp_cartridge/ale - spawn_reagent = "ale" + spawn_reagent = REAGENT_ID_ALE /obj/item/reagent_containers/chem_disp_cartridge/mead - spawn_reagent = "mead" + spawn_reagent = REAGENT_ID_MEAD /obj/item/reagent_containers/chem_disp_cartridge/bitters - spawn_reagent = "bitters" + spawn_reagent = REAGENT_ID_BITTERS /obj/item/reagent_containers/chem_disp_cartridge/cider - spawn_reagent = "cider" + spawn_reagent = REAGENT_ID_CIDER // Bar, soft /obj/item/reagent_containers/chem_disp_cartridge/ice - spawn_reagent = "ice" + spawn_reagent = REAGENT_ID_ICE /obj/item/reagent_containers/chem_disp_cartridge/tea - spawn_reagent = "tea" + spawn_reagent = REAGENT_ID_TEA /obj/item/reagent_containers/chem_disp_cartridge/icetea - spawn_reagent = "icetea" + spawn_reagent = REAGENT_ID_ICETEA /obj/item/reagent_containers/chem_disp_cartridge/cola - spawn_reagent = "cola" + spawn_reagent = REAGENT_ID_COLA /obj/item/reagent_containers/chem_disp_cartridge/smw - spawn_reagent = "spacemountainwind" + spawn_reagent = REAGENT_ID_SPACEMOUNTAINWIND /obj/item/reagent_containers/chem_disp_cartridge/dr_gibb - spawn_reagent = "dr_gibb" + spawn_reagent = REAGENT_ID_DRGIBB /obj/item/reagent_containers/chem_disp_cartridge/spaceup - spawn_reagent = "space_up" + spawn_reagent = REAGENT_ID_SPACEUP /obj/item/reagent_containers/chem_disp_cartridge/tonic - spawn_reagent = "tonic" + spawn_reagent = REAGENT_ID_TONIC /obj/item/reagent_containers/chem_disp_cartridge/sodawater - spawn_reagent = "sodawater" + spawn_reagent = REAGENT_ID_SODAWATER /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime - spawn_reagent = "lemon_lime" + spawn_reagent = REAGENT_ID_LEMONLIME /obj/item/reagent_containers/chem_disp_cartridge/orange - spawn_reagent = "orangejuice" + spawn_reagent = REAGENT_ID_ORANGEJUICE /obj/item/reagent_containers/chem_disp_cartridge/lime - spawn_reagent = "limejuice" + spawn_reagent = REAGENT_ID_LIMEJUICE /obj/item/reagent_containers/chem_disp_cartridge/watermelon - spawn_reagent = "watermelonjuice" + spawn_reagent = REAGENT_ID_WATERMELONJUICE /obj/item/reagent_containers/chem_disp_cartridge/lemon - spawn_reagent = "lemonjuice" + spawn_reagent = REAGENT_ID_LEMONJUICE /obj/item/reagent_containers/chem_disp_cartridge/grapesoda - spawn_reagent = "grapesoda" + spawn_reagent = REAGENT_ID_GRAPESODA /obj/item/reagent_containers/chem_disp_cartridge/pineapple - spawn_reagent = "pineapplejuice" + spawn_reagent = REAGENT_ID_PINEAPPLEJUICE // Bar, coffee /obj/item/reagent_containers/chem_disp_cartridge/coffee - spawn_reagent = "coffee" + spawn_reagent = REAGENT_ID_COFFEE /obj/item/reagent_containers/chem_disp_cartridge/drip_coffee - spawn_reagent = "drip_coffee" + spawn_reagent = REAGENT_ID_DRIPCOFFEE /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte - spawn_reagent = "cafe_latte" + spawn_reagent = REAGENT_ID_CAFELATTE /obj/item/reagent_containers/chem_disp_cartridge/soy_latte - spawn_reagent = "soy_latte" + spawn_reagent = REAGENT_ID_SOYLATTE /obj/item/reagent_containers/chem_disp_cartridge/hot_coco - spawn_reagent = "hot_coco" + spawn_reagent = REAGENT_ID_HOTCOCO /obj/item/reagent_containers/chem_disp_cartridge/milk - spawn_reagent = "milk" + spawn_reagent = REAGENT_ID_MILK /obj/item/reagent_containers/chem_disp_cartridge/milk_foam - spawn_reagent = "milk_foam" + spawn_reagent = REAGENT_ID_MILKFOAM /obj/item/reagent_containers/chem_disp_cartridge/cream - spawn_reagent = "cream" + spawn_reagent = REAGENT_ID_CREAM /obj/item/reagent_containers/chem_disp_cartridge/mint - spawn_reagent = "mint" + spawn_reagent = REAGENT_ID_MINT /obj/item/reagent_containers/chem_disp_cartridge/berry - spawn_reagent = "berryjuice" + spawn_reagent = REAGENT_ID_BERRYJUICE /obj/item/reagent_containers/chem_disp_cartridge/greentea - spawn_reagent = "greentea" + spawn_reagent = REAGENT_ID_GREENTEA /obj/item/reagent_containers/chem_disp_cartridge/decaf - spawn_reagent = "decaf" + spawn_reagent = REAGENT_ID_DECAF /obj/item/reagent_containers/chem_disp_cartridge/chaitea - spawn_reagent = "chaitea" + spawn_reagent = REAGENT_ID_CHAITEA /obj/item/reagent_containers/chem_disp_cartridge/decafchai - spawn_reagent = "chaiteadecaf" + spawn_reagent = REAGENT_ID_CHAITEADECAF // syrups /obj/item/reagent_containers/chem_disp_cartridge/syrup_pumpkin - spawn_reagent = "syrup_pumpkin" + spawn_reagent = REAGENT_ID_SYRUPPUMPKIN /obj/item/reagent_containers/chem_disp_cartridge/syrup_caramel - spawn_reagent = "syrup_caramel" + spawn_reagent = REAGENT_ID_SYRUPCARAMEL /obj/item/reagent_containers/chem_disp_cartridge/syrup_scaramel - spawn_reagent = "syrup_salted_caramel" + spawn_reagent = REAGENT_ID_SYRUPSALTEDCARAMEL /obj/item/reagent_containers/chem_disp_cartridge/syrup_irish - spawn_reagent = "syrup_irish" + spawn_reagent = REAGENT_ID_SYRUPIRISH /obj/item/reagent_containers/chem_disp_cartridge/syrup_almond - spawn_reagent = "syrup_almond" + spawn_reagent = REAGENT_ID_SYRUPALMOND /obj/item/reagent_containers/chem_disp_cartridge/syrup_cinnamon - spawn_reagent = "syrup_cinnamon" + spawn_reagent = REAGENT_ID_SYRUPCINNAMON /obj/item/reagent_containers/chem_disp_cartridge/syrup_pistachio - spawn_reagent = "syrup_pistachio" + spawn_reagent = REAGENT_ID_SYRUPPISTACHIO /obj/item/reagent_containers/chem_disp_cartridge/syrup_vanilla - spawn_reagent = "syrup_vanilla" + spawn_reagent = REAGENT_ID_SYRUPVANILLA /obj/item/reagent_containers/chem_disp_cartridge/syrup_toffee - spawn_reagent = "syrup_toffee" + spawn_reagent = REAGENT_ID_SYRUPTOFFEE /obj/item/reagent_containers/chem_disp_cartridge/syrup_cherry - spawn_reagent = "syrup_cherry" + spawn_reagent = REAGENT_ID_SYRUPCHERRY /obj/item/reagent_containers/chem_disp_cartridge/grenadine - spawn_reagent = "grenadine" + spawn_reagent = REAGENT_ID_GRENADINE /obj/item/reagent_containers/chem_disp_cartridge/syrup_butterscotch - spawn_reagent = "syrup_butterscotch" + spawn_reagent = REAGENT_ID_SYRUPBUTTERSCOTCH /obj/item/reagent_containers/chem_disp_cartridge/syrup_chocolate - spawn_reagent = "syrup_chocolate" + spawn_reagent = REAGENT_ID_SYRUPCHOCOLATE /obj/item/reagent_containers/chem_disp_cartridge/syrup_wchocolate - spawn_reagent = "syrup_white_chocolate" + spawn_reagent = REAGENT_ID_SYRUPWHITECHOCOLATE /obj/item/reagent_containers/chem_disp_cartridge/syrup_strawberry - spawn_reagent = "syrup_strawberry" + spawn_reagent = REAGENT_ID_SYRUPSTRAWBERRY /obj/item/reagent_containers/chem_disp_cartridge/syrup_coconut - spawn_reagent = "syrup_coconut" + spawn_reagent = REAGENT_ID_SYRUPCOCONUT /obj/item/reagent_containers/chem_disp_cartridge/syrup_ginger - spawn_reagent = "syrup_ginger" + spawn_reagent = REAGENT_ID_SYRUPGINGER /obj/item/reagent_containers/chem_disp_cartridge/syrup_gingerbread - spawn_reagent = "syrup_gingerbread" + spawn_reagent = REAGENT_ID_SYRUPGINGERBREAD /obj/item/reagent_containers/chem_disp_cartridge/syrup_peppermint - spawn_reagent = "syrup_peppermint" + spawn_reagent = REAGENT_ID_SYRUPPEPPERMINT /obj/item/reagent_containers/chem_disp_cartridge/syrup_birthday - spawn_reagent = "syrup_birthday" + spawn_reagent = REAGENT_ID_SYRUPBIRTHDAY // ERT /obj/item/reagent_containers/chem_disp_cartridge/inaprov - spawn_reagent = "inaprovaline" + spawn_reagent = REAGENT_ID_INAPROVALINE /obj/item/reagent_containers/chem_disp_cartridge/ryetalyn - spawn_reagent = "ryetalyn" + spawn_reagent = REAGENT_ID_RYETALYN /obj/item/reagent_containers/chem_disp_cartridge/paracetamol - spawn_reagent = "paracetamol" + spawn_reagent = REAGENT_ID_PARACETAMOL /obj/item/reagent_containers/chem_disp_cartridge/tramadol - spawn_reagent = "tramadol" + spawn_reagent = REAGENT_ID_TRAMADOL /obj/item/reagent_containers/chem_disp_cartridge/oxycodone - spawn_reagent = "oxycodone" + spawn_reagent = REAGENT_ID_OXYCODONE /obj/item/reagent_containers/chem_disp_cartridge/sterilizine - spawn_reagent = "sterilizine" + spawn_reagent = REAGENT_ID_STERILIZINE /obj/item/reagent_containers/chem_disp_cartridge/leporazine - spawn_reagent = "leporazine" + spawn_reagent = REAGENT_ID_LEPORAZINE /obj/item/reagent_containers/chem_disp_cartridge/kelotane - spawn_reagent = "kelotane" + spawn_reagent = REAGENT_ID_KELOTANE /obj/item/reagent_containers/chem_disp_cartridge/dermaline - spawn_reagent = "dermaline" + spawn_reagent = REAGENT_ID_DERMALINE /obj/item/reagent_containers/chem_disp_cartridge/dexalin - spawn_reagent = "dexalin" + spawn_reagent = REAGENT_ID_DEXALIN /obj/item/reagent_containers/chem_disp_cartridge/dexalin/small volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin /obj/item/reagent_containers/chem_disp_cartridge/dexalin_p - spawn_reagent = "dexalinp" + spawn_reagent = REAGENT_ID_DEXALINP /obj/item/reagent_containers/chem_disp_cartridge/tricord - spawn_reagent = "tricordrazine" + spawn_reagent = REAGENT_ID_TRICORDRAZINE /obj/item/reagent_containers/chem_disp_cartridge/dylovene - spawn_reagent = "anti_toxin" + spawn_reagent = REAGENT_ID_ANTITOXIN /obj/item/reagent_containers/chem_disp_cartridge/synaptizine - spawn_reagent = "synaptizine" + spawn_reagent = REAGENT_ID_SYNAPTIZINE /obj/item/reagent_containers/chem_disp_cartridge/hyronalin - spawn_reagent = "hyronalin" + spawn_reagent = REAGENT_ID_HYRONALIN /obj/item/reagent_containers/chem_disp_cartridge/arithrazine - spawn_reagent = "arithrazine" + spawn_reagent = REAGENT_ID_ARITHRAZINE /obj/item/reagent_containers/chem_disp_cartridge/alkysine - spawn_reagent = "alkysine" + spawn_reagent = REAGENT_ID_ALKYSINE /obj/item/reagent_containers/chem_disp_cartridge/imidazoline - spawn_reagent = "imidazoline" + spawn_reagent = REAGENT_ID_IMIDAZOLINE /obj/item/reagent_containers/chem_disp_cartridge/peridaxon - spawn_reagent = "peridaxon" + spawn_reagent = REAGENT_ID_PERIDAXON /obj/item/reagent_containers/chem_disp_cartridge/bicaridine - spawn_reagent = "bicaridine" + spawn_reagent = REAGENT_ID_BICARIDINE /obj/item/reagent_containers/chem_disp_cartridge/hyperzine - spawn_reagent = "hyperzine" + spawn_reagent = REAGENT_ID_HYPERZINE /obj/item/reagent_containers/chem_disp_cartridge/rezadone - spawn_reagent = "rezadone" + spawn_reagent = REAGENT_ID_REZADONE /obj/item/reagent_containers/chem_disp_cartridge/spaceacillin - spawn_reagent = "spaceacillin" + spawn_reagent = REAGENT_ID_SPACEACILLIN /obj/item/reagent_containers/chem_disp_cartridge/ethylredox - spawn_reagent = "ethylredoxrazine" + spawn_reagent = REAGENT_ID_ETHYLREDOXRAZINE /obj/item/reagent_containers/chem_disp_cartridge/sleeptox - spawn_reagent = "stoxin" + spawn_reagent = REAGENT_ID_STOXIN /obj/item/reagent_containers/chem_disp_cartridge/chloral - spawn_reagent = "chloralhydrate" + spawn_reagent = REAGENT_ID_CHLORALHYDRATE /obj/item/reagent_containers/chem_disp_cartridge/cryoxadone - spawn_reagent = "cryoxadone" + spawn_reagent = REAGENT_ID_CRYOXADONE /obj/item/reagent_containers/chem_disp_cartridge/clonexadone - spawn_reagent = "clonexadone" + spawn_reagent = REAGENT_ID_CLONEXADONE diff --git a/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm index abd54931b7..08f50c4898 100644 --- a/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm +++ b/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm @@ -1,17 +1,17 @@ /obj/item/reagent_containers/chem_disp_cartridge //Xenoflora - ammonia spawn_reagent = "ammonia" - diethylamine spawn_reagent = "diethylamine" - plantbgone spawn_reagent = "plantbgone" - mutagen spawn_reagent = "mutagen" + ammonia spawn_reagent = REAGENT_ID_AMMONIA + diethylamine spawn_reagent = REAGENT_ID_DIETHYLAMINE + plantbgone spawn_reagent = REAGENT_ID_PLANTBGONE + mutagen spawn_reagent = REAGENT_ID_MUTAGEN //Biochem - nutriment spawn_reagent = "nutriment" - protein spawn_reagent = "protein" + nutriment spawn_reagent = REAGENT_ID_NUTRIMENT + protein spawn_reagent = REAGENT_ID_PROTEIN //Special Ops - biomass spawn_reagent = "biomass" - carthatoline spawn_reagent = "carthatoline" - corophizine spawn_reagent = "corophizine" - myelamine spawn_reagent = "myelamine" - osteodaxon spawn_reagent = "osteodaxon" \ No newline at end of file + biomass spawn_reagent = REAGENT_ID_BIOMASS + carthatoline spawn_reagent = REAGENT_ID_CARTHATOLINE + corophizine spawn_reagent = REAGENT_ID_COROPHIZINE + myelamine spawn_reagent = REAGENT_ID_MYELAMINE + osteodaxon spawn_reagent = REAGENT_ID_OSTEODAXON diff --git a/code/modules/reagents/machinery/dispenser/dispenser2.dm b/code/modules/reagents/machinery/dispenser/dispenser2.dm index 015234cf62..5384e93f07 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser2.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser2.dm @@ -135,6 +135,10 @@ to_chat(user, span_warning("You don't see how \the [src] could dispense reagents into \the [RC].")) return + if(istype(RC, /obj/item/reagent_containers/glass/cooler_bottle)) + to_chat(user, span_warning("You don't see how \the [RC] could fit into \the [src].")) + return + container = RC user.drop_from_inventory(RC) RC.loc = src diff --git a/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm b/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm index 2495018f5e..1004d3ff48 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm @@ -29,42 +29,42 @@ /obj/machinery/chemical_dispenser dispense_reagents = list( - "hydrogen", "lithium", "carbon", "nitrogen", "oxygen", "fluorine", "sodium", - "aluminum", "silicon", "phosphorus", "sulfur", "chlorine", "potassium", "iron", - "copper", "mercury", "radium", "water", "ethanol", "sugar", "sacid", "tungsten", - "calcium" + REAGENT_ID_HYDROGEN, REAGENT_ID_LITHIUM, REAGENT_ID_CARBON, REAGENT_ID_NITROGEN, REAGENT_ID_OXYGEN, REAGENT_ID_FLUORINE, REAGENT_ID_SODIUM, + REAGENT_ID_ALUMINIUM, REAGENT_ID_SILICON, REAGENT_ID_PHOSPHORUS, REAGENT_ID_SULFUR, REAGENT_ID_CHLORINE, REAGENT_ID_POTASSIUM, REAGENT_ID_IRON, + REAGENT_ID_COPPER, REAGENT_ID_MERCURY, REAGENT_ID_RADIUM, REAGENT_ID_WATER, REAGENT_ID_ETHANOL, REAGENT_ID_SUGAR, REAGENT_ID_SACID, REAGENT_ID_TUNGSTEN, + REAGENT_ID_CALCIUM ) /obj/machinery/chemical_dispenser/ert dispense_reagents = list( - "inaprovaline", "ryetalyn", "paracetamol", "tramadol", "oxycodone", "sterilizine", "leporazine", - "kelotane", "dermaline", "dexalin", "dexalinp", "tricordrazine", "anti_toxin", "synaptizine", - "hyronalin", "arithrazine", "alkysine", "imidazoline", "peridaxon", "bicaridine", "hyperzine", - "rezadone", "spaceacillin", "ethylredoxrazine", "stoxin", "chloralhydrate", "cryoxadone", - "clonexadone" + REAGENT_ID_INAPROVALINE, REAGENT_ID_RYETALYN, REAGENT_ID_PARACETAMOL, REAGENT_ID_TRAMADOL, REAGENT_ID_OXYCODONE, REAGENT_ID_STERILIZINE, REAGENT_ID_LEPORAZINE, + REAGENT_ID_KELOTANE, REAGENT_ID_DERMALINE, REAGENT_ID_DEXALIN, REAGENT_ID_DEXALINP, REAGENT_ID_TRICORDRAZINE, REAGENT_ID_ANTITOXIN, REAGENT_ID_SYNAPTIZINE, + REAGENT_ID_HYRONALIN, REAGENT_ID_ARITHRAZINE, REAGENT_ID_ALKYSINE, REAGENT_ID_IMIDAZOLINE, REAGENT_ID_PERIDAXON, REAGENT_ID_BICARIDINE, REAGENT_ID_HYPERZINE, + REAGENT_ID_REZADONE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_ETHYLREDOXRAZINE, REAGENT_ID_STOXIN, REAGENT_ID_CHLORALHYDRATE, REAGENT_ID_CRYOXADONE, + REAGENT_ID_CLONEXADONE ) /obj/machinery/chemical_dispenser/bar_soft dispense_reagents = list( - "water", "ice", "coffee", "cream", "tea", "icetea", "cola", "spacemountainwind", "dr_gibb", "space_up", "tonic", - "sodawater", "lemonjuice", "lemon_lime", "sugar", "orangejuice", "limejuice", "watermelonjuice", "thirteenloko", "grapesoda", "pineapplejuice" + REAGENT_ID_WATER, REAGENT_ID_ICE, REAGENT_ID_COFFEE, REAGENT_ID_CREAM, REAGENT_ID_TEA, REAGENT_ID_ICETEA, REAGENT_ID_COLA, REAGENT_ID_SPACEMOUNTAINWIND, REAGENT_ID_DRGIBB, REAGENT_ID_SPACEUP, REAGENT_ID_TONIC, + REAGENT_ID_SODAWATER, REAGENT_ID_LEMONJUICE, REAGENT_ID_LEMONLIME, REAGENT_ID_SUGAR, REAGENT_ID_ORANGEJUICE, REAGENT_ID_LIMEJUICE, REAGENT_ID_WATERMELONJUICE,REAGENT_ID_THIRTEENLOKO, REAGENT_ID_GRAPESODA, REAGENT_ID_PINEAPPLEJUICE ) /obj/machinery/chemical_dispenser/bar_alc dispense_reagents = list( - "lemon_lime", "sugar", "orangejuice", "limejuice", "sodawater", "tonic", "beer", "kahlua", - "whiskey", "redwine", "whitewine", "vodka", "cider", "gin", "rum", "tequilla", "vermouth", "cognac", "ale", "mead", "bitters" + REAGENT_ID_LEMONLIME, REAGENT_ID_SUGAR, REAGENT_ID_ORANGEJUICE, REAGENT_ID_LIMEJUICE, REAGENT_ID_SODAWATER, REAGENT_ID_TONIC, REAGENT_ID_BEER, REAGENT_ID_KAHLUA, + REAGENT_ID_WHISKEY, REAGENT_ID_REDWINE, REAGENT_ID_WHITEWINE, REAGENT_ID_VODKA, REAGENT_ID_CIDER, REAGENT_ID_GIN, REAGENT_ID_RUM, REAGENT_ID_TEQUILLA, REAGENT_ID_VERMOUTH, REAGENT_ID_COGNAC, REAGENT_ID_ALE, REAGENT_ID_MEAD, REAGENT_ID_BITTERS ) /obj/machinery/chemical_dispenser/bar_coffee dispense_reagents = list( - "coffee", "cafe_latte", "soy_latte", "hot_coco", "milk", "cream", "tea", "ice", "water", - "orangejuice", "lemonjuice", "limejuice", "berryjuice", "mint", "decaf", "greentea", "milk_foam", "drip_coffee" + REAGENT_ID_COFFEE, REAGENT_ID_CAFELATTE, REAGENT_ID_SOYLATTE, REAGENT_ID_HOTCOCO, REAGENT_ID_MILK, REAGENT_ID_CREAM, REAGENT_ID_TEA, REAGENT_ID_ICE, REAGENT_ID_WATER, + REAGENT_ID_ORANGEJUICE, REAGENT_ID_LEMONJUICE, REAGENT_ID_LIMEJUICE, REAGENT_ID_BERRYJUICE, REAGENT_ID_MINT, REAGENT_ID_DECAF, REAGENT_ID_GREENTEA, REAGENT_ID_MILKFOAM, REAGENT_ID_DRIPCOFFEE ) /obj/machinery/chemical_dispenser/bar_syrup dispense_reagents = list( - "syrup_pumpkin", "syrup_caramel", "syrup_salted_caramel", "syrup_irish", "syrup_almond", "syrup_cinnamon", "syrup_pistachio", - "syrup_vanilla", "syrup_toffee", "grenadine", "syrup_cherry", "syrup_butterscotch", "syrup_chocolate", "syrup_white_chocolate", "syrup_strawberry", - "syrup_coconut", "syrup_ginger", "syrup_gingerbread", "syrup_peppermint", "syrup_birthday" + REAGENT_ID_SYRUPPUMPKIN, REAGENT_ID_SYRUPCARAMEL, REAGENT_ID_SYRUPSALTEDCARAMEL, REAGENT_ID_SYRUPIRISH, REAGENT_ID_SYRUPALMOND, REAGENT_ID_SYRUPCINNAMON, REAGENT_ID_SYRUPPISTACHIO, + REAGENT_ID_SYRUPVANILLA, REAGENT_ID_SYRUPTOFFEE, REAGENT_ID_GRENADINE, REAGENT_ID_SYRUPCHERRY, REAGENT_ID_SYRUPBUTTERSCOTCH, REAGENT_ID_SYRUPCHOCOLATE, REAGENT_ID_SYRUPWHITECHOCOLATE, REAGENT_ID_SYRUPSTRAWBERRY, + REAGENT_ID_SYRUPCOCONUT, REAGENT_ID_SYRUPGINGER, REAGENT_ID_SYRUPGINGERBREAD, REAGENT_ID_SYRUPPEPPERMINT, REAGENT_ID_SYRUPBIRTHDAY ) diff --git a/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm b/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm index 5a09eac7df..7814c13f6e 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm @@ -2,7 +2,7 @@ name = "xenoflora chem dispenser" ui_title = "Xenoflora Chemical Dispenser" dispense_reagents = list( - "water", "sugar", "ethanol", "radium", "ammonia", "diethylamine", "plantbgone", "mutagen", "calcium" + REAGENT_ID_WATER, REAGENT_ID_SUGAR, REAGENT_ID_ETHANOL, REAGENT_ID_RADIUM, REAGENT_ID_AMMONIA, REAGENT_ID_DIETHYLAMINE, REAGENT_ID_PLANTBGONE, REAGENT_ID_MUTAGEN, REAGENT_ID_CALCIUM ) /obj/machinery/chemical_dispenser/xenoflora/full @@ -22,7 +22,7 @@ name = "bioproduct dispenser" ui_title = "Bioproduct Dispenser" dispense_reagents = list( - "nutriment", "protein", "milk" + REAGENT_ID_NUTRIMENT, REAGENT_ID_PROTEIN, REAGENT_ID_MILK ) /obj/machinery/chemical_dispenser/biochemistry/full @@ -70,4 +70,4 @@ name = "chemical dispenser" icon = 'icons/obj/abductor_vr.dmi' icon_state = "dispenser_2way" - desc = "A mysterious machine which can fabricate many chemicals." \ No newline at end of file + desc = "A mysterious machine which can fabricate many chemicals." diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm index 9e823fb51a..081ed52b76 100644 --- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm +++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm @@ -108,7 +108,7 @@ /obj/structure/reagent_dispensers/watertank/Initialize() . = ..() - reagents.add_reagent("water", 1000) + reagents.add_reagent(REAGENT_ID_WATER, 1000) /obj/structure/reagent_dispensers/watertank/high name = "high-capacity water tank" @@ -117,7 +117,7 @@ /obj/structure/reagent_dispensers/watertank/high/Initialize() . = ..() - reagents.add_reagent("water", 4000) + reagents.add_reagent(REAGENT_ID_WATER, 4000) /obj/structure/reagent_dispensers/watertank/barrel name = "water barrel" @@ -128,14 +128,14 @@ /obj/structure/reagent_dispensers/fueltank name = "fuel tank" desc = "A fuel tank." - icon_state = "fuel" + icon_state = REAGENT_ID_FUEL amount_per_transfer_from_this = 10 var/modded = 0 var/obj/item/assembly_holder/rig = null /obj/structure/reagent_dispensers/fueltank/Initialize() . = ..() - reagents.add_reagent("fuel",1000) + reagents.add_reagent(REAGENT_ID_FUEL,1000) /obj/structure/reagent_dispensers/fueltank/high name = "high-capacity fuel tank" @@ -144,7 +144,7 @@ /obj/structure/reagent_dispensers/fueltank/high/Initialize() . = ..() - reagents.add_reagent("fuel",4000) + reagents.add_reagent(REAGENT_ID_FUEL,4000) //Foam /obj/structure/reagent_dispensers/foam @@ -155,7 +155,7 @@ /obj/structure/reagent_dispensers/foam/Initialize() . = ..() - reagents.add_reagent("firefoam",1000) + reagents.add_reagent(REAGENT_ID_FIREFOAM,1000) //Helium3 /obj/structure/reagent_dispensers/he3 @@ -166,7 +166,7 @@ /obj/structure/reagent_dispenser/he3/Initialize() ..() - reagents.add_reagent("helium3",1000) + reagents.add_reagent(REAGENT_ID_HELIUM3,1000) /* * Misc @@ -224,7 +224,7 @@ modded = modded ? 0 : 1 playsound(src, W.usesound, 75, 1) if (modded) - message_admins("[key_name_admin(user)] opened fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]), leaking fuel. (JMP)") + message_admins("[key_name_admin(user)] opened fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]), leaking fuel. (JMP)") log_game("[key_name(user)] opened fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]), leaking fuel.") leak_fuel(amount_per_transfer_from_this) if (istype(W,/obj/item/assembly_holder)) @@ -237,7 +237,7 @@ var/obj/item/assembly_holder/H = W if (istype(H.a_left,/obj/item/assembly/igniter) || istype(H.a_right,/obj/item/assembly/igniter)) - message_admins("[key_name_admin(user)] rigged fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) for explosion. (JMP)") + message_admins("[key_name_admin(user)] rigged fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) for explosion. (JMP)") log_game("[key_name(user)] rigged fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) for explosion.") rig = W @@ -255,7 +255,7 @@ /obj/structure/reagent_dispensers/fueltank/bullet_act(var/obj/item/projectile/Proj) if(Proj.get_structure_damage()) if(istype(Proj.firer)) - message_admins("[key_name_admin(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) (JMP).") + message_admins("[key_name_admin(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]) (JMP).") log_game("[key_name(Proj.firer)] shot fueltank at [loc.loc.name] ([loc.x],[loc.y],[loc.z]).") if(!istype(Proj ,/obj/item/projectile/beam/lasertag) && !istype(Proj ,/obj/item/projectile/beam/practice) ) @@ -293,7 +293,7 @@ return amount = min(amount, reagents.total_volume) - reagents.remove_reagent("fuel",amount) + reagents.remove_reagent(REAGENT_ID_FUEL,amount) new /obj/effect/decal/cleanable/liquid_fuel(src.loc, amount,1) /obj/structure/reagent_dispensers/peppertank @@ -307,7 +307,7 @@ /obj/structure/reagent_dispensers/peppertank/Initialize() . = ..() - reagents.add_reagent("condensedcapsaicin",1000) + reagents.add_reagent(REAGENT_ID_CONDENSEDCAPSAICIN,1000) /obj/structure/reagent_dispensers/virusfood name = "Virus Food Dispenser" @@ -320,7 +320,7 @@ /obj/structure/reagent_dispensers/virusfood/Initialize() . = ..() - reagents.add_reagent("virusfood", 1000) + reagents.add_reagent(REAGENT_ID_VIRUSFOOD, 1000) /obj/structure/reagent_dispensers/acid name = "Sulphuric Acid Dispenser" @@ -333,7 +333,7 @@ /obj/structure/reagent_dispensers/acid/Initialize() . = ..() - reagents.add_reagent("sacid", 1000) + reagents.add_reagent(REAGENT_ID_SACID, 1000) /obj/structure/reagent_dispensers/water_cooler name = "Water-Cooler" @@ -356,7 +356,7 @@ /obj/structure/reagent_dispensers/water_cooler/Initialize() . = ..() if(bottle) - reagents.add_reagent("water",2000) + reagents.add_reagent(REAGENT_ID_WATER,2000) update_icon() /obj/structure/reagent_dispensers/water_cooler/examine(mob/user) @@ -495,7 +495,7 @@ /obj/structure/reagent_dispensers/beerkeg/Initialize() . = ..() - reagents.add_reagent("beer",1000) + reagents.add_reagent(REAGENT_ID_BEER,1000) /obj/structure/reagent_dispensers/beerkeg/wood name = "beer keg" @@ -509,7 +509,7 @@ /obj/structure/reagent_dispensers/beerkeg/wine/Initialize() . = ..() - reagents.add_reagent("redwine",1000) + reagents.add_reagent(REAGENT_ID_REDWINE,1000) /obj/structure/reagent_dispensers/beerkeg/fakenuke name = "nuclear beer keg" @@ -527,7 +527,7 @@ /obj/structure/reagent_dispensers/cookingoil/Initialize() . = ..() - reagents.add_reagent("cookingoil",5000) + reagents.add_reagent(REAGENT_ID_COOKINGOIL,5000) /obj/structure/reagent_dispensers/cookingoil/bullet_act(var/obj/item/projectile/Proj) if(Proj.get_structure_damage()) @@ -550,4 +550,4 @@ /obj/structure/reagent_dispensers/bloodbarrel/Initialize() . = ..() - reagents.add_reagent("blood", 1000, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"="O-","resistances"=null,"trace_chem"=null)) + reagents.add_reagent(REAGENT_ID_BLOOD, 1000, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"="O-","resistances"=null,"trace_chem"=null)) diff --git a/code/modules/reagents/machinery/grinder.dm b/code/modules/reagents/machinery/grinder.dm index 80a85443b8..d6d576c8d7 100644 --- a/code/modules/reagents/machinery/grinder.dm +++ b/code/modules/reagents/machinery/grinder.dm @@ -1,53 +1,53 @@ // Don't need a new list for every grinder in the game var/global/list/sheet_reagents = list( //have a number of reagents divisible by REAGENTS_PER_SHEET (default 20) unless you like decimals. - /obj/item/stack/material/plastic = list("carbon","carbon","oxygen","chlorine","sulfur"), - /obj/item/stack/material/copper = list("copper"), - /obj/item/stack/material/wood = list("carbon","woodpulp","nitrogen","potassium","sodium"), - /obj/item/stack/material/stick = list("carbon","woodpulp","nitrogen","potassium","sodium"), - /obj/item/stack/material/log = list("carbon","woodpulp","nitrogen","potassium","sodium"), - /obj/item/stack/material/algae = list("carbon","nitrogen","nitrogen","phosphorus","phosphorus"), - /obj/item/stack/material/graphite = list("carbon"), - /obj/item/stack/material/aluminium = list("aluminum"), // The material is aluminium, but the reagent is aluminum... - /obj/item/stack/material/glass/reinforced = list("silicon","silicon","silicon","iron","carbon"), - /obj/item/stack/material/leather = list("carbon","carbon","protein","protein","triglyceride"), - /obj/item/stack/material/cloth = list("carbon","carbon","carbon","protein","sodium"), - /obj/item/stack/material/fiber = list("carbon","carbon","carbon","protein","sodium"), - /obj/item/stack/material/fur = list("carbon","carbon","carbon","sulfur","sodium"), - /obj/item/stack/material/deuterium = list("hydrogen"), - /obj/item/stack/material/glass/phoronrglass = list("silicon","silicon","silicon","phoron","phoron"), - /obj/item/stack/material/diamond = list("carbon"), - /obj/item/stack/material/durasteel = list("iron","iron","carbon","carbon","platinum"), - /obj/item/stack/material/wax = list("ethanol","triglyceride"), - /obj/item/stack/material/iron = list("iron"), - /obj/item/stack/material/uranium = list("uranium"), - /obj/item/stack/material/phoron = list("phoron"), - /obj/item/stack/material/gold = list("gold"), - /obj/item/stack/material/silver = list("silver"), - /obj/item/stack/material/platinum = list("platinum"), - /obj/item/stack/material/mhydrogen = list("hydrogen"), - /obj/item/stack/material/steel = list("iron", "carbon"), - /obj/item/stack/material/plasteel = list("iron", "iron", "carbon", "carbon", "platinum"), //8 iron, 8 carbon, 4 platinum, - /obj/item/stack/material/snow = list("water"), - /obj/item/stack/material/sandstone = list("silicon", "oxygen"), - /obj/item/stack/material/glass = list("silicon"), - /obj/item/stack/material/glass/phoronglass = list("platinum", "silicon", "silicon", "silicon"), //5 platinum, 15 silicon, - /obj/item/stack/material/supermatter = list("supermatter") + /obj/item/stack/material/plastic = list(REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_OXYGEN,REAGENT_ID_CHLORINE,REAGENT_ID_SULFUR), + /obj/item/stack/material/copper = list(REAGENT_ID_COPPER), + /obj/item/stack/material/wood = list(REAGENT_ID_CARBON,REAGENT_ID_WOODPULP,REAGENT_ID_NITROGEN,REAGENT_ID_POTASSIUM,REAGENT_ID_SODIUM), + /obj/item/stack/material/stick = list(REAGENT_ID_CARBON,REAGENT_ID_WOODPULP,REAGENT_ID_NITROGEN,REAGENT_ID_POTASSIUM,REAGENT_ID_SODIUM), + /obj/item/stack/material/log = list(REAGENT_ID_CARBON,REAGENT_ID_WOODPULP,REAGENT_ID_NITROGEN,REAGENT_ID_POTASSIUM,REAGENT_ID_SODIUM), + /obj/item/stack/material/algae = list(REAGENT_ID_CARBON,REAGENT_ID_NITROGEN,REAGENT_ID_NITROGEN,REAGENT_ID_PHOSPHORUS,REAGENT_ID_PHOSPHORUS), + /obj/item/stack/material/graphite = list(REAGENT_ID_CARBON), + /obj/item/stack/material/aluminium = list(REAGENT_ID_ALUMINIUM), // The material is aluminium, but the reagent is aluminum... + /obj/item/stack/material/glass/reinforced = list(REAGENT_ID_SILICON,REAGENT_ID_SILICON,REAGENT_ID_SILICON,REAGENT_ID_IRON,REAGENT_ID_CARBON), + /obj/item/stack/material/leather = list(REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_PROTEIN,REAGENT_ID_PROTEIN,REAGENT_ID_TRIGLYCERIDE), + /obj/item/stack/material/cloth = list(REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_PROTEIN,REAGENT_ID_SODIUM), + /obj/item/stack/material/fiber = list(REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_PROTEIN,REAGENT_ID_SODIUM), + /obj/item/stack/material/fur = list(REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_SULFUR,REAGENT_ID_SODIUM), + /obj/item/stack/material/deuterium = list(REAGENT_ID_HYDROGEN), + /obj/item/stack/material/glass/phoronrglass = list(REAGENT_ID_SILICON,REAGENT_ID_SILICON,REAGENT_ID_SILICON,REAGENT_ID_PHORON,REAGENT_ID_PHORON), + /obj/item/stack/material/diamond = list(REAGENT_ID_CARBON), + /obj/item/stack/material/durasteel = list(REAGENT_ID_IRON,REAGENT_ID_IRON,REAGENT_ID_CARBON,REAGENT_ID_CARBON,REAGENT_ID_PLATINUM), + /obj/item/stack/material/wax = list(REAGENT_ID_ETHANOL,REAGENT_ID_TRIGLYCERIDE), + /obj/item/stack/material/iron = list(REAGENT_ID_IRON), + /obj/item/stack/material/uranium = list(REAGENT_ID_URANIUM), + /obj/item/stack/material/phoron = list(REAGENT_ID_PHORON), + /obj/item/stack/material/gold = list(REAGENT_ID_GOLD), + /obj/item/stack/material/silver = list(REAGENT_ID_SILVER), + /obj/item/stack/material/platinum = list(REAGENT_ID_PLATINUM), + /obj/item/stack/material/mhydrogen = list(REAGENT_ID_HYDROGEN), + /obj/item/stack/material/steel = list(REAGENT_ID_IRON, REAGENT_ID_CARBON), + /obj/item/stack/material/plasteel = list(REAGENT_ID_IRON, REAGENT_ID_IRON, REAGENT_ID_CARBON, REAGENT_ID_CARBON, REAGENT_ID_PLATINUM), //8 iron, 8 carbon, 4 platinum, + /obj/item/stack/material/snow = list(REAGENT_ID_WATER), + /obj/item/stack/material/sandstone = list(REAGENT_ID_SILICON, REAGENT_ID_OXYGEN), + /obj/item/stack/material/glass = list(REAGENT_ID_SILICON), + /obj/item/stack/material/glass/phoronglass = list(REAGENT_ID_PLATINUM, REAGENT_ID_SILICON, REAGENT_ID_SILICON, REAGENT_ID_SILICON), //5 platinum, 15 silicon, + /obj/item/stack/material/supermatter = list(REAGENT_ID_SUPERMATTER) ) var/global/list/ore_reagents = list( //have a number of reageents divisible by REAGENTS_PER_ORE (default 20) unless you like decimals. - /obj/item/ore/glass = list("silicon"), - /obj/item/ore/iron = list("iron"), - /obj/item/ore/coal = list("carbon"), - /obj/item/ore/phoron = list("phoron"), - /obj/item/ore/silver = list("silver"), - /obj/item/ore/gold = list("gold"), - /obj/item/ore/marble = list("silicon","aluminum","aluminum","sodium","calcium"), // Some nice variety here - /obj/item/ore/uranium = list("uranium"), - /obj/item/ore/diamond = list("carbon"), - /obj/item/ore/osmium = list("platinum"), // should contain osmium - /obj/item/ore/lead = list("lead"), - /obj/item/ore/hydrogen = list("hydrogen"), - /obj/item/ore/verdantium = list("radium","phoron","nitrogen","phosphorus","sodium"), // Some fun stuff to be useful with - /obj/item/ore/rutile = list("tungsten","oxygen") // Should be titanium + /obj/item/ore/glass = list(REAGENT_ID_SILICON), + /obj/item/ore/iron = list(REAGENT_ID_IRON), + /obj/item/ore/coal = list(REAGENT_ID_CARBON), + /obj/item/ore/phoron = list(REAGENT_ID_PHORON), + /obj/item/ore/silver = list(REAGENT_ID_SILVER), + /obj/item/ore/gold = list(REAGENT_ID_GOLD), + /obj/item/ore/marble = list(REAGENT_ID_SILICON,REAGENT_ID_ALUMINIUM,REAGENT_ID_ALUMINIUM,REAGENT_ID_SODIUM,REAGENT_ID_CALCIUM), // Some nice variety here + /obj/item/ore/uranium = list(REAGENT_ID_URANIUM), + /obj/item/ore/diamond = list(REAGENT_ID_CARBON), + /obj/item/ore/osmium = list(REAGENT_ID_PLATINUM), // should contain osmium + /obj/item/ore/lead = list(REAGENT_ID_LEAD), + /obj/item/ore/hydrogen = list(REAGENT_ID_HYDROGEN), + /obj/item/ore/verdantium = list(REAGENT_ID_RADIUM,REAGENT_ID_PHORON,REAGENT_ID_NITROGEN,REAGENT_ID_PHOSPHORUS,REAGENT_ID_SODIUM), // Some fun stuff to be useful with + /obj/item/ore/rutile = list(REAGENT_ID_TUNGSTEN,REAGENT_ID_OXYGEN) // Should be titanium ) /obj/machinery/reagentgrinder diff --git a/code/modules/reagents/machinery/pump.dm b/code/modules/reagents/machinery/pump.dm index ed371c9673..d47e053486 100644 --- a/code/modules/reagents/machinery/pump.dm +++ b/code/modules/reagents/machinery/pump.dm @@ -185,16 +185,16 @@ /turf/simulated/floor/lava/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("mineralizedfluid", round(volume / 2, 0.1)) + R.add_reagent(REAGENT_ID_MINERALIZEDFLUID, round(volume / 2, 0.1)) /turf/simulated/floor/water/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("water", round(volume, 0.1)) + R.add_reagent(REAGENT_ID_WATER, round(volume, 0.1)) var/datum/gas_mixture/air = return_air() // v if(air.temperature <= T0C) // Uses the current air temp, instead of the turf starting temp - R.add_reagent("ice", round(volume / 2, 0.1)) + R.add_reagent(REAGENT_ID_ICE, round(volume / 2, 0.1)) for(var/turf/simulated/mineral/M in orange(5,src)) // Uses the turf as center instead of an unset usr if(M.mineral && prob(40)) // v @@ -202,12 +202,12 @@ /turf/simulated/floor/water/pool/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("chlorine", round(volume / 10, 0.1)) + R.add_reagent(REAGENT_ID_CHLORINE, round(volume / 10, 0.1)) /turf/simulated/floor/water/deep/pool/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("chlorine", round(volume / 10, 0.1)) + R.add_reagent(REAGENT_ID_CHLORINE, round(volume / 10, 0.1)) /turf/simulated/floor/water/contaminated/pump_reagents(var/datum/reagents/R, var/volume) . = ..() - R.add_reagent("vatstabilizer", round(volume / 2, 0.1)) + R.add_reagent(REAGENT_ID_VATSTABILIZER, round(volume / 2, 0.1)) diff --git a/code/modules/reagents/reactions/distilling/distilling.dm b/code/modules/reagents/reactions/distilling/distilling.dm index e23a77cddd..69525eb940 100644 --- a/code/modules/reagents/reactions/distilling/distilling.dm +++ b/code/modules/reagents/reactions/distilling/distilling.dm @@ -52,8 +52,8 @@ /decl/chemical_reaction/distilling/biomass name = "Distilling Biomass" id = "distill_biomass" - result = "biomass" - required_reagents = list("blood" = 1, "sugar" = 1, "phoron" = 0.5) + result = REAGENT_ID_BIOMASS + required_reagents = list(REAGENT_ID_BLOOD = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_PHORON = 0.5) result_amount = 1 // 40 units per sheet, requires actually using the machine, and having blood to spare. temp_range = list(T20C + 80, T20C + 130) @@ -63,8 +63,8 @@ /decl/chemical_reaction/distilling/inaprovalaze name = "Distilling Inaprovalaze" id = "distill_inaprovalaze" - result = "inaprovalaze" - required_reagents = list("inaprovaline" = 2, "foaming_agent" = 1) + result = REAGENT_ID_INAPROVALAZE + required_reagents = list(REAGENT_ID_INAPROVALINE = 2, REAGENT_ID_FOAMINGAGENT = 1) result_amount = 2 reaction_rate = HALF_LIFE(10) @@ -74,8 +74,8 @@ /decl/chemical_reaction/distilling/bicaridaze name = "Distilling Bicaridaze" id = "distill_bicaridaze" - result = "bicaridaze" - required_reagents = list("bicaridine" = 2, "foaming_agent" = 1) + result = REAGENT_ID_BICARIDAZE + required_reagents = list(REAGENT_ID_BICARIDINE = 2, REAGENT_ID_FOAMINGAGENT = 1) result_amount = 2 reaction_rate = HALF_LIFE(10) @@ -85,8 +85,8 @@ /decl/chemical_reaction/distilling/dermalaze name = "Distilling Dermalaze" id = "distill_dermalaze" - result = "dermalaze" - required_reagents = list("dermaline" = 2, "foaming_agent" = 1) + result = REAGENT_ID_DERMALAZE + required_reagents = list(REAGENT_ID_DERMALINE = 2, REAGENT_ID_FOAMINGAGENT = 1) result_amount = 2 reaction_rate = HALF_LIFE(10) @@ -96,8 +96,8 @@ /decl/chemical_reaction/distilling/spacomycaze name = "Distilling Spacomycaze" id = "distill_spacomycaze" - result = "spacomycaze" - required_reagents = list("paracetamol" = 1, "spaceacillin" = 1, "foaming_agent" = 1) + result = REAGENT_ID_SPACOMYCAZE + required_reagents = list(REAGENT_ID_PARACETAMOL = 1, REAGENT_ID_SPACEACILLIN = 1, REAGENT_ID_FOAMINGAGENT = 1) result_amount = 2 reaction_rate = HALF_LIFE(10) @@ -107,8 +107,8 @@ /decl/chemical_reaction/distilling/tricorlidaze name = "Distilling Tricorlidaze" id = "distill_tricorlidaze" - result = "tricorlidaze" - required_reagents = list("tricordrazine" = 1, "sterilizine" = 1, "foaming_agent" = 1) + result = REAGENT_ID_TRICORLIDAZE + required_reagents = list(REAGENT_ID_TRICORDRAZINE = 1, REAGENT_ID_STERILIZINE = 1, REAGENT_ID_FOAMINGAGENT = 1) result_amount = 2 reaction_rate = HALF_LIFE(10) @@ -118,8 +118,8 @@ /decl/chemical_reaction/distilling/synthplas name = "Distilling Synthplas" id = "distill_synthplas" - result = "synthblood_dilute" - required_reagents = list("protein" = 2, "antibodies" = 1, "bicaridine" = 1) + result = REAGENT_ID_SYNTHBLOOD_DILUTE + required_reagents = list(REAGENT_ID_PROTEIN = 2, REAGENT_ID_ANTIBODIES = 1, REAGENT_ID_BICARIDINE = 1) result_amount = 3 reaction_rate = HALF_LIFE(15) @@ -130,8 +130,8 @@ /decl/chemical_reaction/distilling/beer name = "Distilling Beer" id = "distill_beer" - result = "beer" - required_reagents = list("nutriment" = 1, "water" = 1, "sugar" = 1) + result = REAGENT_ID_BEER + required_reagents = list(REAGENT_ID_NUTRIMENT = 1, REAGENT_ID_WATER = 1, REAGENT_ID_SUGAR = 1) result_amount = 2 reaction_rate = HALF_LIFE(30) @@ -141,9 +141,9 @@ /decl/chemical_reaction/distilling/ale name = "Distilling Ale" id = "distill_ale" - result = "ale" - required_reagents = list("nutriment" = 1, "beer" = 1) - inhibitors = list("water" = 1) + result = REAGENT_ID_ALE + required_reagents = list(REAGENT_ID_NUTRIMENT = 1, REAGENT_ID_BEER = 1) + inhibitors = list(REAGENT_ID_WATER = 1) result_amount = 2 reaction_rate = HALF_LIFE(30) @@ -155,8 +155,8 @@ /decl/chemical_reaction/distilling/berserkjuice name = "Distilling Brute Juice" id = "distill_brutejuice" - result = "berserkmed" - required_reagents = list("biomass" = 1, "hyperzine" = 3, "synaptizine" = 2, "phoron" = 1) + result = REAGENT_ID_BERSERKMED + required_reagents = list(REAGENT_ID_BIOMASS = 1, REAGENT_ID_HYPERZINE = 3, REAGENT_ID_SYNAPTIZINE = 2, REAGENT_ID_PHORON = 1) result_amount = 3 temp_range = list(T0C + 600, T0C + 700) @@ -173,9 +173,9 @@ /decl/chemical_reaction/distilling/cryogel name = "Distilling Cryogellatin" id = "distill_cryoslurry" - result = "cryoslurry" - required_reagents = list("frostoil" = 7, "enzyme" = 3, "plasticide" = 3, "foaming_agent" = 2) - inhibitors = list("water" = 5) + result = REAGENT_ID_CRYOSLURRY + required_reagents = list(REAGENT_ID_FROSTOIL = 7, REAGENT_ID_ENZYME = 3, REAGENT_ID_PLASTICIDE = 3, REAGENT_ID_FOAMINGAGENT = 2) + inhibitors = list(REAGENT_ID_WATER = 5) result_amount = 1 temp_range = list(0, 15) @@ -194,8 +194,8 @@ /decl/chemical_reaction/distilling/lichpowder name = "Distilling Lichpowder" id = "distill_lichpowder" - result = "lichpowder" - required_reagents = list("zombiepowder" = 2, "leporazine" = 1) + result = REAGENT_ID_LICHPOWDER + required_reagents = list(REAGENT_ID_ZOMBIEPOWDER = 2, REAGENT_ID_LEPORAZINE = 1) result_amount = 2 reaction_rate = HALF_LIFE(8) @@ -205,11 +205,11 @@ /decl/chemical_reaction/distilling/necroxadone name = "Distilling Necroxadone" id = "distill_necroxadone" - result = "necroxadone" - required_reagents = list("lichpowder" = 1, "cryoxadone" = 1, "carthatoline" = 1) + result = REAGENT_ID_NECROXADONE + required_reagents = list(REAGENT_ID_LICHPOWDER = 1, REAGENT_ID_CRYOXADONE = 1, REAGENT_ID_CARTHATOLINE = 1) result_amount = 2 - catalysts = list("phoron" = 5) + catalysts = list(REAGENT_ID_PHORON = 5) reaction_rate = HALF_LIFE(20) diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm index 4736a12f05..70891d5126 100644 --- a/code/modules/reagents/reactions/instant/drinks.dm +++ b/code/modules/reagents/reactions/instant/drinks.dm @@ -1,1350 +1,1350 @@ /decl/chemical_reaction/instant/drinks/coffee - name = "Coffee" - id = "coffee" - result = "coffee" - required_reagents = list("water" = 5, "coffeepowder" = 1) + name = REAGENT_COFFEE + id = REAGENT_ID_COFFEE + result = REAGENT_ID_COFFEE + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_COFFEEPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/tea name = "Black tea" - id = "tea" - result = "tea" - required_reagents = list("water" = 5, "teapowder" = 1) + id = REAGENT_ID_TEA + result = REAGENT_ID_TEA + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_TEAPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/hot_coco name = "Hot Coco" - id = "hot_coco" - result = "hot_coco" - required_reagents = list("water" = 5, "coco" = 1) + id = REAGENT_ID_HOTCOCO + result = REAGENT_ID_HOTCOCO + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_COCO = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/grapejuice - name = "Grape Juice" - id = "grapejuice" - result = "grapejuice" - required_reagents = list("water" = 3, "instantgrape" = 1) + name = REAGENT_GRAPEJUICE + id = REAGENT_ID_GRAPEJUICE + result = REAGENT_ID_GRAPEJUICE + required_reagents = list(REAGENT_ID_WATER = 3, REAGENT_ID_INSTANTGRAPE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/orangejuice - name = "Orange Juice" - id = "orangejuice" - result = "orangejuice" - required_reagents = list("water" = 3, "instantorange" = 1) + name = REAGENT_ORANGEJUICE + id = REAGENT_ID_ORANGEJUICE + result = REAGENT_ID_ORANGEJUICE + required_reagents = list(REAGENT_ID_WATER = 3, REAGENT_ID_INSTANTORANGE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/watermelonjuice - name = "Watermelon Juice" - id = "watermelonjuice" - result = "watermelonjuice" - required_reagents = list("water" = 3, "instantwatermelon" = 1) + name = REAGENT_WATERMELONJUICE + id = REAGENT_ID_WATERMELONJUICE + result = REAGENT_ID_WATERMELONJUICE + required_reagents = list(REAGENT_ID_WATER = 3, REAGENT_ID_INSTANTWATERMELON = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/applejuice - name = "Apple Juice" - id = "applejuice" - result = "applejuice" - required_reagents = list("water" = 3, "instantapple" = 1) + name = REAGENT_APPLEJUICE + id = REAGENT_ID_APPLEJUICE + result = REAGENT_ID_APPLEJUICE + required_reagents = list(REAGENT_ID_WATER = 3, REAGENT_ID_INSTANTAPPLE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/goldschlager - name = "Goldschlager" - id = "goldschlager" - result = "goldschlager" - required_reagents = list("vodka" = 10, "gold" = 1) + name = REAGENT_GOLDSCHLAGER + id = REAGENT_ID_GOLDSCHLAGER + result = REAGENT_ID_GOLDSCHLAGER + required_reagents = list(REAGENT_ID_VODKA = 10, REAGENT_ID_GOLD = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/patron - name = "Patron" - id = "patron" - result = "patron" - required_reagents = list("tequilla" = 10, "silver" = 1) + name = REAGENT_PATRON + id = REAGENT_ID_PATRON + result = REAGENT_ID_PATRON + required_reagents = list(REAGENT_ID_TEQUILLA = 10, REAGENT_ID_SILVER = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/bilk - name = "Bilk" - id = "bilk" - result = "bilk" - required_reagents = list("milk" = 1, "beer" = 1) + name = REAGENT_BILK + id = REAGENT_ID_BILK + result = REAGENT_ID_BILK + required_reagents = list(REAGENT_ID_MILK = 1, REAGENT_ID_BEER = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/icetea - name = "Iced Tea" - id = "icetea" - result = "icetea" - required_reagents = list("ice" = 1, "tea" = 2) + name = REAGENT_ICETEA + id = REAGENT_ID_ICETEA + result = REAGENT_ID_ICETEA + required_reagents = list(REAGENT_ID_ICE = 1, REAGENT_ID_TEA = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/icecoffee - name = "Iced Coffee" - id = "icecoffee" - result = "icecoffee" - required_reagents = list("ice" = 1, "coffee" = 2) + name = REAGENT_ICECOFFEE + id = REAGENT_ID_ICECOFFEE + result = REAGENT_ID_ICECOFFEE + required_reagents = list(REAGENT_ID_ICE = 1, REAGENT_ID_COFFEE = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/icecoffee/alt name = "Iced Drip Coffee" - id = "icecoffee" - result = "icecoffee" - required_reagents = list("ice" = 1, "drip_coffee" = 2) + id = REAGENT_ID_ICECOFFEE + result = REAGENT_ID_ICECOFFEE + required_reagents = list(REAGENT_ID_ICE = 1, REAGENT_ID_DRIPCOFFEE = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/blackeye - name = "Black Eye Coffee" - id = "black_eye" - result = "black_eye" - required_reagents = list("drip_coffee" = 1, "coffee" = 1) + name = REAGENT_BLACKEYE + id = REAGENT_ID_BLACKEYE + result = REAGENT_ID_BLACKEYE + required_reagents = list(REAGENT_ID_DRIPCOFFEE = 1, REAGENT_ID_COFFEE = 1) result_amount = 1 /decl/chemical_reaction/instant/drinks/americano - name = "Americano" - id = "americano" - result = "americano" - required_reagents = list("water" = 1, "long_black" = 2) + name = REAGENT_AMERICANO + id = REAGENT_ID_AMERICANO + result = REAGENT_ID_AMERICANO + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_LONGBLACK = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/long_black - name = "Long Black Coffee" - id = "long_black" - result = "long_black" - required_reagents = list("water" = 1, "coffee" = 1) + name = REAGENT_LONGBLACK + id = REAGENT_ID_LONGBLACK + result = REAGENT_ID_LONGBLACK + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_COFFEE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/macchiato - name = "Macchiato" - id = "macchiato" - result = "macchiato" - required_reagents = list("milk" = 1, "coffee" = 2) + name = REAGENT_MACCHIATO + id = REAGENT_ID_MACCHIATO + result = REAGENT_ID_MACCHIATO + required_reagents = list(REAGENT_ID_MILK = 1, REAGENT_ID_COFFEE = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/cortado - name = "Cortado" - id = "cortado" - result = "cortado" - required_reagents = list("macchiato" = 3, "milk_foam" = 1) // 2 coffee, 1 milk, 1 milk foam + name = REAGENT_CORTADO + id = REAGENT_ID_CORTADO + result = REAGENT_ID_CORTADO + required_reagents = list(REAGENT_ID_MACCHIATO = 3, REAGENT_ID_MILKFOAM = 1) // 2 coffee, 1 milk, 1 milk foam result_amount = 4 /decl/chemical_reaction/instant/drinks/breve - name = "Breve" - id = "breve" - result = "breve" - required_reagents = list("cortado" = 4, "cream" = 1) // 2 coffee, 1 milk, 1 milk foam, 1 cream + name = REAGENT_BREVE + id = REAGENT_ID_BREVE + result = REAGENT_ID_BREVE + required_reagents = list(REAGENT_ID_CORTADO = 4, REAGENT_ID_CREAM = 1) // 2 coffee, 1 milk, 1 milk foam, 1 cream result_amount = 5 /decl/chemical_reaction/instant/drinks/cappuccino - name = "Cappuccino" - id = "cappuccino" - result = "cappuccino" - required_reagents = list("milk" = 1, "milk_foam" = 1, "cortado" = 4) // 2 coffee, 2 milk, 2 milk foam + name = REAGENT_CAPPUCCINO + id = REAGENT_ID_CAPPUCCINO + result = REAGENT_ID_CAPPUCCINO + required_reagents = list(REAGENT_ID_MILK = 1, REAGENT_ID_MILKFOAM = 1, REAGENT_ID_CORTADO = 4) // 2 coffee, 2 milk, 2 milk foam result_amount = 6 /decl/chemical_reaction/instant/drinks/flat_white - name = "Flat White Coffee" - id = "flat_white" - result = "flat_white" - required_reagents = list("milk" = 2, "drip_coffee" = 1) // 2 drip coffee, 4 milk I'M SORRY THAT ITS DRIP COFFEE, otherwise it just gets in the way of all other reactions + name = REAGENT_FLATWHITE + id = REAGENT_ID_FLATWHITE + result = REAGENT_ID_FLATWHITE + required_reagents = list(REAGENT_ID_MILK = 2, REAGENT_ID_DRIPCOFFEE = 1) // 2 drip coffee, 4 milk I'M SORRY THAT ITS DRIP COFFEE, otherwise it just gets in the way of all other reactions result_amount = 3 /decl/chemical_reaction/instant/drinks/mocha - name = "Mocha" - id = "mocha" - result = "mocha" - required_reagents = list("milk" = 1, "cream" = 1, "milk_foam" = 1, "hot_coco" = 2, "breve" = 5) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco + name = REAGENT_MOCHA + id = REAGENT_ID_MOCHA + result = REAGENT_ID_MOCHA + required_reagents = list(REAGENT_ID_MILK = 1, REAGENT_ID_CREAM = 1, REAGENT_ID_MILKFOAM = 1, REAGENT_ID_HOTCOCO = 2, REAGENT_ID_BREVE = 5) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco result_amount = 10 /decl/chemical_reaction/instant/drinks/mocha/alt //incase they use cream before milk - name = "Mocha" - id = "mocha" - result = "mocha" - required_reagents = list("cream" = 2, "hot_coco" = 2, "cappuccino" = 6) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco + name = REAGENT_MOCHA + id = REAGENT_ID_MOCHA + result = REAGENT_ID_MOCHA + required_reagents = list(REAGENT_ID_CREAM = 2, REAGENT_ID_HOTCOCO = 2, REAGENT_ID_CAPPUCCINO = 6) // 2 coffee, 2 milk, 2 cream, 2 milk foam and 2 hot coco result_amount = 10 /decl/chemical_reaction/instant/drinks/vienna - name = "Vienna" - id = "vienna" - result = "vienna" - required_reagents = list("cream" = 2, "coffee" = 1) + name = REAGENT_VIENNA + id = REAGENT_ID_VIENNA + result = REAGENT_ID_VIENNA + required_reagents = list(REAGENT_ID_CREAM = 2, REAGENT_ID_COFFEE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/nuka_cola name = "Nuclear Cola" - id = "nuka_cola" - result = "nuka_cola" - required_reagents = list("uranium" = 1, "cola" = 5) + id = REAGENT_ID_NUKACOLA + result = REAGENT_ID_NUKACOLA + required_reagents = list(REAGENT_ID_URANIUM = 1, REAGENT_ID_COLA = 5) result_amount = 5 /decl/chemical_reaction/instant/drinks/moonshine - name = "Moonshine" - id = "moonshine" - result = "moonshine" - required_reagents = list("nutriment" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_MOONSHINE + id = REAGENT_ID_MOONSHINE + result = REAGENT_ID_MOONSHINE + required_reagents = list(REAGENT_ID_NUTRIMENT = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/grenadine - name = "Grenadine Syrup" - id = "grenadine" - result = "grenadine" - required_reagents = list("berryjuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_GRENADINE + id = REAGENT_ID_GRENADINE + result = REAGENT_ID_GRENADINE + required_reagents = list(REAGENT_ID_BERRYJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/wine name = "Wine" - id = "redwine" - result = "redwine" - required_reagents = list("grapejuice" = 10) - catalysts = list("enzyme" = 5) + id = REAGENT_ID_REDWINE + result = REAGENT_ID_REDWINE + required_reagents = list(REAGENT_ID_GRAPEJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/pwine - name = "Poison Wine" - id = "pwine" - result = "pwine" - required_reagents = list("poisonberryjuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_PWINE + id = REAGENT_ID_PWINE + result = REAGENT_ID_PWINE + required_reagents = list(REAGENT_ID_POISONBERRYJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/melonliquor - name = "Melon Liquor" - id = "melonliquor" - result = "melonliquor" - required_reagents = list("watermelonjuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_MELONLIQUOR + id = REAGENT_ID_MELONLIQUOR + result = REAGENT_ID_MELONLIQUOR + required_reagents = list(REAGENT_ID_WATERMELONJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/bluecuracao - name = "Blue Curacao" - id = "bluecuracao" - result = "bluecuracao" - required_reagents = list("orangejuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_BLUECURACAO + id = REAGENT_ID_BLUECURACAO + result = REAGENT_ID_BLUECURACAO + required_reagents = list(REAGENT_ID_ORANGEJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/spacebeer name = "Space Beer" id = "spacebeer" - result = "beer" - required_reagents = list("cornoil" = 5, "flour" = 5) - catalysts = list("enzyme" = 5) + result = REAGENT_ID_BEER + required_reagents = list(REAGENT_ID_CORNOIL = 5, REAGENT_ID_FLOUR = 5) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/vodka - name = "Vodka" - id = "vodka" - result = "vodka" - required_reagents = list("potatojuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_VODKA + id = REAGENT_ID_VODKA + result = REAGENT_ID_VODKA + required_reagents = list(REAGENT_ID_POTATOJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/cider - name = "Cider" - id = "cider" - result = "cider" - required_reagents = list("applejuice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_CIDER + id = REAGENT_ID_CIDER + result = REAGENT_ID_CIDER + required_reagents = list(REAGENT_ID_APPLEJUICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/sake - name = "Sake" - id = "sake" - result = "sake" - required_reagents = list("rice" = 10) - catalysts = list("enzyme" = 5) + name = REAGENT_SAKE + id = REAGENT_ID_SAKE + result = REAGENT_ID_SAKE + required_reagents = list(REAGENT_ID_RICE = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/kahlua - name = "Kahlua" - id = "kahlua" - result = "kahlua" - required_reagents = list("coffee" = 5, "sugar" = 5) - catalysts = list("enzyme" = 5) + name = REAGENT_KAHLUA + id = REAGENT_ID_KAHLUA + result = REAGENT_ID_KAHLUA + required_reagents = list(REAGENT_ID_COFFEE = 5, REAGENT_ID_SUGAR = 5) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 5 /decl/chemical_reaction/instant/drinks/gin_tonic - name = "Gin and Tonic" - id = "gintonic" - result = "gintonic" - required_reagents = list("gin" = 2, "tonic" = 1) + name = REAGENT_GINTONIC + id = REAGENT_ID_GINTONIC + result = REAGENT_ID_GINTONIC + required_reagents = list(REAGENT_ID_GIN = 2, REAGENT_ID_TONIC = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/rum_and_cola - name = "Rum and Cola" - id = "rumandcola" - result = "rumandcola" - required_reagents = list("rum" = 2, "cola" = 1) + name = REAGENT_RUMANDCOLA + id = REAGENT_ID_RUMANDCOLA + result = REAGENT_ID_RUMANDCOLA + required_reagents = list(REAGENT_ID_RUM = 2, REAGENT_ID_COLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/cuba_libre - name = "Cuba Libre" - id = "cubalibre" - result = "cubalibre" - required_reagents = list("rumandcola" = 3, "limejuice" = 1) + name = REAGENT_CUBALIBRE + id = REAGENT_ID_CUBALIBRE + result = REAGENT_ID_CUBALIBRE + required_reagents = list(REAGENT_ID_RUMANDCOLA = 3, REAGENT_ID_LIMEJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/martini - name = "Classic Martini" - id = "martini" - result = "martini" - inhibitors = list("bitters" = 1) - required_reagents = list("gin" = 2, "vermouth" = 1) + name = REAGENT_MARTINI + id = REAGENT_ID_MARTINI + result = REAGENT_ID_MARTINI + inhibitors = list(REAGENT_ID_BITTERS = 1) + required_reagents = list(REAGENT_ID_GIN = 2, REAGENT_ID_VERMOUTH = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/vodkamartini - name = "Vodka Martini" - id = "vodkamartini" - result = "vodkamartini" - required_reagents = list("vodka" = 2, "vermouth" = 1) + name = REAGENT_VODKAMARTINI + id = REAGENT_ID_VODKAMARTINI + result = REAGENT_ID_VODKAMARTINI + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_VERMOUTH = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/white_russian - name = "White Russian" - id = "whiterussian" - result = "whiterussian" - required_reagents = list("blackrussian" = 2, "cream" = 1) + name = REAGENT_WHITERUSSIAN + id = REAGENT_ID_WHITERUSSIAN + result = REAGENT_ID_WHITERUSSIAN + required_reagents = list(REAGENT_ID_BLACKRUSSIAN = 2, REAGENT_ID_CREAM = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" - result = "whiskeycola" - required_reagents = list("whiskey" = 2, "cola" = 1) + name = REAGENT_WHISKEYCOLA + id = REAGENT_ID_WHISKEYCOLA + result = REAGENT_ID_WHISKEYCOLA + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_COLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/screwdriver - name = "Screwdriver" - id = "screwdrivercocktail" - result = "screwdrivercocktail" - required_reagents = list("vodka" = 2, "orangejuice" = 1) + name = REAGENT_SCREWDRIVERCOCKTAIL + id = REAGENT_ID_SCREWDRIVERCOCKTAIL + result = REAGENT_ID_SCREWDRIVERCOCKTAIL + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_ORANGEJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/bloody_mary - name = "Bloody Mary" - id = "bloodymary" - result = "bloodymary" - required_reagents = list("vodka" = 2, "tomatojuice" = 3, "limejuice" = 1) + name = REAGENT_BLOODYMARY + id = REAGENT_ID_BLOODYMARY + result = REAGENT_ID_BLOODYMARY + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_TOMATOJUICE = 3, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" - result = "gargleblaster" - required_reagents = list("vodka" = 2, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1) + name = REAGENT_GARGLEBLASTER + id = REAGENT_ID_GARGLEBLASTER + result = REAGENT_ID_GARGLEBLASTER + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_GIN = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_COGNAC = 1, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/brave_bull - name = "Brave Bull" - id = "bravebull" - result = "bravebull" - required_reagents = list("tequilla" = 2, "kahlua" = 1) + name = REAGENT_BRAVEBULL + id = REAGENT_ID_BRAVEBULL + result = REAGENT_ID_BRAVEBULL + required_reagents = list(REAGENT_ID_TEQUILLA = 2, REAGENT_ID_KAHLUA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/tequilla_sunrise name = "Tequilla Sunrise" - id = "tequillasunrise" - result = "tequillasunrise" - required_reagents = list("tequilla" = 2, "orangejuice" = 1) + id = REAGENT_ID_TEQUILLASUNRISE + result = REAGENT_ID_TEQUILLASUNRISE + required_reagents = list(REAGENT_ID_TEQUILLA = 2, REAGENT_ID_ORANGEJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/phoron_special - name = "Toxins Special" - id = "phoronspecial" - result = "phoronspecial" - required_reagents = list("rum" = 2, "vermouth" = 2, "phoron" = 2) + name = REAGENT_PHORONSPECIAL + id = REAGENT_ID_PHORONSPECIAL + result = REAGENT_ID_PHORONSPECIAL + required_reagents = list(REAGENT_ID_RUM = 2, REAGENT_ID_VERMOUTH = 2, REAGENT_ID_PHORON = 2) result_amount = 6 /decl/chemical_reaction/instant/drinks/beepsky_smash name = "Beepksy Smash" id = "beepksysmash" - result = "beepskysmash" - required_reagents = list("limejuice" = 1, "whiskey" = 1, "iron" = 1) + result = REAGENT_ID_BEEPSKYSMASH + required_reagents = list(REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_IRON = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/doctor_delight - name = "The Doctor's Delight" + name = REAGENT_DOCTORSDELIGHT id = "doctordelight" - result = "doctorsdelight" - required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 2, "tricordrazine" = 1) + result = REAGENT_ID_DOCTORSDELIGHT + required_reagents = list(REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_TOMATOJUICE = 1, REAGENT_ID_ORANGEJUICE = 1, REAGENT_ID_CREAM = 2, REAGENT_ID_TRICORDRAZINE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/irish_cream - name = "Irish Cream" - id = "irishcream" - result = "irishcream" - required_reagents = list("whiskey" = 2, "cream" = 1) + name = REAGENT_IRISHCREAM + id = REAGENT_ID_IRISHCREAM + result = REAGENT_ID_IRISHCREAM + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_CREAM = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/manly_dorf - name = "The Manly Dorf" - id = "manlydorf" - result = "manlydorf" - required_reagents = list ("beer" = 1, "ale" = 2) + name = REAGENT_MANLYDORF + id = REAGENT_ID_MANLYDORF + result = REAGENT_ID_MANLYDORF + required_reagents = list (REAGENT_ID_BEER = 1, REAGENT_ID_ALE = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/hooch - name = "Hooch" - id = "hooch" - result = "hooch" - required_reagents = list ("sugar" = 1, "ethanol" = 2, "fuel" = 1) + name = REAGENT_HOOCH + id = REAGENT_ID_HOOCH + result = REAGENT_ID_HOOCH + required_reagents = list (REAGENT_ID_SUGAR = 1, REAGENT_ID_ETHANOL = 2, REAGENT_ID_FUEL = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/irish_coffee - name = "Irish Coffee" - id = "irishcoffee" - result = "irishcoffee" - required_reagents = list("irishcream" = 1, "coffee" = 1) + name = REAGENT_IRISHCOFFEE + id = REAGENT_ID_IRISHCOFFEE + result = REAGENT_ID_IRISHCOFFEE + required_reagents = list(REAGENT_ID_IRISHCREAM = 1, REAGENT_ID_COFFEE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/b52 - name = "B-52" - id = "b52" - result = "b52" - required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1) + name = REAGENT_B52 + id = REAGENT_ID_B52 + result = REAGENT_ID_B52 + required_reagents = list(REAGENT_ID_IRISHCREAM = 1, REAGENT_ID_KAHLUA = 1, REAGENT_ID_COGNAC = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" - result = "atomicbomb" - required_reagents = list("b52" = 10, "uranium" = 1) + name = REAGENT_ATOMICBOMB + id = REAGENT_ID_ATOMICBOMB + result = REAGENT_ID_ATOMICBOMB + required_reagents = list(REAGENT_ID_B52 = 10, REAGENT_ID_URANIUM = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/margarita - name = "Margarita" - id = "margarita" - result = "margarita" - required_reagents = list("tequilla" = 2, "limejuice" = 1) + name = REAGENT_MARGARITA + id = REAGENT_ID_MARGARITA + result = REAGENT_ID_MARGARITA + required_reagents = list(REAGENT_ID_TEQUILLA = 2, REAGENT_ID_LIMEJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" - result = "longislandicedtea" - required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "rumandcola" = 3) + name = REAGENT_LONGISLANDICEDTEA + id = REAGENT_ID_LONGISLANDICEDTEA + result = REAGENT_ID_LONGISLANDICEDTEA + required_reagents = list(REAGENT_ID_VODKA = 1, REAGENT_ID_GIN = 1, REAGENT_ID_TEQUILLA = 1, REAGENT_ID_RUMANDCOLA = 3) result_amount = 6 /decl/chemical_reaction/instant/drinks/threemileisland - name = "Three Mile Island Iced Tea" - id = "threemileisland" - result = "threemileisland" - required_reagents = list("longislandicedtea" = 10, "uranium" = 1) + name = REAGENT_THREEMILEISLAND + id = REAGENT_ID_THREEMILEISLAND + result = REAGENT_ID_THREEMILEISLAND + required_reagents = list(REAGENT_ID_LONGISLANDICEDTEA = 10, REAGENT_ID_URANIUM = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" - result = "whiskeysoda" - required_reagents = list("whiskey" = 2, "sodawater" = 1) + name = REAGENT_WHISKEYSODA + id = REAGENT_ID_WHISKEYSODA + result = REAGENT_ID_WHISKEYSODA + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/black_russian - name = "Black Russian" - id = "blackrussian" - result = "blackrussian" - required_reagents = list("vodka" = 2, "kahlua" = 1) + name = REAGENT_BLACKRUSSIAN + id = REAGENT_ID_BLACKRUSSIAN + result = REAGENT_ID_BLACKRUSSIAN + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_KAHLUA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/manhattan - name = "Manhattan" - id = "manhattan" - result = "manhattan" - required_reagents = list("whiskey" = 2, "vermouth" = 1) + name = REAGENT_MANHATTAN + id = REAGENT_ID_MANHATTAN + result = REAGENT_ID_MANHATTAN + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_VERMOUTH = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" - result = "manhattan_proj" - required_reagents = list("manhattan" = 10, "uranium" = 1) + name = REAGENT_MANHATTANPROJ + id = REAGENT_ID_MANHATTANPROJ + result = REAGENT_ID_MANHATTANPROJ + required_reagents = list(REAGENT_ID_MANHATTAN = 10, REAGENT_ID_URANIUM = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/vodka_tonic - name = "Vodka and Tonic" - id = "vodkatonic" - result = "vodkatonic" - required_reagents = list("vodka" = 2, "tonic" = 1) + name = REAGENT_VODKATONIC + id = REAGENT_ID_VODKATONIC + result = REAGENT_ID_VODKATONIC + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_TONIC = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/gin_fizz - name = "Gin Fizz" - id = "ginfizz" - result = "ginfizz" - required_reagents = list("gin" = 1, "sodawater" = 1, "limejuice" = 1) + name = REAGENT_GINFIZZ + id = REAGENT_ID_GINFIZZ + result = REAGENT_ID_GINFIZZ + required_reagents = list(REAGENT_ID_GIN = 1, REAGENT_ID_SODAWATER = 1, REAGENT_ID_LIMEJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/bahama_mama - name = "Bahama mama" - id = "bahama_mama" - result = "bahama_mama" - required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1) + name = REAGENT_BAHAMAMAMA + id = REAGENT_ID_BAHAMAMAMA + result = REAGENT_ID_BAHAMAMAMA + required_reagents = list(REAGENT_ID_RUM = 2, REAGENT_ID_ORANGEJUICE = 2, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_ICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/singulo - name = "Singulo" - id = "singulo" - result = "singulo" - required_reagents = list("vodka" = 5, "radium" = 1, "redwine" = 5) + name = REAGENT_SINGULO + id = REAGENT_ID_SINGULO + result = REAGENT_ID_SINGULO + required_reagents = list(REAGENT_ID_VODKA = 5, REAGENT_ID_RADIUM = 1, REAGENT_ID_REDWINE = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" - result = "alliescocktail" - required_reagents = list("martini" = 1, "vodka" = 1) + name = REAGENT_ALLIESCOCKTAIL + id = REAGENT_ID_ALLIESCOCKTAIL + result = REAGENT_ID_ALLIESCOCKTAIL + required_reagents = list(REAGENT_ID_MARTINI = 1, REAGENT_ID_VODKA = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/demonsblood - name = "Demons Blood" - id = "demonsblood" - result = "demonsblood" - required_reagents = list("rum" = 3, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1) + name = REAGENT_DEMONSBLOOD + id = REAGENT_ID_DEMONSBLOOD + result = REAGENT_ID_DEMONSBLOOD + required_reagents = list(REAGENT_ID_RUM = 3, REAGENT_ID_SPACEMOUNTAINWIND = 1, REAGENT_ID_BLOOD = 1, REAGENT_ID_DRGIBB = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/booger - name = "Booger" - id = "booger" - result = "booger" - required_reagents = list("cream" = 2, "banana" = 1, "rum" = 1, "watermelonjuice" = 1) + name = REAGENT_BOOGER + id = REAGENT_ID_BOOGER + result = REAGENT_ID_BOOGER + required_reagents = list(REAGENT_ID_CREAM = 2, REAGENT_ID_BANANA = 1, REAGENT_ID_RUM = 1, REAGENT_ID_WATERMELONJUICE = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/antifreeze - name = "Anti-freeze" - id = "antifreeze" - result = "antifreeze" - required_reagents = list("vodka" = 1, "cream" = 1, "ice" = 1) + name = REAGENT_ANTIFREEZE + id = REAGENT_ID_ANTIFREEZE + result = REAGENT_ID_ANTIFREEZE + required_reagents = list(REAGENT_ID_VODKA = 1, REAGENT_ID_CREAM = 1, REAGENT_ID_ICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/barefoot - name = "Barefoot" - id = "barefoot" - result = "barefoot" - required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1) + name = REAGENT_BAREFOOT + id = REAGENT_ID_BAREFOOT + result = REAGENT_ID_BAREFOOT + required_reagents = list(REAGENT_ID_BERRYJUICE = 1, REAGENT_ID_CREAM = 1, REAGENT_ID_VERMOUTH = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/grapesoda - name = "Grape Soda" - id = "grapesoda" - result = "grapesoda" - required_reagents = list("grapejuice" = 2, "cola" = 1) + name = REAGENT_GRAPESODA + id = REAGENT_ID_GRAPESODA + result = REAGENT_ID_GRAPESODA + required_reagents = list(REAGENT_ID_GRAPEJUICE = 2, REAGENT_ID_COLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/sbiten - name = "Sbiten" - id = "sbiten" - result = "sbiten" - required_reagents = list("vodka" = 10, "capsaicin" = 1) + name = REAGENT_SBITEN + id = REAGENT_ID_SBITEN + result = REAGENT_ID_SBITEN + required_reagents = list(REAGENT_ID_VODKA = 10, REAGENT_ID_CAPSAICIN = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/red_mead - name = "Red Mead" - id = "red_mead" - result = "red_mead" - required_reagents = list("blood" = 1, "mead" = 1) + name = REAGENT_REDMEAD + id = REAGENT_ID_REDMEAD + result = REAGENT_ID_REDMEAD + required_reagents = list(REAGENT_ID_BLOOD = 1, REAGENT_ID_MEAD = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/mead - name = "Mead" - id = "mead" - result = "mead" - required_reagents = list("sugar" = 1, "water" = 1) - catalysts = list("enzyme" = 5) + name = REAGENT_MEAD + id = REAGENT_ID_MEAD + result = REAGENT_ID_MEAD + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_WATER = 1) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 2 /decl/chemical_reaction/instant/drinks/iced_beer - name = "Iced Beer" - id = "iced_beer" - result = "iced_beer" - required_reagents = list("beer" = 10, "frostoil" = 1) + name = REAGENT_ICEDBEER + id = REAGENT_ID_ICEDBEER + result = REAGENT_ID_ICEDBEER + required_reagents = list(REAGENT_ID_BEER = 10, REAGENT_ID_FROSTOIL = 1) result_amount = 10 /decl/chemical_reaction/instant/drinks/iced_beer2 - name = "Iced Beer" - id = "iced_beer" - result = "iced_beer" - required_reagents = list("beer" = 5, "ice" = 1) + name = REAGENT_ICEDBEER + id = REAGENT_ID_ICEDBEER + result = REAGENT_ID_ICEDBEER + required_reagents = list(REAGENT_ID_BEER = 5, REAGENT_ID_ICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/grog - name = "Grog" - id = "grog" - result = "grog" - required_reagents = list("rum" = 1, "water" = 1) + name = REAGENT_GROG + id = REAGENT_ID_GROG + result = REAGENT_ID_GROG + required_reagents = list(REAGENT_ID_RUM = 1, REAGENT_ID_WATER = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/soy_latte - name = "Soy Latte" - id = "soy_latte" - result = "soy_latte" - required_reagents = list("coffee" = 1, "soymilk" = 1) + name = REAGENT_SOYLATTE + id = REAGENT_ID_SOYLATTE + result = REAGENT_ID_SOYLATTE + required_reagents = list(REAGENT_ID_COFFEE = 1, REAGENT_ID_SOYMILK = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/cafe_latte - name = "Cafe Latte" - id = "cafe_latte" - result = "cafe_latte" - required_reagents = list("flat_white" = 1, "milk" = 1) + name = REAGENT_CAFELATTE + id = REAGENT_ID_CAFELATTE + result = REAGENT_ID_CAFELATTE + required_reagents = list(REAGENT_ID_FLATWHITE = 1, REAGENT_ID_MILK = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/acidspit - name = "Acid Spit" - id = "acidspit" - result = "acidspit" - required_reagents = list("sacid" = 1, "redwine" = 5) + name = REAGENT_ACIDSPIT + id = REAGENT_ID_ACIDSPIT + result = REAGENT_ID_ACIDSPIT + required_reagents = list(REAGENT_ID_SACID = 1, REAGENT_ID_REDWINE = 5) result_amount = 6 /decl/chemical_reaction/instant/drinks/amasec - name = "Amasec" - id = "amasec" - result = "amasec" - required_reagents = list("iron" = 1, "redwine" = 5, "vodka" = 5) + name = REAGENT_AMASEC + id = REAGENT_ID_AMASEC + result = REAGENT_ID_AMASEC + required_reagents = list(REAGENT_ID_IRON = 1, REAGENT_ID_REDWINE = 5, REAGENT_ID_VODKA = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/changelingsting - name = "Changeling Sting" - id = "changelingsting" - result = "changelingsting" - required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1) + name = REAGENT_CHANGELINGSTING + id = REAGENT_ID_CHANGELINGSTING + result = REAGENT_ID_CHANGELINGSTING + required_reagents = list(REAGENT_ID_SCREWDRIVERCOCKTAIL = 1, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_LEMONJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/aloe - name = "Aloe" - id = "aloe" - result = "aloe" - required_reagents = list("cream" = 1, "whiskey" = 1, "watermelonjuice" = 1) + name = REAGENT_ALOE + id = REAGENT_ID_ALOE + result = REAGENT_ID_ALOE + required_reagents = list(REAGENT_ID_CREAM = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_WATERMELONJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/andalusia - name = "Andalusia" - id = "andalusia" - result = "andalusia" - required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1) + name = REAGENT_ANDALUSIA + id = REAGENT_ID_ANDALUSIA + result = REAGENT_ID_ANDALUSIA + required_reagents = list(REAGENT_ID_RUM = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_LEMONJUICE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/snowwhite - name = "Snow White" - id = "snowwhite" - result = "snowwhite" - required_reagents = list("pineapplejuice" = 1, "rum" = 1, "lemon_lime" = 1, "egg" = 1, "kahlua" = 1, "sugar" = 1) //VoreStation Edit + name = REAGENT_SNOWWHITE + id = REAGENT_ID_SNOWWHITE + result = REAGENT_ID_SNOWWHITE + required_reagents = list(REAGENT_ID_PINEAPPLEJUICE = 1, REAGENT_ID_RUM = 1, REAGENT_ID_LEMONLIME = 1, REAGENT_ID_EGG = 1, REAGENT_ID_KAHLUA = 1, REAGENT_ID_SUGAR = 1) //VoreStation Edit result_amount = 2 /decl/chemical_reaction/instant/drinks/irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" - result = "irishcarbomb" - required_reagents = list("ale" = 1, "irishcream" = 1) + name = REAGENT_IRISHCARBOMB + id = REAGENT_ID_IRISHCARBOMB + result = REAGENT_ID_IRISHCARBOMB + required_reagents = list(REAGENT_ID_ALE = 1, REAGENT_ID_IRISHCREAM = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" - result = "syndicatebomb" - required_reagents = list("beer" = 1, "whiskeycola" = 1) + name = REAGENT_SYNDICATEBOMB + id = REAGENT_ID_SYNDICATEBOMB + result = REAGENT_ID_SYNDICATEBOMB + required_reagents = list(REAGENT_ID_BEER = 1, REAGENT_ID_WHISKEYCOLA = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/erikasurprise - name = "Erika Surprise" - id = "erikasurprise" - result = "erikasurprise" - required_reagents = list("ale" = 2, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1) + name = REAGENT_ERIKASURPRISE + id = REAGENT_ID_ERIKASURPRISE + result = REAGENT_ID_ERIKASURPRISE + required_reagents = list(REAGENT_ID_ALE = 2, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_BANANA = 1, REAGENT_ID_ICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/devilskiss - name = "Devils Kiss" - id = "devilskiss" - result = "devilskiss" - required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1) + name = REAGENT_DEVILSKISS + id = REAGENT_ID_DEVILSKISS + result = REAGENT_ID_DEVILSKISS + required_reagents = list(REAGENT_ID_BLOOD = 1, REAGENT_ID_KAHLUA = 1, REAGENT_ID_RUM = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/hippiesdelight name = "Hippies Delight" - id = "hippiesdelight" - result = "hippiesdelight" - required_reagents = list("psilocybin" = 1, "gargleblaster" = 1) + id = REAGENT_ID_HIPPIESDELIGHT + result = REAGENT_ID_HIPPIESDELIGHT + required_reagents = list(REAGENT_ID_PSILOCYBIN = 1, REAGENT_ID_GARGLEBLASTER = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/bananahonk name = "Banana Honk" - id = "bananahonk" - result = "bananahonk" - required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1) + id = REAGENT_ID_BANANAHONK + result = REAGENT_ID_BANANAHONK + required_reagents = list(REAGENT_ID_BANANA = 1, REAGENT_ID_CREAM = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/silencer - name = "Silencer" - id = "silencer" - result = "silencer" - required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1) + name = REAGENT_SILENCER + id = REAGENT_ID_SILENCER + result = REAGENT_ID_SILENCER + required_reagents = list(REAGENT_ID_NOTHING = 1, REAGENT_ID_CREAM = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/driestmartini - name = "Driest Martini" - id = "driestmartini" - result = "driestmartini" - required_reagents = list("nothing" = 1, "gin" = 1) + name = REAGENT_DRIESTMARTINI + id = REAGENT_ID_DRIESTMARTINI + result = REAGENT_ID_DRIESTMARTINI + required_reagents = list(REAGENT_ID_NOTHING = 1, REAGENT_ID_GIN = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/lemonade - name = "Lemonade" - id = "lemonade" - result = "lemonade" - required_reagents = list("lemonjuice" = 1, "sugar" = 1, "water" = 1) + name = REAGENT_LEMONADE + id = REAGENT_ID_LEMONADE + result = REAGENT_ID_LEMONADE + required_reagents = list(REAGENT_ID_LEMONJUICE = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_WATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/melonade - name = "Melonade" - id = "melonade" - result = "melonade" - required_reagents = list("watermelonjuice" = 1, "sugar" = 1, "sodawater" = 1) + name = REAGENT_MELONADE + id = REAGENT_ID_MELONADE + result = REAGENT_ID_MELONADE + required_reagents = list(REAGENT_ID_WATERMELONJUICE = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/appleade - name = "Appleade" - id = "appleade" - result = "appleade" - required_reagents = list("applejuice" = 1, "sugar" = 1, "sodawater" = 1) + name = REAGENT_APPLEADE + id = REAGENT_ID_APPLEADE + result = REAGENT_ID_APPLEADE + required_reagents = list(REAGENT_ID_APPLEJUICE = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/pineappleade - name = "Pineappleade" - id = "pineappleade" - result = "pineappleade" - required_reagents = list("pineapplejuice" = 2, "limejuice" = 1, "sodawater" = 2, "honey" = 1) + name = REAGENT_PINEAPPLEADE + id = REAGENT_ID_PINEAPPLEADE + result = REAGENT_ID_PINEAPPLEADE + required_reagents = list(REAGENT_ID_PINEAPPLEJUICE = 2, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_SODAWATER = 2, REAGENT_ID_HONEY = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/driverspunch name = "Driver`s Punch" - id = "driverspunch" - result = "driverspunch" - required_reagents = list("appleade" = 2, "orangejuice" = 1, "mint" = 1, "sodawater" = 1) + id = REAGENT_ID_DRIVERSPUNCH + result = REAGENT_ID_DRIVERSPUNCH + required_reagents = list(REAGENT_ID_APPLEADE = 2, REAGENT_ID_ORANGEJUICE = 1, REAGENT_ID_MINT = 1, REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/mintapplesparkle - name = "Mint Apple Sparkle" - id = "mintapplesparkle" - result = "mintapplesparkle" - required_reagents = list("appleade" = 2, "mint" = 1) - inhibitors = list("sodawater" = 1) + name = REAGENT_MINTAPPLESPARKLE + id = REAGENT_ID_MINTAPPLESPARKLE + result = REAGENT_ID_MINTAPPLESPARKLE + required_reagents = list(REAGENT_ID_APPLEADE = 2, REAGENT_ID_MINT = 1) + inhibitors = list(REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/berrycordial - name = "Berry Cordial" - id = "berrycordial" - result = "berrycordial" - required_reagents = list("berryjuice" = 4, "sugar" = 1, "lemonjuice" = 1) + name = REAGENT_BERRYCORDIAL + id = REAGENT_ID_BERRYCORDIAL + result = REAGENT_ID_BERRYCORDIAL + required_reagents = list(REAGENT_ID_BERRYJUICE = 4, REAGENT_ID_SUGAR = 1, REAGENT_ID_LEMONJUICE = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/tropicalfizz - name = "Tropical Fizz" - id = "tropicalfizz" - result = "tropicalfizz" - required_reagents = list("sodawater" = 6, "berryjuice" = 1, "mint" = 1, "limejuice" = 1, "lemonjuice" = 1, "pineapplejuice" = 1) - inhibitors = list("sugar" = 1) + name = REAGENT_TROPICALFIZZ + id = REAGENT_ID_TROPICALFIZZ + result = REAGENT_ID_TROPICALFIZZ + required_reagents = list(REAGENT_ID_SODAWATER = 6, REAGENT_ID_BERRYJUICE = 1, REAGENT_ID_MINT = 1, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_LEMONJUICE = 1, REAGENT_ID_PINEAPPLEJUICE = 1) + inhibitors = list(REAGENT_ID_SUGAR = 1) result_amount = 8 /decl/chemical_reaction/instant/drinks/melonspritzer - name = "Melon Spritzer" - id = "melonspritzer" - result = "melonspritzer" - required_reagents = list("watermelonjuice" = 2, "redwine" = 2, "applejuice" = 1, "limejuice" = 1) + name = REAGENT_MELONSPRITZER + id = REAGENT_ID_MELONSPRITZER + result = REAGENT_ID_MELONSPRITZER + required_reagents = list(REAGENT_ID_WATERMELONJUICE = 2, REAGENT_ID_REDWINE = 2, REAGENT_ID_APPLEJUICE = 1, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/fauxfizz - name = "Faux Fizz" - id = "fauxfizz" - result = "fauxfizz" - required_reagents = list("sodawater" = 2, "berryjuice" = 1, "applejuice" = 1, "limejuice" = 1, "honey" = 1) - inhibitors = list("sugar" = 1) + name = REAGENT_FAUXFIZZ + id = REAGENT_ID_FAUXFIZZ + result = REAGENT_ID_FAUXFIZZ + required_reagents = list(REAGENT_ID_SODAWATER = 2, REAGENT_ID_BERRYJUICE = 1, REAGENT_ID_APPLEJUICE = 1, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_HONEY = 1) + inhibitors = list(REAGENT_ID_SUGAR = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/firepunch - name = "Fire Punch" - id = "firepunch" - result = "firepunch" - required_reagents = list("sugar" = 1, "rum" = 2) + name = REAGENT_FIREPUNCH + id = REAGENT_ID_FIREPUNCH + result = REAGENT_ID_FIREPUNCH + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_RUM = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/kiraspecial - name = "Kira Special" - id = "kiraspecial" - result = "kiraspecial" - required_reagents = list("orangejuice" = 1, "limejuice" = 1, "sodawater" = 1) + name = REAGENT_KIRASPECIAL + id = REAGENT_ID_KIRASPECIAL + result = REAGENT_ID_KIRASPECIAL + required_reagents = list(REAGENT_ID_ORANGEJUICE = 1, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_SODAWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/brownstar - name = "Brown Star" - id = "brownstar" - result = "brownstar" - required_reagents = list("orangejuice" = 2, "cola" = 1) + name = REAGENT_BROWNSTAR + id = REAGENT_ID_BROWNSTAR + result = REAGENT_ID_BROWNSTAR + required_reagents = list(REAGENT_ID_ORANGEJUICE = 2, REAGENT_ID_COLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/brownstar_decaf - name = "Decaf Brown Star" - id = "brownstar_decaf" - result = "brownstar_decaf" - required_reagents = list("orangejuice" = 2, "decafcola" = 1) + name = REAGENT_BROWNSTARDECAF + id = REAGENT_ID_BROWNSTARDECAF + result = REAGENT_ID_BROWNSTARDECAF + required_reagents = list(REAGENT_ID_ORANGEJUICE = 2, REAGENT_ID_DECAFCOLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/milkshake - name = "Milkshake" - id = "milkshake" - result = "milkshake" - required_reagents = list("cream" = 1, "ice" = 2, "milk" = 2) + name = REAGENT_MILKSHAKE + id = REAGENT_ID_MILKSHAKE + result = REAGENT_ID_MILKSHAKE + required_reagents = list(REAGENT_ID_CREAM = 1, REAGENT_ID_ICE = 2, REAGENT_ID_MILK = 2) result_amount = 5 /decl/chemical_reaction/instant/drinks/peanutmilkshake name = "Peanutbutter Milkshake" - id = "peanutmilkshake" - result = "peanutmilkshake" - required_reagents = list("cream" = 1, "ice" = 1, "peanutbutter" = 2, "milk" = 1) + id = REAGENT_ID_PEANUTMILKSHAKE + result = REAGENT_ID_PEANUTMILKSHAKE + required_reagents = list(REAGENT_ID_CREAM = 1, REAGENT_ID_ICE = 1, REAGENT_ID_PEANUTBUTTER = 2, REAGENT_ID_MILK = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/rewriter - name = "Rewriter" - id = "rewriter" - result = "rewriter" - required_reagents = list("spacemountainwind" = 1, "coffee" = 1) + name = REAGENT_REWRITER + id = REAGENT_ID_REWRITER + result = REAGENT_ID_REWRITER + required_reagents = list(REAGENT_ID_SPACEMOUNTAINWIND = 1, REAGENT_ID_COFFEE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/suidream - name = "Sui Dream" - id = "suidream" - result = "suidream" - required_reagents = list("space_up" = 1, "bluecuracao" = 1, "melonliquor" = 1) + name = REAGENT_SUIDREAM + id = REAGENT_ID_SUIDREAM + result = REAGENT_ID_SUIDREAM + required_reagents = list(REAGENT_ID_SPACEUP = 1, REAGENT_ID_BLUECURACAO = 1, REAGENT_ID_MELONLIQUOR = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/shirleytemple - name = "Shirley Temple" - id = "shirley_temple" - result = "shirley_temple" - required_reagents = list("gingerale" = 4, "grenadine" = 1) + name = REAGENT_SHIRLEYTEMPLE + id = REAGENT_ID_SHIRLEYTEMPLE + result = REAGENT_ID_SHIRLEYTEMPLE + required_reagents = list(REAGENT_ID_GINGERALE = 4, REAGENT_ID_GRENADINE = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/royrogers - name = "Roy Rogers" - id = "roy_rogers" - result = "roy_rogers" - required_reagents = list("shirley_temple" = 5, "lemon_lime" = 2) + name = REAGENT_ROYROGERS + id = REAGENT_ID_ROYROGERS + result = REAGENT_ID_ROYROGERS + required_reagents = list(REAGENT_ID_SHIRLEYTEMPLE = 5, REAGENT_ID_LEMONLIME = 2) result_amount = 7 /decl/chemical_reaction/instant/drinks/collinsmix - name = "Collins Mix" - id = "collins_mix" - result = "collins_mix" - required_reagents = list("lemon_lime" = 3, "sodawater" = 1) + name = REAGENT_COLLINSMIX + id = REAGENT_ID_COLLINSMIX + result = REAGENT_ID_COLLINSMIX + required_reagents = list(REAGENT_ID_LEMONLIME = 3, REAGENT_ID_SODAWATER = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/arnoldpalmer - name = "Arnold Palmer" - id = "arnold_palmer" - result = "arnold_palmer" - required_reagents = list("icetea" = 1, "lemonade" = 1) + name = REAGENT_ARNOLDPALMER + id = REAGENT_ID_ARNOLDPALMER + result = REAGENT_ID_ARNOLDPALMER + required_reagents = list(REAGENT_ID_ICETEA = 1, REAGENT_ID_LEMONADE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/minttea - name = "Mint Tea" - id = "minttea" - result = "minttea" - required_reagents = list("tea" = 5, "mint" = 1) + name = REAGENT_MINTTEA + id = REAGENT_ID_MINTTEA + result = REAGENT_ID_MINTTEA + required_reagents = list(REAGENT_ID_TEA = 5, REAGENT_ID_MINT = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/minttea_decaf - name = "Decaf Mint Tea" + name = REAGENT_MINTTEADECAF id = "decafminttea" - result = "mintteadecaf" - required_reagents = list("teadecaf" = 5, "mint" = 1) + result = REAGENT_ID_MINTTEADECAF + required_reagents = list(REAGENT_ID_TEADECAF = 5, REAGENT_ID_MINT = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/lemontea - name = "Lemon Tea" - id = "lemontea" - result = "lemontea" - required_reagents = list("tea" = 5, "lemonjuice" = 1) + name = REAGENT_LEMONTEA + id = REAGENT_ID_LEMONTEA + result = REAGENT_ID_LEMONTEA + required_reagents = list(REAGENT_ID_TEA = 5, REAGENT_ID_LEMONJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/lemontea_decaf - name = "Decaf Lemon Tea" + name = REAGENT_LEMONTEADECAF id = "decaflemontea" - result = "lemonteadecaf" - required_reagents = list("teadecaf" = 5, "lemonjuice" = 1) + result = REAGENT_ID_LEMONTEADECAF + required_reagents = list(REAGENT_ID_TEADECAF = 5, REAGENT_ID_LEMONJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/limetea - name = "Lime Tea" - id = "limetea" - result = "limetea" - required_reagents = list("tea" = 5, "limejuice" = 1) + name = REAGENT_LIMETEA + id = REAGENT_ID_LIMETEA + result = REAGENT_ID_LIMETEA + required_reagents = list(REAGENT_ID_TEA = 5, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/limetea_decaf - name = "Decaf Lime Tea" + name = REAGENT_LIMETEADECAF id = "decaflimetea" - result = "limeteadecaf" - required_reagents = list("teadecaf" = 5, "limejuice" = 1) + result = REAGENT_ID_LIMETEADECAF + required_reagents = list(REAGENT_ID_TEADECAF = 5, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/orangetea - name = "Orange Tea" - id = "orangetea" - result = "orangetea" - required_reagents = list("tea" = 5, "orangejuice" = 1) + name = REAGENT_ORANGETEA + id = REAGENT_ID_ORANGETEA + result = REAGENT_ID_ORANGETEA + required_reagents = list(REAGENT_ID_TEA = 5, REAGENT_ID_ORANGEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/orangetea_decaf name = "Decaf Orange Tea" id = "decaforangetea" - result = "orangeteadecaf" - required_reagents = list("teadecaf" = 5, "orangejuice" = 1) + result = REAGENT_ID_ORANGETEADECAF + required_reagents = list(REAGENT_ID_TEADECAF = 5, REAGENT_ID_ORANGEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/berrytea - name = "Berry Tea" - id = "berrytea" - result = "berrytea" - required_reagents = list("tea" = 5, "berryjuice" = 1) + name = REAGENT_BERRYTEA + id = REAGENT_ID_BERRYTEA + result = REAGENT_ID_BERRYTEA + required_reagents = list(REAGENT_ID_TEA = 5, REAGENT_ID_BERRYJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/berrytea_decaf - name = "Decaf Berry Tea" + name = REAGENT_BERRYTEADECAF id = "decafberrytea" - result = "berryteadecaf" - required_reagents = list("teadecaf" = 5, "berryjuice" = 1) + result = REAGENT_ID_BERRYTEADECAF + required_reagents = list(REAGENT_ID_TEADECAF = 5, REAGENT_ID_BERRYJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/sakebomb - name = "Sake Bomb" - id = "sakebomb" - result = "sakebomb" - required_reagents = list("beer" = 2, "sake" = 1) + name = REAGENT_SAKEBOMB + id = REAGENT_ID_SAKEBOMB + result = REAGENT_ID_SAKEBOMB + required_reagents = list(REAGENT_ID_BEER = 2, REAGENT_ID_SAKE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/tamagozake - name = "Tamagozake" - id = "tamagozake" - result = "tamagozake" - required_reagents = list("sake" = 10, "sugar" = 5, "egg" = 3) + name = REAGENT_TAMAGOZAKE + id = REAGENT_ID_TAMAGOZAKE + result = REAGENT_ID_TAMAGOZAKE + required_reagents = list(REAGENT_ID_SAKE = 10, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3) result_amount = 15 /decl/chemical_reaction/instant/drinks/ginzamary - name = "Ginza Mary" - id = "ginzamary" - result = "ginzamary" - required_reagents = list("sake" = 2, "vodka" = 2, "tomatojuice" = 1) + name = REAGENT_GINZAMARY + id = REAGENT_ID_GINZAMARY + result = REAGENT_ID_GINZAMARY + required_reagents = list(REAGENT_ID_SAKE = 2, REAGENT_ID_VODKA = 2, REAGENT_ID_TOMATOJUICE = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/tokyorose - name = "Tokyo Rose" - id = "tokyorose" - result = "tokyorose" - required_reagents = list("sake" = 1, "berryjuice" = 1) + name = REAGENT_TOKYOROSE + id = REAGENT_ID_TOKYOROSE + result = REAGENT_ID_TOKYOROSE + required_reagents = list(REAGENT_ID_SAKE = 1, REAGENT_ID_BERRYJUICE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/saketini - name = "Saketini" - id = "saketini" - result = "saketini" - required_reagents = list("sake" = 1, "gin" = 1) + name = REAGENT_SAKETINI + id = REAGENT_ID_SAKETINI + result = REAGENT_ID_SAKETINI + required_reagents = list(REAGENT_ID_SAKE = 1, REAGENT_ID_GIN = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/elysiumfacepunch - name = "Elysium Facepunch" - id = "elysiumfacepunch" - result = "elysiumfacepunch" - required_reagents = list("kahlua" = 1, "lemonjuice" = 1) + name = REAGENT_ELYSIUMFACEPUNCH + id = REAGENT_ID_ELYSIUMFACEPUNCH + result = REAGENT_ID_ELYSIUMFACEPUNCH + required_reagents = list(REAGENT_ID_KAHLUA = 1, REAGENT_ID_LEMONJUICE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/erebusmoonrise - name = "Erebus Moonrise" - id = "erebusmoonrise" - result = "erebusmoonrise" - required_reagents = list("whiskey" = 1, "vodka" = 1, "tequilla" = 1) + name = REAGENT_EREBUSMOONRISE + id = REAGENT_ID_EREBUSMOONRISE + result = REAGENT_ID_EREBUSMOONRISE + required_reagents = list(REAGENT_ID_WHISKEY = 1, REAGENT_ID_VODKA = 1, REAGENT_ID_TEQUILLA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/balloon - name = "Balloon" - id = "balloon" - result = "balloon" - required_reagents = list("cream" = 1, "bluecuracao" = 1) + name = REAGENT_BALLOON + id = REAGENT_ID_BALLOON + result = REAGENT_ID_BALLOON + required_reagents = list(REAGENT_ID_CREAM = 1, REAGENT_ID_BLUECURACAO = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/natunabrandy - name = "Natuna Brandy" - id = "natunabrandy" - result = "natunabrandy" - required_reagents = list("beer" = 1, "sodawater" = 2) + name = REAGENT_NATUNABRANDY + id = REAGENT_ID_NATUNABRANDY + result = REAGENT_ID_NATUNABRANDY + required_reagents = list(REAGENT_ID_BEER = 1, REAGENT_ID_SODAWATER = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/euphoria - name = "Euphoria" - id = "euphoria" - result = "euphoria" - required_reagents = list("specialwhiskey" = 1, "cognac" = 2) + name = REAGENT_EUPHORIA + id = REAGENT_ID_EUPHORIA + result = REAGENT_ID_EUPHORIA + required_reagents = list(REAGENT_ID_SPECIALWHISKEY = 1, REAGENT_ID_COGNAC = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/xanaducannon - name = "Xanadu Cannon" - id = "xanaducannon" - result = "xanaducannon" - required_reagents = list("ale" = 1, "dr_gibb" = 1) + name = REAGENT_XANADUCANNON + id = REAGENT_ID_XANADUCANNON + result = REAGENT_ID_XANADUCANNON + required_reagents = list(REAGENT_ID_ALE = 1, REAGENT_ID_DRGIBB = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/debugger - name = "Debugger" - id = "debugger" - result = "debugger" - required_reagents = list("fuel" = 1, "sugar" = 2, "cookingoil" = 2) + name = REAGENT_DEBUGGER + id = REAGENT_ID_DEBUGGER + result = REAGENT_ID_DEBUGGER + required_reagents = list(REAGENT_ID_FUEL = 1, REAGENT_ID_SUGAR = 2, REAGENT_ID_COOKINGOIL = 2) result_amount = 5 /decl/chemical_reaction/instant/drinks/spacersbrew - name = "Spacer's Brew" - id = "spacersbrew" - result = "spacersbrew" - required_reagents = list("brownstar" = 4, "ethanol" = 1) + name = REAGENT_SPACERSBREW + id = REAGENT_ID_SPACERSBREW + result = REAGENT_ID_SPACERSBREW + required_reagents = list(REAGENT_ID_BROWNSTAR = 4, REAGENT_ID_ETHANOL = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/binmanbliss - name = "Binman Bliss" - id = "binmanbliss" - result = "binmanbliss" - required_reagents = list("sake" = 1, "tequilla" = 1) + name = REAGENT_BINMANBLISS + id = REAGENT_ID_BINMANBLISS + result = REAGENT_ID_BINMANBLISS + required_reagents = list(REAGENT_ID_SAKE = 1, REAGENT_ID_TEQUILLA = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/chrysanthemum - name = "Chrysanthemum" - id = "chrysanthemum" - result = "chrysanthemum" - required_reagents = list("sake" = 1, "melonliquor" = 1) + name = REAGENT_CHRYSANTHEMUM + id = REAGENT_ID_CHRYSANTHEMUM + result = REAGENT_ID_CHRYSANTHEMUM + required_reagents = list(REAGENT_ID_SAKE = 1, REAGENT_ID_MELONLIQUOR = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/deathbell - name = "Deathbell" - id = "deathbell" - result = "deathbell" - required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1) + name = REAGENT_DEATHBELL + id = REAGENT_ID_DEATHBELL + result = REAGENT_ID_DEATHBELL + required_reagents = list(REAGENT_ID_ANTIFREEZE = 1, REAGENT_ID_GARGLEBLASTER = 1, REAGENT_ID_SYNDICATEBOMB =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/bitters - name = "Bitters" - id = "bitters" - result = "bitters" - required_reagents = list("mint" = 5) - catalysts = list("enzyme" = 5) + name = REAGENT_BITTERS + id = REAGENT_ID_BITTERS + result = REAGENT_ID_BITTERS + required_reagents = list(REAGENT_ID_MINT = 5) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 5 /decl/chemical_reaction/instant/drinks/soemmerfire - name = "Soemmer Fire" - id = "soemmerfire" - result = "soemmerfire" - required_reagents = list("manhattan" = 2, "condensedcapsaicin" = 1) + name = REAGENT_SOEMMERFIRE + id = REAGENT_ID_SOEMMERFIRE + result = REAGENT_ID_SOEMMERFIRE + required_reagents = list(REAGENT_ID_MANHATTAN = 2, REAGENT_ID_CONDENSEDCAPSAICIN = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/winebrandy name = "Wine brandy" - id = "winebrandy" - result = "winebrandy" - required_reagents = list("redwine" = 10) - catalysts = list("enzyme" = 10) //10u enzyme so it requires more than is usually added. Stops overlap with wine recipe + id = REAGENT_ID_WINEBRANDY + result = REAGENT_ID_WINEBRANDY + required_reagents = list(REAGENT_ID_REDWINE = 10) + catalysts = list(REAGENT_ID_ENZYME = 10) //10u enzyme so it requires more than is usually added. Stops overlap with wine recipe result_amount = 5 /decl/chemical_reaction/instant/drinks/lovepotion - name = "Love Potion" - id = "lovepotion" - result = "lovepotion" - required_reagents = list("cream" = 1, "berryjuice" = 1, "sugar" = 1) + name = REAGENT_LOVEPOTION + id = REAGENT_ID_LOVEPOTION + result = REAGENT_ID_LOVEPOTION + required_reagents = list(REAGENT_ID_CREAM = 1, REAGENT_ID_BERRYJUICE = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/morningafter - name = "Morning After" - id = "morningafter" - result = "morningafter" - required_reagents = list("sbiten" = 1, "coffee" = 5) + name = REAGENT_MORNINGAFTER + id = REAGENT_ID_MORNINGAFTER + result = REAGENT_ID_MORNINGAFTER + required_reagents = list(REAGENT_ID_SBITEN = 1, REAGENT_ID_COFFEE = 5) result_amount = 6 /decl/chemical_reaction/instant/drinks/vesper - name = "Vesper" - id = "vesper" - result = "vesper" - required_reagents = list("gin" = 3, "vodka" = 1, "redwine" = 1) + name = REAGENT_VESPER + id = REAGENT_ID_VESPER + result = REAGENT_ID_VESPER + required_reagents = list(REAGENT_ID_GIN = 3, REAGENT_ID_VODKA = 1, REAGENT_ID_REDWINE = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/rotgut - name = "Rotgut Fever Dream" - id = "rotgut" - result = "rotgut" - required_reagents = list("vodka" = 3, "rum" = 1, "whiskey" = 1, "cola" = 3) + name = REAGENT_ROTGUT + id = REAGENT_ID_ROTGUT + result = REAGENT_ID_ROTGUT + required_reagents = list(REAGENT_ID_VODKA = 3, REAGENT_ID_RUM = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_COLA = 3) result_amount = 8 /decl/chemical_reaction/instant/drinks/entdraught - name = "Ent's Draught" - id = "entdraught" - result = "entdraught" - required_reagents = list("tonic" = 1, "holywater" = 1, "honey" = 1) + name = REAGENT_ENTDRAUGHT + id = REAGENT_ID_ENTDRAUGHT + result = REAGENT_ID_ENTDRAUGHT + required_reagents = list(REAGENT_ID_TONIC = 1, REAGENT_ID_HOLYWATER = 1, REAGENT_ID_HONEY = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/voxdelight - name = "Vox's Delight" - id = "voxdelight" - result = "voxdelight" - required_reagents = list("phoron" = 3, "fuel" = 1, "water" = 1) + name = REAGENT_VOXDELIGHT + id = REAGENT_ID_VOXDELIGHT + result = REAGENT_ID_VOXDELIGHT + required_reagents = list(REAGENT_ID_PHORON = 3, REAGENT_ID_FUEL = 1, REAGENT_ID_WATER = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/screamingviking - name = "Screaming Viking" - id = "screamingviking" - result = "screamingviking" - required_reagents = list("martini" = 2, "vodkatonic" = 2, "limejuice" = 1, "rum" = 1) + name =REAGENT_SCREAMINGVIKING + id = REAGENT_ID_SCREAMINGVIKING + result = REAGENT_ID_SCREAMINGVIKING + required_reagents = list(REAGENT_ID_MARTINI = 2, REAGENT_ID_VODKATONIC = 2, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_RUM = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/vilelemon - name = "Vile Lemon" - id = "vilelemon" - result = "vilelemon" - required_reagents = list("lemonade" = 5, "spacemountainwind" = 1) + name = REAGENT_VILELEMON + id = REAGENT_ID_VILELEMON + result = REAGENT_ID_VILELEMON + required_reagents = list(REAGENT_ID_LEMONADE = 5, REAGENT_ID_SPACEMOUNTAINWIND = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/dreamcream - name = "Dream Cream" - id = "dreamcream" - result = "dreamcream" - required_reagents = list("milk" = 2, "cream" = 1, "honey" = 1) + name = REAGENT_DREAMCREAM + id = REAGENT_ID_DREAMCREAM + result = REAGENT_ID_DREAMCREAM + required_reagents = list(REAGENT_ID_MILK = 2, REAGENT_ID_CREAM = 1, REAGENT_ID_HONEY = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/robustin - name = "Robustin" - id = "robustin" - result = "robustin" - required_reagents = list("antifreeze" = 1, "phoron" = 1, "fuel" = 1, "vodka" = 1) + name = REAGENT_ROBUSTIN + id = REAGENT_ID_ROBUSTIN + result = REAGENT_ID_ROBUSTIN + required_reagents = list(REAGENT_ID_ANTIFREEZE = 1, REAGENT_ID_PHORON = 1, REAGENT_ID_FUEL = 1, REAGENT_ID_VODKA = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/virginsip - name = "Virgin Sip" - id = "virginsip" - result = "virginsip" - required_reagents = list("driestmartini" = 1, "water" = 1) + name = REAGENT_VIRGINSIP + id = REAGENT_ID_VIRGINSIP + result = REAGENT_ID_VIRGINSIP + required_reagents = list(REAGENT_ID_DRIESTMARTINI = 1, REAGENT_ID_WATER = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/chocoshake - name = "Chocolate Milkshake" - id = "chocoshake" - result = "chocoshake" - required_reagents = list("milkshake" = 1, "coco" = 1) + name = REAGENT_CHOCOSHAKE + id = REAGENT_ID_CHOCOSHAKE + result = REAGENT_ID_CHOCOSHAKE + required_reagents = list(REAGENT_ID_MILKSHAKE = 1, REAGENT_ID_COCO = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/berryshake - name = "Berry Milkshake" - id = "berryshake" - result = "berryshake" - required_reagents = list("milkshake" = 1, "berryjuice" = 1) + name = REAGENT_BERRYSHAKE + id = REAGENT_ID_BERRYSHAKE + result = REAGENT_ID_BERRYSHAKE + required_reagents = list(REAGENT_ID_MILKSHAKE = 1, REAGENT_ID_BERRYJUICE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/coffeeshake - name = "Coffee Milkshake" - id = "coffeeshake" - result = "coffeeshake" - required_reagents = list("milkshake" = 1, "coffee" = 1) + name = REAGENT_COFFEESHAKE + id = REAGENT_ID_COFFEESHAKE + result = REAGENT_ID_COFFEESHAKE + required_reagents = list(REAGENT_ID_MILKSHAKE = 1, REAGENT_ID_COFFEE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/jellyshot - name = "Jelly Shot" - id = "jellyshot" - result = "jellyshot" - required_reagents = list("cherryjelly" = 4, "vodka" = 1) + name = REAGENT_JELLYSHOT + id = REAGENT_ID_JELLYSHOT + result = REAGENT_ID_JELLYSHOT + required_reagents = list(REAGENT_ID_CHERRYJELLY = 4, REAGENT_ID_VODKA = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/slimeshot - name = "Named Bullet" - id = "slimeshot" - result = "slimeshot" - required_reagents = list("slimejelly" = 4, "vodka" = 1) + name = REAGENT_SLIMESHOT + id = REAGENT_ID_SLIMESHOT + result = REAGENT_ID_SLIMESHOT + required_reagents = list(REAGENT_ID_SLIMEJELLY = 4, REAGENT_ID_VODKA = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/negroni - name = "Negroni" - id = "negroni" - result = "negroni" - required_reagents = list("gin" = 1, "bitters" = 1, "vermouth" = 1) + name = REAGENT_NEGRONI + id = REAGENT_ID_NEGRONI + result = REAGENT_ID_NEGRONI + required_reagents = list(REAGENT_ID_GIN = 1, REAGENT_ID_BITTERS = 1, REAGENT_ID_VERMOUTH = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/cloverclub - name = "Clover Club" - id = "cloverclub" - result = "cloverclub" - required_reagents = list("berryjuice" = 1, "lemonjuice" = 1, "gin" = 3) + name = REAGENT_CLOVERCLUB + id = REAGENT_ID_CLOVERCLUB + result = REAGENT_ID_CLOVERCLUB + required_reagents = list(REAGENT_ID_BERRYJUICE = 1, REAGENT_ID_LEMONJUICE = 1, REAGENT_ID_GIN = 3) result_amount = 5 /decl/chemical_reaction/instant/drinks/oldfashioned - name = "Old Fashioned" - id = "oldfashioned" - result = "oldfashioned" - required_reagents = list("whiskey" = 3, "bitters" = 1, "sugar" = 1) + name = REAGENT_OLDFASHIONED + id = REAGENT_ID_OLDFASHIONED + result = REAGENT_ID_OLDFASHIONED + required_reagents = list(REAGENT_ID_WHISKEY = 3, REAGENT_ID_BITTERS = 1, REAGENT_ID_SUGAR = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/whiskeysour - name = "Whiskey Sour" - id = "whiskeysour" - result = "whiskeysour" - required_reagents = list("whiskey" = 2, "lemonjuice" = 1, "sugar" = 1) + name = REAGENT_WHISKEYSOUR + id = REAGENT_ID_WHISKEYSOUR + result = REAGENT_ID_WHISKEYSOUR + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_LEMONJUICE = 1, REAGENT_ID_SUGAR = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/daiquiri - name = "Daiquiri" - id = "daiquiri" - result = "daiquiri" - required_reagents = list("rum" = 3, "limejuice" = 2, "sugar" = 1) + name = REAGENT_DAIQUIRI + id = REAGENT_ID_DAIQUIRI + result = REAGENT_ID_DAIQUIRI + required_reagents = list(REAGENT_ID_RUM = 3, REAGENT_ID_LIMEJUICE = 2, REAGENT_ID_SUGAR = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/mintjulep - name = "Mint Julep" - id = "mintjulep" - result = "mintjulep" - required_reagents = list("whiskey" = 2, "water" = 1, "mint" = 1) + name = REAGENT_MINTJULEP + id = REAGENT_ID_MINTJULEP + result = REAGENT_ID_MINTJULEP + required_reagents = list(REAGENT_ID_WHISKEY = 2, REAGENT_ID_WATER = 1, REAGENT_ID_MINT = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/paloma - name = "Paloma" - id = "paloma" - result = "paloma" - required_reagents = list("sodawater" = 1, "tequillasunrise" = 2) + name = REAGENT_PALOMA + id = REAGENT_ID_PALOMA + result = REAGENT_ID_PALOMA + required_reagents = list(REAGENT_ID_SODAWATER = 1, REAGENT_ID_TEQUILLASUNRISE = 2) result_amount = 3 /decl/chemical_reaction/instant/drinks/mojito - name = "Mojito" - id = "mojito" - result = "mojito" - required_reagents = list("rum" = 3, "limejuice" = 1, "mint" = 1) + name = REAGENT_MOJITO + id = REAGENT_ID_MOJITO + result = REAGENT_ID_MOJITO + required_reagents = list(REAGENT_ID_RUM = 3, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_MINT = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/virginmojito - name = "Mojito" - id = "virginmojito" - result = "virginmojito" - required_reagents = list("sodawater" = 3, "limejuice" = 1, "mint" = 1, "sugar" = 1) + name = REAGENT_VIRGINMOJITO + id = REAGENT_ID_VIRGINMOJITO + result = REAGENT_ID_VIRGINMOJITO + required_reagents = list(REAGENT_ID_SODAWATER = 3, REAGENT_ID_LIMEJUICE = 1, REAGENT_ID_MINT = 1, REAGENT_ID_SUGAR = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/piscosour - name = "Pisco Sour" - id = "piscosour" - result = "piscosour" - required_reagents = list("winebrandy" = 1, "lemonjuice" = 1, "sugar" = 1) + name = REAGENT_PISCOSOUR + id = REAGENT_ID_PISCOSOUR + result = REAGENT_ID_PISCOSOUR + required_reagents = list(REAGENT_ID_WINEBRANDY = 1, REAGENT_ID_LEMONJUICE = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/coldfront - name = "Cold Front" - id = "coldfront" - result = "coldfront" - required_reagents = list("icecoffee" = 1, "whiskey" = 1, "mint" = 1) + name = REAGENT_COLDFRONT + id = REAGENT_ID_COLDFRONT + result = REAGENT_ID_COLDFRONT + required_reagents = list(REAGENT_ID_ICECOFFEE = 1, REAGENT_ID_WHISKEY = 1, REAGENT_ID_MINT = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/godsake - name = "Gods Sake" - id = "godsake" - result = "godsake" - required_reagents = list("sake" = 2, "holywater" = 1) + name = REAGENT_GODSAKE + id = REAGENT_ID_GODSAKE + result = REAGENT_ID_GODSAKE + required_reagents = list(REAGENT_ID_SAKE = 2, REAGENT_ID_HOLYWATER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/godka //Why you would put this in your body, I don't know. - name = "Godka" - id = "godka" - result = "godka" - required_reagents = list("vodka" = 1, "holywater" = 1, "ethanol" = 1, "carthatoline" = 1) - catalysts = list("enzyme" = 5, "holywater" = 5) + name = REAGENT_GODKA + id = REAGENT_ID_GODKA + result = REAGENT_ID_GODKA + required_reagents = list(REAGENT_ID_VODKA = 1, REAGENT_ID_HOLYWATER = 1, REAGENT_ID_ETHANOL = 1, REAGENT_ID_CARTHATOLINE = 1) + catalysts = list(REAGENT_ID_ENZYME = 5, REAGENT_ID_HOLYWATER = 5) result_amount = 1 /decl/chemical_reaction/instant/drinks/holywine - name = "Angel Ichor" - id = "holywine" - result = "holywine" - required_reagents = list("grapejuice" = 5, "gold" = 5) - catalysts = list("holywater" = 5) + name = REAGENT_HOLYWINE + id = REAGENT_ID_HOLYWINE + result = REAGENT_ID_HOLYWINE + required_reagents = list(REAGENT_ID_GRAPEJUICE = 5, REAGENT_ID_GOLD = 5) + catalysts = list(REAGENT_ID_HOLYWATER = 5) result_amount = 10 /decl/chemical_reaction/instant/drinks/holy_mary - name = "Holy Mary" - id = "holymary" - result = "holymary" - required_reagents = list("vodka" = 2, "holywine" = 3, "limejuice" = 1) + name = REAGENT_HOLYMARY + id = REAGENT_ID_HOLYMARY + result = REAGENT_ID_HOLYMARY + required_reagents = list(REAGENT_ID_VODKA = 2, REAGENT_ID_HOLYWINE = 3, REAGENT_ID_LIMEJUICE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/angelskiss - name = "Angels Kiss" - id = "angelskiss" - result = "angelskiss" - required_reagents = list("holywine" = 1, "kahlua" = 1, "rum" = 1) + name = REAGENT_ANGELSKISS + id = REAGENT_ID_ANGELSKISS + result = REAGENT_ID_ANGELSKISS + required_reagents = list(REAGENT_ID_HOLYWINE = 1, REAGENT_ID_KAHLUA = 1, REAGENT_ID_RUM = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/angelswrath - name = "Angels Wrath" - id = "angelswrath" - result = "angelswrath" - required_reagents = list("rum" = 3, "spacemountainwind" = 1, "holywine" = 1, "dr_gibb" = 1) + name = REAGENT_ANGELSWRATH + id = REAGENT_ID_ANGELSWRATH + result = REAGENT_ID_ANGELSWRATH + required_reagents = list(REAGENT_ID_RUM = 3, REAGENT_ID_SPACEMOUNTAINWIND = 1, REAGENT_ID_HOLYWINE = 1, REAGENT_ID_DRGIBB = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/ichor_mead - name = "Ichor Mead" - id = "ichor_mead" - result = "ichor_mead" - required_reagents = list("holywine" = 1, "mead" = 1) + name = REAGENT_ICHORMEAD + id = REAGENT_ID_ICHORMEAD + result = REAGENT_ID_ICHORMEAD + required_reagents = list(REAGENT_ID_HOLYWINE = 1, REAGENT_ID_MEAD = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/oilslick - name = "Oil Slick" - id = "oilslick" - result = "oilslick" - required_reagents = list("cookingoil" = 2, "honey" = 1) + name = REAGENT_OILSLICK + id = REAGENT_ID_OILSLICK + result = REAGENT_ID_OILSLICK + required_reagents = list(REAGENT_ID_COOKINGOIL = 2, REAGENT_ID_HONEY = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/slimeslam name = "Slick Slime Slammer" - id = "slimeslammer" - result = "slimeslammer" - required_reagents = list("cookingoil" = 2, "peanutbutter" = 1) + id = REAGENT_ID_SLIMESLAMMER + result = REAGENT_ID_SLIMESLAMMER + required_reagents = list(REAGENT_ID_COOKINGOIL = 2, REAGENT_ID_PEANUTBUTTER = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/virginsexonthebeach - name = "Virgin Sex On The Beach" - id = "virginsexonthebeach" - result = "virginsexonthebeach" - required_reagents = list("orangejuice" = 3, "grenadine" = 2) + name = REAGENT_VIRGINSEXONTHEBEACH + id = REAGENT_ID_VIRGINSEXONTHEBEACH + result = REAGENT_ID_VIRGINSEXONTHEBEACH + required_reagents = list(REAGENT_ID_ORANGEJUICE = 3, REAGENT_ID_GRENADINE = 2) result_amount = 5 /decl/chemical_reaction/instant/drinks/sexonthebeach - name = "Sex On The Beach" - id = "sexonthebeach" - result = "sexonthebeach" - required_reagents = list("virginsexonthebeach" = 5, "vodka" = 1) + name = REAGENT_SEXONTHEBEACH + id = REAGENT_ID_SEXONTHEBEACH + result = REAGENT_ID_SEXONTHEBEACH + required_reagents = list(REAGENT_ID_VIRGINSEXONTHEBEACH = 5, REAGENT_ID_VODKA = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/eggnog - name = "Eggnog" - id = "eggnog" - result = "eggnog" - required_reagents = list("milk" = 5, "cream" = 5, "sugar" = 5, "egg" = 3) + name = REAGENT_EGGNOG + id = REAGENT_ID_EGGNOG + result = REAGENT_ID_EGGNOG + required_reagents = list(REAGENT_ID_MILK = 5, REAGENT_ID_CREAM = 5, REAGENT_ID_SUGAR = 5, REAGENT_ID_EGG = 3) result_amount = 15 /decl/chemical_reaction/instant/drinks/nuclearwaste_radium - name = "Nuclear Waste" + name = REAGENT_NUCLEARWASTE id = "nuclearwasterad" - result = "nuclearwaste" - required_reagents = list("oilslick" = 1, "radium" = 1, "limejuice" = 1) + result = REAGENT_ID_NUCLEARWASTE + required_reagents = list(REAGENT_ID_OILSLICK = 1, REAGENT_ID_RADIUM = 1, REAGENT_ID_LIMEJUICE = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/nuclearwaste_uranium - name = "Nuclear Waste" + name = REAGENT_NUCLEARWASTE id = "nuclearwasteuran" - result = "nuclearwaste" - required_reagents = list("oilslick" = 2, "uranium" = 1) + result = REAGENT_ID_NUCLEARWASTE + required_reagents = list(REAGENT_ID_OILSLICK = 2, REAGENT_ID_URANIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/sodaoil - name = "Soda Oil" - id = "sodaoil" - result = "sodaoil" - required_reagents = list("cookingoil" = 4, "sodawater" = 1, "carbon" = 1, "tricordrazine" = 1) + name = REAGENT_SODAOIL + id = REAGENT_ID_SODAOIL + result = REAGENT_ID_SODAOIL + required_reagents = list(REAGENT_ID_COOKINGOIL = 4, REAGENT_ID_SODAWATER = 1, REAGENT_ID_CARBON = 1, REAGENT_ID_TRICORDRAZINE = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/fusionnaire - name = "Fusionnaire" - id = "fusionnaire" - result = "fusionnaire" - required_reagents = list("lemonjuice" = 3, "vodka" = 2, "schnapps_pep" = 1, "schnapps_lem" = 1, "rum" = 1, "ice" = 1) + name = REAGENT_FUSIONNAIRE + id = REAGENT_ID_FUSIONNAIRE + result = REAGENT_ID_FUSIONNAIRE + required_reagents = list(REAGENT_ID_LEMONJUICE = 3, REAGENT_ID_VODKA = 2, REAGENT_ID_SCHNAPPSPEP = 1, REAGENT_ID_SCHNAPPSLEM = 1, REAGENT_ID_RUM = 1, REAGENT_ID_ICE = 1) result_amount = 9 diff --git a/code/modules/reagents/reactions/instant/drinks_vr.dm b/code/modules/reagents/reactions/instant/drinks_vr.dm index 2fcedd4e53..bd8f09a317 100644 --- a/code/modules/reagents/reactions/instant/drinks_vr.dm +++ b/code/modules/reagents/reactions/instant/drinks_vr.dm @@ -2,240 +2,247 @@ /// Special drinks /decl/chemical_reaction/instant/drinks/grubshake name = "Grub protein drink" - id = "grubshake" - result = "grubshake" - required_reagents = list("shockchem" = 5, "water" = 25) + id = REAGENT_ID_GRUBSHAKE + result = REAGENT_ID_GRUBSHAKE + required_reagents = list(REAGENT_ID_SHOCKCHEM = 5, REAGENT_ID_WATER = 25) result_amount = 30 /decl/chemical_reaction/instant/drinks/deathbell - name = "Deathbell" - id = "deathbell" - result = "deathbell" - required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1) + name = REAGENT_DEATHBELL + id = REAGENT_ID_DEATHBELL + result = REAGENT_ID_DEATHBELL + required_reagents = list(REAGENT_ID_ANTIFREEZE = 1, REAGENT_ID_GARGLEBLASTER = 1, REAGENT_ID_SYNDICATEBOMB =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/burnout - name = "Burnout" - id = "burnout" - result = "burnout" - required_reagents = list("antifreeze" = 1, "deathbell" = 1, "lovemaker" =1) + name = REAGENT_BURNOUT + id = REAGENT_ID_BURNOUT + result = REAGENT_ID_BURNOUT + required_reagents = list(REAGENT_ID_ANTIFREEZE = 1, REAGENT_ID_DEATHBELL = 1, REAGENT_ID_LOVEMAKER =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/monstertamer - name = "Monster Tamer" - id = "monstertamer" - result = "monstertamer" - required_reagents = list("whiskey" = 1, "protein" = 1) + name = REAGENT_MONSTERTAMER + id = REAGENT_ID_MONSTERTAMER + result = REAGENT_ID_MONSTERTAMER + required_reagents = list(REAGENT_ID_WHISKEY = 1, REAGENT_ID_PROTEIN = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/bigbeer - name = "Giant Beer" - id = "bigbeer" - result = "bigbeer" - required_reagents = list("syndicatebomb" = 1, "manlydorf" = 1, "grog" =1) + name = REAGENT_BIGBEER + id = REAGENT_ID_BIGBEER + result = REAGENT_ID_BIGBEER + required_reagents = list(REAGENT_ID_SYNDICATEBOMB = 1, REAGENT_ID_MANLYDORF = 1, REAGENT_ID_GROG =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/sweettea name = "Sweetened Tea" - id = "sweettea" - result = "sweettea" - required_reagents = list("icetea" = 2, "sugar" = 1,) + id = REAGENT_ID_SWEETTEA + result = REAGENT_ID_SWEETTEA + required_reagents = list(REAGENT_ID_ICETEA = 2, REAGENT_ID_SUGAR = 1,) result_amount = 3 /decl/chemical_reaction/instant/drinks/unsweettea - name = "Unsweetened Tea" - id = "unsweettea" - result = "unsweettea" - required_reagents = list("sweettea" = 3, "phoron" = 1) + name = REAGENT_UNSWEETTEA + id = REAGENT_ID_UNSWEETTEA + result = REAGENT_ID_UNSWEETTEA + required_reagents = list(REAGENT_ID_SWEETTEA = 3, REAGENT_ID_PHORON = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/galacticpanic - name = "Galactic Panic Attack" - id = "galacticpanic" - result = "galacticpanic" - required_reagents = list("gargleblaster" = 1, "singulo" = 1, "phoronspecial" =1, "neurotoxin" = 1, "atomicbomb" = 1, "hippiesdelight" = 1) + name = REAGENT_GALACTICPANIC + id = REAGENT_ID_GALACTICPANIC + result = REAGENT_ID_GALACTICPANIC + required_reagents = list(REAGENT_ID_GARGLEBLASTER = 1, REAGENT_ID_SINGULO = 1, REAGENT_ID_PHORONSPECIAL =1, REAGENT_ID_NEUROTOXIN = 1, REAGENT_ID_ATOMICBOMB = 1, REAGENT_ID_HIPPIESDELIGHT = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/bulldog - name = "Space Bulldog" - id = "bulldog" - result = "bulldog" - required_reagents = list("whiterussian" = 4, "cola" =1) + name = REAGENT_BULLDOG + id = REAGENT_ID_BULLDOG + result = REAGENT_ID_BULLDOG + required_reagents = list(REAGENT_ID_WHITERUSSIAN = 4, REAGENT_ID_COLA =1) result_amount = 4 /decl/chemical_reaction/instant/drinks/sbagliato - name = "Negroni Sbagliato" - id = "sbagliato" - result = "sbagliato" - required_reagents = list("redwine" = 1, "vermouth" = 1, "sodawater" =1) + name = REAGENT_SBAGLIATO + id = REAGENT_ID_SBAGLIATO + result = REAGENT_ID_SBAGLIATO + required_reagents = list(REAGENT_ID_REDWINE = 1, REAGENT_ID_VERMOUTH = 1, REAGENT_ID_SODAWATER =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/italiancrisis - name = "Italian Crisis" - id = "italiancrisis" - result = "italiancrisis" - required_reagents = list("bulldog" = 1, "sbagliato" = 1) + name = REAGENT_ITALIANCRISIS + id = REAGENT_ID_ITALIANCRISIS + result = REAGENT_ID_ITALIANCRISIS + required_reagents = list(REAGENT_ID_BULLDOG = 1, REAGENT_ID_SBAGLIATO = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/sugarrush - name = "Sweet Rush" - id = "sugarrush" - result = "sugarrush" - required_reagents = list("sugar" = 1, "sodawater" = 1, "vodka" =1) + name = REAGENT_SUGARRUSH + id = REAGENT_ID_SUGARRUSH + result = REAGENT_ID_SUGARRUSH + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_SODAWATER = 1, REAGENT_ID_VODKA =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/lotus - name = "Lotus" - id = "lotus" - result = "lotus" - required_reagents = list("sbagliato" = 1, "sugarrush" = 1) + name = REAGENT_LOTUS + id = REAGENT_ID_LOTUS + result = REAGENT_ID_LOTUS + required_reagents = list(REAGENT_ID_SBAGLIATO = 1, REAGENT_ID_SUGARRUSH = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/shroomjuice - name = "Dumb Shroom Juice" - id = "shroomjuice" - result = "shroomjuice" - required_reagents = list("psilocybin" = 1, "applejuice" = 1, "limejuice" =1) + name = REAGENT_SHROOMJUICE + id = REAGENT_ID_SHROOMJUICE + result = REAGENT_ID_SHROOMJUICE + required_reagents = list(REAGENT_ID_PSILOCYBIN = 1, REAGENT_ID_APPLEJUICE = 1, REAGENT_ID_LIMEJUICE =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/russianroulette - name = "Russian Roulette" - id = "russianroulette" - result = "russianroulette" - required_reagents = list("whiterussian" = 5, "iron" = 1) + name = REAGENT_RUSSIANROULETTE + id =REAGENT_ID_RUSSIANROULETTE + result =REAGENT_ID_RUSSIANROULETTE + required_reagents = list(REAGENT_ID_WHITERUSSIAN = 5, REAGENT_ID_IRON = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/lovemaker - name = "The Love Maker" - id = "lovemaker" - result = "lovemaker" - required_reagents = list("honey" = 1, "sexonthebeach" = 5) + name = REAGENT_LOVEMAKER + id = REAGENT_ID_LOVEMAKER + result = REAGENT_ID_LOVEMAKER + required_reagents = list(REAGENT_ID_HONEY = 1, REAGENT_ID_SEXONTHEBEACH = 5) result_amount = 6 /decl/chemical_reaction/instant/drinks/honeyshot - name = "Honey Shot" - id = "honeyshot" - result = "honeyshot" - required_reagents = list("honey" = 1, "vodka" = 1, "grenadine" =1) + name = REAGENT_HONEYSHOT + id = REAGENT_ID_HONEYSHOT + result = REAGENT_ID_HONEYSHOT + required_reagents = list(REAGENT_ID_HONEY = 1, REAGENT_ID_VODKA = 1, REAGENT_ID_GRENADINE =1) result_amount = 3 /decl/chemical_reaction/instant/drinks/appletini - name = "Appletini" - id = "appletini" - result = "appletini" - required_reagents = list("applejuice" = 2, "vodka" = 1) + name = REAGENT_APPLETINI + id = REAGENT_ID_APPLETINIT + result = REAGENT_ID_APPLETINIT + required_reagents = list(REAGENT_ID_APPLEJUICE = 2, REAGENT_ID_VODKA = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/glowingappletini - name = "Glowing Appletini" - id = "glowingappletini" - result = "glowingappletini" - required_reagents = list("appletini" = 5, "uranium" = 1) + name = REAGENT_GLOWINGAPPLETINI + id = REAGENT_ID_GLOWINGAPPLETINI + result = REAGENT_ID_GLOWINGAPPLETINI + required_reagents = list(REAGENT_ID_APPLETINIT = 5, REAGENT_ID_URANIUM = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/scsatw - name = "Slow Comfortable Screw Against the Wall" - id = "scsatw" - result = "scsatw" - required_reagents = list("screwdrivercocktail" = 3, "rum" =1, "whiskey" =1, "gin" =1) + name = REAGENT_SCSATW + id = REAGENT_ID_SCSATW + result = REAGENT_ID_SCSATW + required_reagents = list(REAGENT_ID_SCREWDRIVERCOCKTAIL = 3, REAGENT_ID_RUM =1, REAGENT_ID_WHISKEY =1, REAGENT_ID_GIN =1) result_amount = 6 /decl/chemical_reaction/instant/drinks/choccymilk - name = "Choccy Milk" - id = "choccymilk" - result = "choccymilk" - inhibitors = list("enzyme" = 1) - required_reagents = list("milk" = 3, "coco" = 1) + name = REAGENT_CHOCCYMILK + id = REAGENT_ID_CHOCCYMILK + result = REAGENT_ID_CHOCCYMILK + inhibitors = list(REAGENT_ID_ENZYME = 1) + required_reagents = list(REAGENT_ID_MILK = 3, REAGENT_ID_COCO = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/redspaceflush name = "Redspace Flush" - id = "redspaceflush" - result = "redspaceflush" - required_reagents = list("rum" = 2, "whiskey" = 2, "blood" =1, "phoron" =1) + id = REAGENT_ID_REDSPACEFLUSH + result = REAGENT_ID_REDSPACEFLUSH + required_reagents = list(REAGENT_ID_RUM = 2, REAGENT_ID_WHISKEY = 2, REAGENT_ID_BLOOD =1, REAGENT_ID_PHORON =1) result_amount = 6 /decl/chemical_reaction/instant/drinks/graveyard - name = "Graveyard" - id = "graveyard" - result = "graveyard" - required_reagents = list("cola" = 1, "spacemountainwind" = 1, "dr_gibb" =1, "space_up" = 1) + name = REAGENT_GRAVEYARD + id = REAGENT_ID_GRAVEYARD + result = REAGENT_ID_GRAVEYARD + required_reagents = list(REAGENT_ID_COLA = 1, REAGENT_ID_SPACEMOUNTAINWIND = 1, REAGENT_ID_DRGIBB =1, REAGENT_ID_SPACEUP = 1) result_amount = 4 /decl/chemical_reaction/instant/drinks/hairoftherat - name = "Hair of the Rat" - id = "hairoftherat" - result = "hairoftherat" - required_reagents = list("monstertamer" = 2, "nutriment" = 1) + name = REAGENT_HAIROFTHERAT + id = REAGENT_ID_HAIROFTHERAT + result = REAGENT_ID_HAIROFTHERAT + required_reagents = list(REAGENT_ID_MONSTERTAMER = 2, REAGENT_ID_NUTRIMENT = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/pink_russian - name = "Pink Russian" - id = "pinkrussian" - result = "pinkrussian" - required_reagents = list("blackrussian" = 2, "berryshake" = 1) + name = REAGENT_PINKRUSSIAN + id = REAGENT_ID_PINKRUSSIAN + result = REAGENT_ID_PINKRUSSIAN + required_reagents = list(REAGENT_ID_BLACKRUSSIAN = 2, REAGENT_ID_BERRYSHAKE = 1) result_amount = 3 /decl/chemical_reaction/instant/drinks/originalsin - name = "Original Sin" - id = "originalsin" - result = "originalsin" - required_reagents = list("holywine" = 1) - catalysts = list("applejuice" = 1) + name = REAGENT_ORIGINALSIN + id = REAGENT_ID_ORIGINALSIN + result = REAGENT_ID_ORIGINALSIN + required_reagents = list(REAGENT_ID_HOLYWINE = 1) + catalysts = list(REAGENT_ID_APPLEJUICE = 1) result_amount = 1 /decl/chemical_reaction/instant/drinks/windgarita - name = "WND-Garita" - id = "windgarita" - result = "windgarita" - required_reagents = list("margarita" = 3, "spacemountainwind" = 2, "melonliquor" = 1) + name = REAGENT_WINDGARITA + id = REAGENT_ID_WINDGARITA + result = REAGENT_ID_WINDGARITA + required_reagents = list(REAGENT_ID_MARGARITA = 3, REAGENT_ID_SPACEMOUNTAINWIND = 2, REAGENT_ID_MELONLIQUOR = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/newyorksour - name = "New York Sour" - id = "newyorksour" - result = "newyorksour" - required_reagents = list("whiskeysour" = 3, "redwine" = 2, "egg" = 1) + name = REAGENT_NEWYORKSOUR + id = REAGENT_ID_NEWYORKSOUR + result = REAGENT_ID_NEWYORKSOUR + required_reagents = list(REAGENT_ID_WHISKEYSOUR = 3, REAGENT_ID_REDWINE = 2, REAGENT_ID_EGG = 1) result_amount = 6 /decl/chemical_reaction/instant/drinks/mudslide - name = "Mudslide" - id = "mudslide" - result = "mudslide" - required_reagents = list("blackrussian" = 1, "irishcream" = 1) + name = REAGENT_MUDSLIDE + id = REAGENT_ID_MUDSLIDE + result = REAGENT_ID_MUDSLIDE + required_reagents = list(REAGENT_ID_BLACKRUSSIAN = 1, REAGENT_ID_IRISHCREAM = 1) result_amount = 2 /decl/chemical_reaction/instant/drinks/protein_shake - name = "Protein Shake" - id = "protein_shake" - result = "protein_shake" - required_reagents = list("water" = 5, "protein_powder" = 1) + name = REAGENT_PROTEINSHAKE + id = REAGENT_ID_PROTEINSHAKE + result = REAGENT_ID_PROTEINSHAKE + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_PROTEINPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/protein_shake/vanilla - name = "Vanilla Protein Shake" - id = "vanilla_protein_shake" - result = "vanilla_protein_shake" - required_reagents = list("water" = 5, "vanilla_protein_powder" = 1) + name = REAGENT_VANILLAPROTEINSHAKE + id = REAGENT_ID_VANILLAPROTEINSHAKER + result = REAGENT_ID_VANILLAPROTEINSHAKER + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_VANILLAPROTEINPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/protein_shake/banana - name = "Banana Protein Shake" - id = "banana_protein_shake" - result = "banana_protein_shake" - required_reagents = list("water" = 5, "banana_protein_powder" = 1) + name = REAGENT_BANANAPROTEINSHAKE + id = REAGENT_ID_BANANAPROTEINSHAKE + result = REAGENT_ID_BANANAPROTEINSHAKE + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_BANANAPROTEINPOWDER = 1) + result_amount = 5 + +/decl/chemical_reaction/instant/drinks/protein_shake/chocolate + name = REAGENT_CHOCOLATEPROTEINSHAKE + id = REAGENT_ID_CHOCOLATEPROTEINSHAKE + result = REAGENT_ID_CHOCOLATEPROTEINSHAKE + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_CHOCOLATEPROTEINPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/protein_shake/strawberry - name = "Strawberry Protein Shake" - id = "strawberry_protein_shake" - result = "strawberry_protein_shake" - required_reagents = list("water" = 5, "strawberry_protein_powder" = 1) + name = REAGENT_STRAWBERRYPROTEINSHAKE + id = REAGENT_ID_STRAWBERRYPROTEINSHAKE + result = REAGENT_ID_STRAWBERRYPROTEINSHAKE + required_reagents = list(REAGENT_ID_WATER = 5, REAGENT_ID_STRAWBERRYPROTEINPOWDER = 1) result_amount = 5 /decl/chemical_reaction/instant/drinks/manager_summoner - name = "Manager Summoner" - id = "manager_summoner" - result = "manager_summoner" - required_reagents = list("margarita" = 1, "redwine" = 1, "essential_oil" = 1) + name = REAGENT_MANAGERSUMMONER + id = REAGENT_ID_MANAGERSUMMONER + result = REAGENT_ID_MANAGERSUMMONER + required_reagents = list(REAGENT_ID_MARGARITA = 1, REAGENT_ID_REDWINE = 1, REAGENT_ID_ESSENTIALOIL = 1) result_amount = 3 diff --git a/code/modules/reagents/reactions/instant/food.dm b/code/modules/reagents/reactions/instant/food.dm index 8f28921586..c6d9773008 100644 --- a/code/modules/reagents/reactions/instant/food.dm +++ b/code/modules/reagents/reactions/instant/food.dm @@ -1,23 +1,23 @@ /decl/chemical_reaction/instant/food/hot_ramen - name = "Hot Ramen" - id = "hot_ramen" - result = "hot_ramen" - required_reagents = list("water" = 1, "dry_ramen" = 3) + name = REAGENT_HOTRAMEN + id = REAGENT_ID_HOTRAMEN + result = REAGENT_ID_HOTRAMEN + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_DRYRAMEN = 3) result_amount = 3 /decl/chemical_reaction/instant/food/hell_ramen - name = "Hell Ramen" - id = "hell_ramen" - result = "hell_ramen" - required_reagents = list("capsaicin" = 1, "hot_ramen" = 6) + name = REAGENT_HELLRAMEN + id = REAGENT_ID_HELLRAMEN + result = REAGENT_ID_HELLRAMEN + required_reagents = list(REAGENT_ID_CAPSAICIN = 1, REAGENT_ID_HOTRAMEN = 6) result_amount = 6 /decl/chemical_reaction/instant/food/tofu name = "Tofu" - id = "tofu" + id = REAGENT_ID_TOFU result = null - required_reagents = list("soymilk" = 10) - catalysts = list("enzyme" = 5) + required_reagents = list(REAGENT_ID_SOYMILK = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 1 /decl/chemical_reaction/instant/food/tofu/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -30,8 +30,8 @@ name = "Chocolate Bar" id = "chocolate_bar" result = null - required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2) - catalysts = list("enzyme" = 5) + required_reagents = list(REAGENT_ID_SOYMILK = 2, REAGENT_ID_COCO = 2, REAGENT_ID_SUGAR = 2) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 1 /decl/chemical_reaction/instant/food/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -44,8 +44,8 @@ name = "Chocolate Bar" id = "chocolate_bar" result = null - required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2) - catalysts = list("enzyme" = 5) + required_reagents = list(REAGENT_ID_MILK = 2, REAGENT_ID_COCO = 2, REAGENT_ID_SUGAR = 2) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 1 /decl/chemical_reaction/instant/food/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -55,64 +55,64 @@ return /decl/chemical_reaction/instant/food/cookingoilcorn - name = "Cooking Oil" + name = REAGENT_COOKINGOIL id = "cookingoilcorn" - result = "cookingoil" - required_reagents = list("cornoil" = 10) - catalysts = list("enzyme" = 5) + result = REAGENT_ID_COOKINGOIL + required_reagents = list(REAGENT_ID_CORNOIL = 10) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/food/cookingoilpeanut - name = "Cooking Oil" + name = REAGENT_COOKINGOIL id = "cookingoilpeanut" - result = "cookingoil" - required_reagents = list("peanutoil" = 10) - inhibitors = list("sugar" = 1, "sodiumchloride" = 1) - catalysts = list("enzyme" = 5) + result = REAGENT_ID_COOKINGOIL + required_reagents = list(REAGENT_ID_PEANUTOIL = 10) + inhibitors = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_SODIUMCHLORIDE = 1) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 10 /decl/chemical_reaction/instant/food/soysauce - name = "Soy Sauce" - id = "soysauce" - result = "soysauce" - required_reagents = list("soymilk" = 4, "sacid" = 1) + name = REAGENT_SOYSAUCE + id = REAGENT_ID_SOYSAUCE + result = REAGENT_ID_SOYSAUCE + required_reagents = list(REAGENT_ID_SOYMILK = 4, REAGENT_ID_SACID = 1) result_amount = 5 /decl/chemical_reaction/instant/food/ketchup - name = "Ketchup" - id = "ketchup" - result = "ketchup" - required_reagents = list("tomatojuice" = 2, "water" = 1, "sugar" = 1) + name = REAGENT_KETCHUP + id = REAGENT_ID_KETCHUP + result = REAGENT_ID_KETCHUP + required_reagents = list(REAGENT_ID_TOMATOJUICE = 2, REAGENT_ID_WATER = 1, REAGENT_ID_SUGAR = 1) result_amount = 4 /decl/chemical_reaction/instant/food/barbecue - name = "Barbeque Sauce" - id = "barbecue" - result = "barbecue" - required_reagents = list("tomatojuice" = 2, "applejuice" = 1, "sugar" = 1, "spacespice" = 1) + name = REAGENT_BARBECUE + id = REAGENT_ID_BARBECUE + result = REAGENT_ID_BARBECUE + required_reagents = list(REAGENT_ID_TOMATOJUICE = 2, REAGENT_ID_APPLEJUICE = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_SPACESPICE = 1) result_amount = 4 /decl/chemical_reaction/instant/food/peanutbutter - name = "Peanut Butter" - id = "peanutbutter" - result = "peanutbutter" - required_reagents = list("peanutoil" = 2, "sugar" = 1, "sodiumchloride" = 1) - catalysts = list("enzyme" = 5) + name = REAGENT_PEANUTBUTTER + id = REAGENT_ID_PEANUTBUTTER + result = REAGENT_ID_PEANUTBUTTER + required_reagents = list(REAGENT_ID_PEANUTOIL = 2, REAGENT_ID_SUGAR = 1, REAGENT_ID_SODIUMCHLORIDE = 1) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 3 /decl/chemical_reaction/instant/food/mayonnaise - name = "mayonnaise" - id = "mayo" - result = "mayo" - required_reagents = list("egg" = 9, "cookingoil" = 5, "lemonjuice" = 5, "sodiumchloride" = 1) + name = REAGENT_MAYO + id = REAGENT_ID_MAYO + result = REAGENT_ID_MAYO + required_reagents = list(REAGENT_ID_EGG = 9, REAGENT_ID_COOKINGOIL = 5, REAGENT_ID_LEMONJUICE = 5, REAGENT_ID_SODIUMCHLORIDE = 1) result_amount = 15 /decl/chemical_reaction/instant/food/cheesewheel name = "Cheesewheel" id = "cheesewheel" result = null - required_reagents = list("milk" = 40) - catalysts = list("enzyme" = 5) + required_reagents = list(REAGENT_ID_MILK = 40) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 1 /decl/chemical_reaction/instant/food/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -125,8 +125,8 @@ name = "Meatball" id = "meatball" result = null - required_reagents = list("protein" = 3, "flour" = 5) - catalysts = list("enzyme" = 5) + required_reagents = list(REAGENT_ID_PROTEIN = 3, REAGENT_ID_FLOUR = 5) + catalysts = list(REAGENT_ID_ENZYME = 5) result_amount = 3 /decl/chemical_reaction/instant/food/meatball/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -139,8 +139,8 @@ name = "Dough" id = "dough" result = null - required_reagents = list("egg" = 3, "flour" = 10) - inhibitors = list("water" = 1, "beer" = 1, "sugar" = 1) //To prevent it messing with batter recipes + required_reagents = list(REAGENT_ID_EGG = 3, REAGENT_ID_FLOUR = 10) + inhibitors = list(REAGENT_ID_WATER = 1, REAGENT_ID_BEER = 1, REAGENT_ID_SUGAR = 1) //To prevent it messing with batter recipes result_amount = 1 /decl/chemical_reaction/instant/food/dough/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -153,7 +153,7 @@ name = "Syntiflesh" id = "syntiflesh" result = null - required_reagents = list("blood" = 5, "clonexadone" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5, REAGENT_ID_CLONEXADONE = 5) result_amount = 1 /decl/chemical_reaction/instant/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -170,41 +170,41 @@ /decl/chemical_reaction/instant/food/coating/batter name = "Batter" - id = "batter" - result = "batter" - required_reagents = list("egg" = 3, "flour" = 10, "water" = 5, "sodiumchloride" = 2) + id = REAGENT_ID_BATTER + result = REAGENT_ID_BATTER + required_reagents = list(REAGENT_ID_EGG = 3, REAGENT_ID_FLOUR = 10, REAGENT_ID_WATER = 5, REAGENT_ID_SODIUMCHLORIDE = 2) result_amount = 20 /decl/chemical_reaction/instant/food/coating/beerbatter name = "Beer Batter" - id = "beerbatter" - result = "beerbatter" - required_reagents = list("egg" = 3, "flour" = 10, "beer" = 5, "sodiumchloride" = 2) + id = REAGENT_ID_BEERBATTER + result = REAGENT_ID_BEERBATTER + required_reagents = list(REAGENT_ID_EGG = 3, REAGENT_ID_FLOUR = 10, REAGENT_ID_BEER = 5, REAGENT_ID_SODIUMCHLORIDE = 2) result_amount = 20 /decl/chemical_reaction/instant/food/browniemix - name = "Brownie Mix" - id = "browniemix" - result = "browniemix" - required_reagents = list("flour" = 5, "coco" = 5, "sugar" = 5) + name = REAGENT_BROWNIEMIX + id = REAGENT_ID_BROWNIEMIX + result = REAGENT_ID_BROWNIEMIX + required_reagents = list(REAGENT_ID_FLOUR = 5, REAGENT_ID_COCO = 5, REAGENT_ID_SUGAR = 5) result_amount = 15 /decl/chemical_reaction/instant/food/cakebatter - name = "Cake Batter" - id = "cakebatter" - result = "cakebatter" - required_reagents = list("flour" = 15, "milk" = 10, "sugar" = 15, "egg" = 3) + name = REAGENT_CAKEBATTER + id = REAGENT_ID_CAKEBATTER + result = REAGENT_ID_CAKEBATTER + required_reagents = list(REAGENT_ID_FLOUR = 15, REAGENT_ID_MILK = 10, REAGENT_ID_SUGAR = 15, REAGENT_ID_EGG = 3) result_amount = 60 /decl/chemical_reaction/instant/food/butter name = "Butter" id = "butter" result = null - required_reagents = list("cream" = 20, "sodiumchloride" = 1) + required_reagents = list(REAGENT_ID_CREAM = 20, REAGENT_ID_SODIUMCHLORIDE = 1) result_amount = 1 /decl/chemical_reaction/instant/food/butter/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) new /obj/item/reagent_containers/food/snacks/spreads/butter(location) - return \ No newline at end of file + return diff --git a/code/modules/reagents/reactions/instant/food_vr.dm b/code/modules/reagents/reactions/instant/food_vr.dm index 684c23e944..cf34c86468 100644 --- a/code/modules/reagents/reactions/instant/food_vr.dm +++ b/code/modules/reagents/reactions/instant/food_vr.dm @@ -1,2 +1,2 @@ /decl/chemical_reaction/instant/food/syntiflesh - required_reagents = list("blood" = 5, "clonexadone" = 1) + required_reagents = list(REAGENT_ID_BLOOD = 5, REAGENT_ID_CLONEXADONE = 1) diff --git a/code/modules/reagents/reactions/instant/instant.dm b/code/modules/reagents/reactions/instant/instant.dm index 89985a8027..8ffadacae8 100644 --- a/code/modules/reagents/reactions/instant/instant.dm +++ b/code/modules/reagents/reactions/instant/instant.dm @@ -4,550 +4,550 @@ /* Common reactions */ /decl/chemical_reaction/instant/inaprovaline - name = "Inaprovaline" - id = "inaprovaline" - result = "inaprovaline" - required_reagents = list("oxygen" = 1, "carbon" = 1, "sugar" = 1) + name = REAGENT_INAPROVALINE + id = REAGENT_ID_INAPROVALINE + result = REAGENT_ID_INAPROVALINE + required_reagents = list(REAGENT_ID_OXYGEN = 1, REAGENT_ID_CARBON = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/dylovene - name = "Dylovene" - id = "anti_toxin" - result = "anti_toxin" - required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1) + name = REAGENT_ANTITOXIN + id = REAGENT_ID_ANTITOXIN + result = REAGENT_ID_ANTITOXIN + required_reagents = list(REAGENT_ID_SILICON = 1, REAGENT_ID_POTASSIUM = 1, REAGENT_ID_NITROGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/carthatoline - name = "Carthatoline" - id = "carthatoline" - result = "carthatoline" - required_reagents = list("anti_toxin" = 1, "carbon" = 2, "phoron" = 0.1) - catalysts = list("phoron" = 1) + name = REAGENT_CARTHATOLINE + id = REAGENT_ID_CARTHATOLINE + result = REAGENT_ID_CARTHATOLINE + required_reagents = list(REAGENT_ID_ANTITOXIN = 1, REAGENT_ID_CARBON = 2, REAGENT_ID_PHORON = 0.1) + catalysts = list(REAGENT_ID_PHORON = 1) result_amount = 2 /decl/chemical_reaction/instant/paracetamol - name = "Paracetamol" - id = "paracetamol" - result = "paracetamol" - required_reagents = list("inaprovaline" = 1, "nitrogen" = 1, "water" = 1) + name = REAGENT_PARACETAMOL + id = REAGENT_ID_PARACETAMOL + result = REAGENT_ID_PARACETAMOL + required_reagents = list(REAGENT_ID_INAPROVALINE = 1, REAGENT_ID_NITROGEN = 1, REAGENT_ID_WATER = 1) result_amount = 2 /decl/chemical_reaction/instant/tramadol - name = "Tramadol" - id = "tramadol" - result = "tramadol" - required_reagents = list("paracetamol" = 1, "ethanol" = 1, "oxygen" = 1) + name = REAGENT_TRAMADOL + id = REAGENT_ID_TRAMADOL + result = REAGENT_ID_TRAMADOL + required_reagents = list(REAGENT_ID_PARACETAMOL = 1, REAGENT_ID_ETHANOL = 1, REAGENT_ID_OXYGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/oxycodone - name = "Oxycodone" - id = "oxycodone" - result = "oxycodone" - required_reagents = list("ethanol" = 1, "tramadol" = 1) - catalysts = list("phoron" = 5) + name = REAGENT_OXYCODONE + id = REAGENT_ID_OXYCODONE + result = REAGENT_ID_OXYCODONE + required_reagents = list(REAGENT_ID_ETHANOL = 1, REAGENT_ID_TRAMADOL = 1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 1 /decl/chemical_reaction/instant/sterilizine - name = "Sterilizine" - id = "sterilizine" - result = "sterilizine" - required_reagents = list("ethanol" = 1, "anti_toxin" = 1, "chlorine" = 1) + name = REAGENT_STERILIZINE + id = REAGENT_ID_STERILIZINE + result = REAGENT_ID_STERILIZINE + required_reagents = list(REAGENT_ID_ETHANOL = 1, REAGENT_ID_ANTITOXIN = 1, REAGENT_ID_CHLORINE = 1) result_amount = 3 /decl/chemical_reaction/instant/silicate - name = "Silicate" - id = "silicate" - result = "silicate" - required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1) + name = REAGENT_SILICATE + id = REAGENT_ID_SILICATE + result = REAGENT_ID_SILICATE + required_reagents = list(REAGENT_ID_ALUMINIUM = 1, REAGENT_ID_SILICON = 1, REAGENT_ID_OXYGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/mutagen - name = "Unstable mutagen" - id = "mutagen" - result = "mutagen" - required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1) + name = REAGENT_MUTAGEN + id = REAGENT_ID_MUTAGEN + result = REAGENT_ID_MUTAGEN + required_reagents = list(REAGENT_ID_RADIUM = 1, REAGENT_ID_PHOSPHORUS = 1, REAGENT_ID_CHLORINE = 1) result_amount = 3 /decl/chemical_reaction/instant/water - name = "Water" - id = "water" - result = "water" - required_reagents = list("oxygen" = 1, "hydrogen" = 2) + name = REAGENT_WATER + id = REAGENT_ID_WATER + result = REAGENT_ID_WATER + required_reagents = list(REAGENT_ID_OXYGEN = 1, REAGENT_ID_HYDROGEN = 2) result_amount = 1 /decl/chemical_reaction/instant/thermite - name = "Thermite" - id = "thermite" - result = "thermite" - required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1) + name = REAGENT_THERMITE + id = REAGENT_ID_THERMITE + result = REAGENT_ID_THERMITE + required_reagents = list(REAGENT_ID_ALUMINIUM = 1, REAGENT_ID_IRON = 1, REAGENT_ID_OXYGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/bliss - name = "Bliss" - id = "bliss" - result = "bliss" - required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1) + name = REAGENT_BLISS + id = REAGENT_ID_BLISS + result = REAGENT_ID_BLISS + required_reagents = list(REAGENT_ID_MERCURY = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_LITHIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/lube - name = "Space Lube" - id = "lube" - result = "lube" - required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1) + name = REAGENT_LUBE + id = REAGENT_ID_LUBE + result = REAGENT_ID_LUBE + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_SILICON = 1, REAGENT_ID_OXYGEN = 1) result_amount = 4 /decl/chemical_reaction/instant/pacid - name = "Polytrinic acid" - id = "pacid" - result = "pacid" - required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1) + name = REAGENT_PACID + id = REAGENT_ID_PACID + result = REAGENT_ID_PACID + required_reagents = list(REAGENT_ID_SACID = 1, REAGENT_ID_CHLORINE = 1, REAGENT_ID_POTASSIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/synaptizine - name = "Synaptizine" - id = "synaptizine" - result = "synaptizine" - required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1) + name = REAGENT_SYNAPTIZINE + id = REAGENT_ID_SYNAPTIZINE + result = REAGENT_ID_SYNAPTIZINE + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_LITHIUM = 1, REAGENT_ID_WATER = 1) result_amount = 3 /decl/chemical_reaction/instant/hyronalin - name = "Hyronalin" - id = "hyronalin" - result = "hyronalin" - required_reagents = list("radium" = 1, "anti_toxin" = 1) + name = REAGENT_HYRONALIN + id = REAGENT_ID_HYRONALIN + result = REAGENT_ID_HYRONALIN + required_reagents = list(REAGENT_ID_RADIUM = 1, REAGENT_ID_ANTITOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/arithrazine - name = "Arithrazine" - id = "arithrazine" - result = "arithrazine" - required_reagents = list("hyronalin" = 1, "hydrogen" = 1) + name = REAGENT_ARITHRAZINE + id = REAGENT_ID_ARITHRAZINE + result = REAGENT_ID_ARITHRAZINE + required_reagents = list(REAGENT_ID_HYRONALIN = 1, REAGENT_ID_HYDROGEN = 1) result_amount = 2 /decl/chemical_reaction/instant/impedrezene - name = "Impedrezene" - id = "impedrezene" - result = "impedrezene" - required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1) + name = REAGENT_IMPEDREZENE + id = REAGENT_ID_IMPEDREZENE + result = REAGENT_ID_IMPEDREZENE + required_reagents = list(REAGENT_ID_MERCURY = 1, REAGENT_ID_OXYGEN = 1, REAGENT_ID_SUGAR = 1) result_amount = 2 /decl/chemical_reaction/instant/kelotane - name = "Kelotane" - id = "kelotane" - result = "kelotane" - required_reagents = list("silicon" = 1, "carbon" = 1) + name = REAGENT_KELOTANE + id = REAGENT_ID_KELOTANE + result = REAGENT_ID_KELOTANE + required_reagents = list(REAGENT_ID_SILICON = 1, REAGENT_ID_CARBON = 1) result_amount = 2 log_is_important = 1 /decl/chemical_reaction/instant/peridaxon - name = "Peridaxon" - id = "peridaxon" - result = "peridaxon" - required_reagents = list("bicaridine" = 2, "clonexadone" = 2) - catalysts = list("phoron" = 5) + name = REAGENT_PERIDAXON + id = REAGENT_ID_PERIDAXON + result = REAGENT_ID_PERIDAXON + required_reagents = list(REAGENT_ID_BICARIDINE = 2, REAGENT_ID_CLONEXADONE = 2) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 /decl/chemical_reaction/instant/osteodaxon - name = "Osteodaxon" - id = "osteodaxon" - result = "osteodaxon" - required_reagents = list("bicaridine" = 2, "phoron" = 0.1, "carpotoxin" = 1) - catalysts = list("phoron" = 5) - inhibitors = list("clonexadone" = 1) // Messes with cryox + name = REAGENT_OSTEODAXON + id = REAGENT_ID_OSTEODAXON + result = REAGENT_ID_OSTEODAXON + required_reagents = list(REAGENT_ID_BICARIDINE = 2, REAGENT_ID_PHORON = 0.1, REAGENT_ID_CARPOTOXIN = 1) + catalysts = list(REAGENT_ID_PHORON = 5) + inhibitors = list(REAGENT_ID_CLONEXADONE = 1) // Messes with cryox result_amount = 2 /decl/chemical_reaction/instant/respirodaxon - name = "Respirodaxon" - id = "respirodaxon" - result = "respirodaxon" - required_reagents = list("dexalinp" = 2, "biomass" = 2, "phoron" = 1) - catalysts = list("phoron" = 5) - inhibitors = list("dexalin" = 1) + name = REAGENT_RESPIRODAXON + id = REAGENT_ID_RESPIRODAXON + result = REAGENT_ID_RESPIRODAXON + required_reagents = list(REAGENT_ID_DEXALINP = 2, REAGENT_ID_BIOMASS = 2, REAGENT_ID_PHORON = 1) + catalysts = list(REAGENT_ID_PHORON = 5) + inhibitors = list(REAGENT_ID_DEXALIN = 1) result_amount = 2 /decl/chemical_reaction/instant/gastirodaxon - name = "Gastirodaxon" - id = "gastirodaxon" - result = "gastirodaxon" - required_reagents = list("carthatoline" = 1, "biomass" = 2, "tungsten" = 2) - catalysts = list("phoron" = 5) - inhibitors = list("lithium" = 1) + name = REAGENT_GASTIRODAXON + id = REAGENT_ID_GASTIRODAXON + result = REAGENT_ID_GASTIRODAXON + required_reagents = list(REAGENT_ID_CARTHATOLINE = 1, REAGENT_ID_BIOMASS = 2, REAGENT_ID_TUNGSTEN = 2) + catalysts = list(REAGENT_ID_PHORON = 5) + inhibitors = list(REAGENT_ID_LITHIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/hepanephrodaxon - name = "Hepanephrodaxon" - id = "hepanephrodaxon" - result = "hepanephrodaxon" - required_reagents = list("carthatoline" = 2, "biomass" = 2, "lithium" = 1) - catalysts = list("phoron" = 5) - inhibitors = list("tungsten" = 1) + name = REAGENT_HEPANEPHRODAXON + id = REAGENT_ID_HEPANEPHRODAXON + result = REAGENT_ID_HEPANEPHRODAXON + required_reagents = list(REAGENT_ID_CARTHATOLINE = 2, REAGENT_ID_BIOMASS = 2, REAGENT_ID_LITHIUM = 1) + catalysts = list(REAGENT_ID_PHORON = 5) + inhibitors = list(REAGENT_ID_TUNGSTEN = 1) result_amount = 2 /decl/chemical_reaction/instant/cordradaxon - name = "Cordradaxon" - id = "cordradaxon" - result = "cordradaxon" - required_reagents = list("potassium_chlorophoride" = 1, "biomass" = 2, "bicaridine" = 2) - catalysts = list("phoron" = 5) - inhibitors = list("clonexadone" = 1) + name = REAGENT_CORDRADAXON + id = REAGENT_ID_CORDRADAXON + result = REAGENT_ID_CORDRADAXON + required_reagents = list(REAGENT_ID_POTASSIUMCHLOROPHORIDE = 1, REAGENT_ID_BIOMASS = 2, REAGENT_ID_BICARIDINE = 2) + catalysts = list(REAGENT_ID_PHORON = 5) + inhibitors = list(REAGENT_ID_CLONEXADONE = 1) result_amount = 2 /decl/chemical_reaction/instant/virus_food - name = "Virus Food" - id = "virusfood" - result = "virusfood" - required_reagents = list("water" = 1, "milk" = 1) + name = REAGENT_VIRUSFOOD + id = REAGENT_ID_VIRUSFOOD + result = REAGENT_ID_VIRUSFOOD + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_MILK = 1) result_amount = 5 /decl/chemical_reaction/instant/leporazine - name = "Leporazine" - id = "leporazine" - result = "leporazine" - required_reagents = list("silicon" = 1, "copper" = 1) - catalysts = list("phoron" = 5) + name = REAGENT_LEPORAZINE + id = REAGENT_ID_LEPORAZINE + result = REAGENT_ID_LEPORAZINE + required_reagents = list(REAGENT_ID_SILICON = 1, REAGENT_ID_COPPER = 1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 /decl/chemical_reaction/instant/cryptobiolin - name = "Cryptobiolin" - id = "cryptobiolin" - result = "cryptobiolin" - required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1) + name = REAGENT_CRYPTOBIOLIN + id = REAGENT_ID_CRYPTOBIOLIN + result = REAGENT_ID_CRYPTOBIOLIN + required_reagents = list(REAGENT_ID_POTASSIUM = 1, REAGENT_ID_OXYGEN = 1, REAGENT_ID_SUGAR = 1) result_amount = 3 /decl/chemical_reaction/instant/tricordrazine - name = "Tricordrazine" - id = "tricordrazine" - result = "tricordrazine" - required_reagents = list("inaprovaline" = 1, "anti_toxin" = 1) + name = REAGENT_TRICORDRAZINE + id = REAGENT_ID_TRICORDRAZINE + result = REAGENT_ID_TRICORDRAZINE + required_reagents = list(REAGENT_ID_INAPROVALINE = 1, REAGENT_ID_ANTITOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/alkysine - name = "Alkysine" - id = "alkysine" - result = "alkysine" - required_reagents = list("chlorine" = 1, "nitrogen" = 1, "anti_toxin" = 1) + name = REAGENT_ALKYSINE + id = REAGENT_ID_ALKYSINE + result = REAGENT_ID_ALKYSINE + required_reagents = list(REAGENT_ID_CHLORINE = 1, REAGENT_ID_NITROGEN = 1, REAGENT_ID_ANTITOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/dexalin - name = "Dexalin" - id = "dexalin" - result = "dexalin" - required_reagents = list("oxygen" = 2, "phoron" = 0.1) - catalysts = list("phoron" = 1) - inhibitors = list("water" = 1) // Messes with cryox + name = REAGENT_DEXALIN + id = REAGENT_ID_DEXALIN + result = REAGENT_ID_DEXALIN + required_reagents = list(REAGENT_ID_OXYGEN = 2, REAGENT_ID_PHORON = 0.1) + catalysts = list(REAGENT_ID_PHORON = 1) + inhibitors = list(REAGENT_ID_WATER = 1) // Messes with cryox result_amount = 1 /decl/chemical_reaction/instant/dermaline - name = "Dermaline" - id = "dermaline" - result = "dermaline" - required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1) + name = REAGENT_DERMALINE + id = REAGENT_ID_DERMALINE + result = REAGENT_ID_DERMALINE + required_reagents = list(REAGENT_ID_OXYGEN = 1, REAGENT_ID_PHOSPHORUS = 1, REAGENT_ID_KELOTANE = 1) result_amount = 3 /decl/chemical_reaction/instant/dexalinp - name = "Dexalin Plus" - id = "dexalinp" - result = "dexalinp" - required_reagents = list("dexalin" = 1, "carbon" = 1, "iron" = 1) + name = REAGENT_DEXALINP + id = REAGENT_ID_DEXALINP + result = REAGENT_ID_DEXALINP + required_reagents = list(REAGENT_ID_DEXALIN = 1, REAGENT_ID_CARBON = 1, REAGENT_ID_IRON = 1) result_amount = 3 /decl/chemical_reaction/instant/bicaridine - name = "Bicaridine" - id = "bicaridine" - result = "bicaridine" - required_reagents = list("inaprovaline" = 1, "carbon" = 1) - inhibitors = list("sugar" = 1) // Messes up with inaprovaline + name = REAGENT_BICARIDINE + id = REAGENT_ID_BICARIDINE + result = REAGENT_ID_BICARIDINE + required_reagents = list(REAGENT_ID_INAPROVALINE = 1, REAGENT_ID_CARBON = 1) + inhibitors = list(REAGENT_ID_SUGAR = 1) // Messes up with inaprovaline result_amount = 2 /decl/chemical_reaction/instant/myelamine - name = "Myelamine" - id = "myelamine" - result = "myelamine" - required_reagents = list("bicaridine" = 1, "iron" = 2, "spidertoxin" = 1) + name = REAGENT_MYELAMINE + id = REAGENT_ID_MYELAMINE + result = REAGENT_ID_MYELAMINE + required_reagents = list(REAGENT_ID_BICARIDINE = 1, REAGENT_ID_IRON = 2, REAGENT_ID_SPIDERTOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/hyperzine - name = "Hyperzine" - id = "hyperzine" - result = "hyperzine" - required_reagents = list("sugar" = 1, "phosphorus" = 1, "sulfur" = 1) + name = REAGENT_HYPERZINE + id = REAGENT_ID_HYPERZINE + result = REAGENT_ID_HYPERZINE + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_PHOSPHORUS = 1, REAGENT_ID_SULFUR = 1) result_amount = 3 /decl/chemical_reaction/instant/stimm - name = "Stimm" - id = "stimm" - result = "stimm" - required_reagents = list("left4zed" = 1, "fuel" = 1) - catalysts = list("fuel" = 5) + name = REAGENT_STIMM + id = REAGENT_ID_STIMM + result = REAGENT_ID_STIMM + required_reagents = list(REAGENT_ID_LEFT4ZED = 1, REAGENT_ID_FUEL = 1) + catalysts = list(REAGENT_ID_FUEL = 5) result_amount = 2 /decl/chemical_reaction/instant/ryetalyn - name = "Ryetalyn" - id = "ryetalyn" - result = "ryetalyn" - required_reagents = list("arithrazine" = 1, "carbon" = 1) + name = REAGENT_RYETALYN + id = REAGENT_ID_RYETALYN + result = REAGENT_ID_RYETALYN + required_reagents = list(REAGENT_ID_ARITHRAZINE = 1, REAGENT_ID_CARBON = 1) result_amount = 2 /decl/chemical_reaction/instant/cryoxadone - name = "Cryoxadone" - id = "cryoxadone" - result = "cryoxadone" - required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1) + name = REAGENT_CRYOXADONE + id = REAGENT_ID_CRYOXADONE + result = REAGENT_ID_CRYOXADONE + required_reagents = list(REAGENT_ID_DEXALIN = 1, REAGENT_ID_WATER = 1, REAGENT_ID_OXYGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/clonexadone - name = "Clonexadone" - id = "clonexadone" - result = "clonexadone" - required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1) - catalysts = list("phoron" = 5) + name = REAGENT_CLONEXADONE + id = REAGENT_ID_CLONEXADONE + result = REAGENT_ID_CLONEXADONE + required_reagents = list(REAGENT_ID_CRYOXADONE = 1, REAGENT_ID_SODIUM = 1, REAGENT_ID_PHORON = 0.1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 /decl/chemical_reaction/instant/mortiferin - name = "Mortiferin" - id = "mortiferin" - result = "mortiferin" - required_reagents = list("cryptobiolin" = 1, "clonexadone" = 1, "corophizine" = 1) + name = REAGENT_MORTIFERIN + id = REAGENT_ID_MORTIFERIN + result = REAGENT_ID_MORTIFERIN + required_reagents = list(REAGENT_ID_CRYPTOBIOLIN = 1, REAGENT_ID_CLONEXADONE = 1, REAGENT_ID_COROPHIZINE = 1) result_amount = 2 - catalysts = list("phoron" = 5) + catalysts = list(REAGENT_ID_PHORON = 5) /decl/chemical_reaction/instant/spaceacillin - name = "Spaceacillin" - id = "spaceacillin" - result = "spaceacillin" - required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1) + name = REAGENT_SPACEACILLIN + id = REAGENT_ID_SPACEACILLIN + result = REAGENT_ID_SPACEACILLIN + required_reagents = list(REAGENT_ID_CRYPTOBIOLIN = 1, REAGENT_ID_INAPROVALINE = 1) result_amount = 2 /decl/chemical_reaction/instant/corophizine - name = "Corophizine" - id = "corophizine" - result = "corophizine" - required_reagents = list("spaceacillin" = 1, "carbon" = 1, "phoron" = 0.1) - catalysts = list("phoron" = 5) + name = REAGENT_COROPHIZINE + id = REAGENT_ID_COROPHIZINE + result = REAGENT_ID_COROPHIZINE + required_reagents = list(REAGENT_ID_SPACEACILLIN = 1, REAGENT_ID_CARBON = 1, REAGENT_ID_PHORON = 0.1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 /decl/chemical_reaction/instant/immunosuprizine - name = "Immunosuprizine" - id = "immunosuprizine" - result = "immunosuprizine" - required_reagents = list("corophizine" = 1, "tungsten" = 1, "sacid" = 1) - catalysts = list("phoron" = 5) + name = REAGENT_IMMUNOSUPRIZINE + id = REAGENT_ID_IMMUNOSUPRIZINE + result = REAGENT_ID_IMMUNOSUPRIZINE + required_reagents = list(REAGENT_ID_COROPHIZINE = 1, REAGENT_ID_TUNGSTEN = 1, REAGENT_ID_SACID = 1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 /decl/chemical_reaction/instant/imidazoline - name = "imidazoline" - id = "imidazoline" - result = "imidazoline" - required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1) + name = REAGENT_ID_IMIDAZOLINE + id = REAGENT_ID_IMIDAZOLINE + result = REAGENT_ID_IMIDAZOLINE + required_reagents = list(REAGENT_ID_CARBON = 1, REAGENT_ID_HYDROGEN = 1, REAGENT_ID_ANTITOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/ethylredoxrazine - name = "Ethylredoxrazine" - id = "ethylredoxrazine" - result = "ethylredoxrazine" - required_reagents = list("oxygen" = 1, "anti_toxin" = 1, "carbon" = 1) + name = REAGENT_ETHYLREDOXRAZINE + id = REAGENT_ID_ETHYLREDOXRAZINE + result = REAGENT_ID_ETHYLREDOXRAZINE + required_reagents = list(REAGENT_ID_OXYGEN = 1, REAGENT_ID_ANTITOXIN = 1, REAGENT_ID_CARBON = 1) result_amount = 3 /decl/chemical_reaction/instant/calciumcarbonate name = "Calcium Carbonate" - id = "calciumcarbonate" - result = "calciumcarbonate" - required_reagents = list("oxygen" = 3, "calcium" = 1, "carbon" = 1) + id = REAGENT_ID_CALCIUMCARBONATE + result = REAGENT_ID_CALCIUMCARBONATE + required_reagents = list(REAGENT_ID_OXYGEN = 3, REAGENT_ID_CALCIUM = 1, REAGENT_ID_CARBON = 1) result_amount = 2 /decl/chemical_reaction/instant/soporific - name = "Soporific" - id = "stoxin" - result = "stoxin" - required_reagents = list("chloralhydrate" = 1, "sugar" = 4) - inhibitors = list("phosphorus") // Messes with the smoke + name = REAGENT_STOXIN + id = REAGENT_ID_STOXIN + result = REAGENT_ID_STOXIN + required_reagents = list(REAGENT_ID_CHLORALHYDRATE = 1, REAGENT_ID_SUGAR = 4) + inhibitors = list(REAGENT_ID_PHOSPHORUS) // Messes with the smoke result_amount = 5 /decl/chemical_reaction/instant/chloralhydrate - name = "Chloral Hydrate" - id = "chloralhydrate" - result = "chloralhydrate" - required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1) + name = REAGENT_CHLORALHYDRATE + id = REAGENT_ID_CHLORALHYDRATE + result = REAGENT_ID_CHLORALHYDRATE + required_reagents = list(REAGENT_ID_ETHANOL = 1, REAGENT_ID_CHLORINE = 3, REAGENT_ID_WATER = 1) result_amount = 1 /decl/chemical_reaction/instant/potassium_chloride - name = "Potassium Chloride" - id = "potassium_chloride" - result = "potassium_chloride" - required_reagents = list("sodiumchloride" = 1, "potassium" = 1) + name = REAGENT_POTASSIUMCHLORIDE + id = REAGENT_ID_POTASSIUMCHLORIDE + result = REAGENT_ID_POTASSIUMCHLORIDE + required_reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_POTASSIUM = 1) result_amount = 2 /decl/chemical_reaction/instant/potassium_chlorophoride - name = "Potassium Chlorophoride" - id = "potassium_chlorophoride" - result = "potassium_chlorophoride" - required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1) + name = REAGENT_POTASSIUMCHLOROPHORIDE + id = REAGENT_ID_POTASSIUMCHLOROPHORIDE + result = REAGENT_ID_POTASSIUMCHLOROPHORIDE + required_reagents = list(REAGENT_ID_POTASSIUMCHLORIDE = 1, REAGENT_ID_PHORON = 1, REAGENT_ID_CHLORALHYDRATE = 1) result_amount = 4 /decl/chemical_reaction/instant/zombiepowder - name = "Zombie Powder" - id = "zombiepowder" - result = "zombiepowder" - required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5) + name = REAGENT_ZOMBIEPOWDER + id = REAGENT_ID_ZOMBIEPOWDER + result = REAGENT_ID_ZOMBIEPOWDER + required_reagents = list(REAGENT_ID_CARPOTOXIN = 5, REAGENT_ID_STOXIN = 5, REAGENT_ID_COPPER = 5) result_amount = 2 /decl/chemical_reaction/instant/carpotoxin - name = "Carpotoxin" - id = "carpotoxin" - result = "carpotoxin" - required_reagents = list("spidertoxin" = 2, "biomass" = 1, "sifsap" = 2) - catalysts = list("sifsap" = 10) - inhibitors = list("radium" = 1) + name = REAGENT_CARPOTOXIN + id = REAGENT_ID_CARPOTOXIN + result = REAGENT_ID_CARPOTOXIN + required_reagents = list(REAGENT_ID_SPIDERTOXIN = 2, REAGENT_ID_BIOMASS = 1, REAGENT_ID_SIFSAP = 2) + catalysts = list(REAGENT_ID_SIFSAP = 10) + inhibitors = list(REAGENT_ID_RADIUM = 1) result_amount = 2 /decl/chemical_reaction/instant/mindbreaker - name = "Mindbreaker Toxin" - id = "mindbreaker" - result = "mindbreaker" - required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1) + name = REAGENT_MINDBREAKER + id = REAGENT_ID_MINDBREAKER + result = REAGENT_ID_MINDBREAKER + required_reagents = list(REAGENT_ID_SILICON = 1, REAGENT_ID_HYDROGEN = 1, REAGENT_ID_ANTITOXIN = 1) result_amount = 3 /decl/chemical_reaction/instant/lipozine - name = "Lipozine" - id = "Lipozine" - result = "lipozine" - required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1) + name = REAGENT_LIPOZINE + id = REAGENT_ID_LIPOZINE + result = REAGENT_ID_LIPOZINE + required_reagents = list(REAGENT_ID_SODIUMCHLORIDE = 1, REAGENT_ID_ETHANOL = 1, REAGENT_ID_RADIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/surfactant name = "Foam surfactant" id = "foam surfactant" - result = "fluorosurfactant" - required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1) + result = REAGENT_ID_FLUOROSURFACTANT + required_reagents = list(REAGENT_ID_FLUORINE = 2, REAGENT_ID_CARBON = 2, REAGENT_ID_SACID = 1) result_amount = 5 /decl/chemical_reaction/instant/ammonia - name = "Ammonia" - id = "ammonia" - result = "ammonia" - required_reagents = list("hydrogen" = 3, "nitrogen" = 1) - inhibitors = list("phoron" = 1) // Messes with lexorin + name = REAGENT_AMMONIA + id = REAGENT_ID_AMMONIA + result = REAGENT_ID_AMMONIA + required_reagents = list(REAGENT_ID_HYDROGEN = 3, REAGENT_ID_NITROGEN = 1) + inhibitors = list(REAGENT_ID_PHORON = 1) // Messes with lexorin result_amount = 3 /decl/chemical_reaction/instant/diethylamine - name = "Diethylamine" - id = "diethylamine" - result = "diethylamine" - required_reagents = list ("ammonia" = 1, "ethanol" = 1) + name = REAGENT_DIETHYLAMINE + id = REAGENT_ID_DIETHYLAMINE + result = REAGENT_ID_DIETHYLAMINE + required_reagents = list (REAGENT_ID_AMMONIA = 1, REAGENT_ID_ETHANOL = 1) result_amount = 2 /decl/chemical_reaction/instant/left4zed name = "Left4Zed" - id = "left4zed" - result = "left4zed" - required_reagents = list ("diethylamine" = 2, "mutagen" = 1) + id = REAGENT_ID_LEFT4ZED + result = REAGENT_ID_LEFT4ZED + required_reagents = list (REAGENT_ID_DIETHYLAMINE = 2, REAGENT_ID_MUTAGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/robustharvest name = "RobustHarvest" - id = "robustharvest" - result = "robustharvest" - required_reagents = list ("ammonia" = 1, "calcium" = 1, "neurotoxic_protein" = 1) + id = REAGENT_ID_ROBUSTHARVEST + result = REAGENT_ID_ROBUSTHARVEST + required_reagents = list (REAGENT_ID_AMMONIA = 1, REAGENT_ID_CALCIUM = 1, REAGENT_ID_NEUROTOXIC_PROTEIN = 1) result_amount = 3 /decl/chemical_reaction/instant/space_cleaner - name = "Space cleaner" - id = "cleaner" - result = "cleaner" - required_reagents = list("ammonia" = 1, "water" = 1) + name = REAGENT_CLEANER + id = REAGENT_ID_CLEANER + result = REAGENT_ID_CLEANER + required_reagents = list(REAGENT_ID_AMMONIA = 1, REAGENT_ID_WATER = 1) result_amount = 2 /decl/chemical_reaction/instant/plantbgone - name = "Plant-B-Gone" - id = "plantbgone" - result = "plantbgone" - required_reagents = list("pacid" = 1, "diethylamine" = 4) //YW Edit + name = REAGENT_PLANTBGONE + id = REAGENT_ID_PLANTBGONE + result = REAGENT_ID_PLANTBGONE + required_reagents = list(REAGENT_ID_TOXIN = 1, REAGENT_DIETHYLAMINE = 4) // YW EDIT Water to Diethylamine result_amount = 5 /decl/chemical_reaction/instant/foaming_agent name = "Foaming Agent" - id = "foaming_agent" - result = "foaming_agent" - required_reagents = list("lithium" = 1, "hydrogen" = 1) + id = REAGENT_ID_FOAMINGAGENT + result = REAGENT_ID_FOAMINGAGENT + required_reagents = list(REAGENT_ID_LITHIUM = 1, REAGENT_ID_HYDROGEN = 1) result_amount = 1 /decl/chemical_reaction/instant/glycerol - name = "Glycerol" - id = "glycerol" - result = "glycerol" - required_reagents = list("cornoil" = 3, "sacid" = 1) + name = REAGENT_GLYCEROL + id = REAGENT_ID_GLYCEROL + result = REAGENT_ID_GLYCEROL + required_reagents = list(REAGENT_ID_CORNOIL = 3, REAGENT_ID_SACID = 1) result_amount = 1 /decl/chemical_reaction/instant/sodiumchloride name = "Sodium Chloride" - id = "sodiumchloride" - result = "sodiumchloride" - required_reagents = list("sodium" = 1, "chlorine" = 1) + id = REAGENT_ID_SODIUMCHLORIDE + result = REAGENT_ID_SODIUMCHLORIDE + required_reagents = list(REAGENT_ID_SODIUM = 1, REAGENT_ID_CHLORINE = 1) result_amount = 2 /decl/chemical_reaction/instant/condensedcapsaicin - name = "Condensed Capsaicin" - id = "condensedcapsaicin" - result = "condensedcapsaicin" - required_reagents = list("capsaicin" = 2) - catalysts = list("phoron" = 5) + name = REAGENT_CONDENSEDCAPSAICIN + id = REAGENT_ID_CONDENSEDCAPSAICIN + result = REAGENT_ID_CONDENSEDCAPSAICIN + required_reagents = list(REAGENT_ID_CAPSAICIN = 2) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 1 /decl/chemical_reaction/instant/coolant - name = "Coolant" - id = "coolant" - result = "coolant" - required_reagents = list("tungsten" = 1, "oxygen" = 1, "water" = 1) + name = REAGENT_COOLANT + id = REAGENT_ID_COOLANT + result = REAGENT_ID_COOLANT + required_reagents = list(REAGENT_ID_TUNGSTEN = 1, REAGENT_ID_OXYGEN = 1, REAGENT_ID_WATER = 1) result_amount = 3 log_is_important = 1 /decl/chemical_reaction/instant/rezadone - name = "Rezadone" - id = "rezadone" - result = "rezadone" - required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1) + name = REAGENT_REZADONE + id = REAGENT_ID_REZADONE + result = REAGENT_ID_REZADONE + required_reagents = list(REAGENT_ID_CARPOTOXIN = 1, REAGENT_ID_CRYPTOBIOLIN = 1, REAGENT_ID_COPPER = 1) result_amount = 3 /decl/chemical_reaction/instant/lexorin - name = "Lexorin" - id = "lexorin" - result = "lexorin" - required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1) + name = REAGENT_LEXORIN + id = REAGENT_ID_LEXORIN + result = REAGENT_ID_LEXORIN + required_reagents = list(REAGENT_ID_PHORON = 1, REAGENT_ID_HYDROGEN = 1, REAGENT_ID_NITROGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/methylphenidate - name = "Methylphenidate" - id = "methylphenidate" - result = "methylphenidate" - required_reagents = list("mindbreaker" = 1, "hydrogen" = 1) + name = REAGENT_METHYLPHENIDATE + id = REAGENT_ID_METHYLPHENIDATE + result = REAGENT_ID_METHYLPHENIDATE + required_reagents = list(REAGENT_ID_MINDBREAKER = 1, REAGENT_ID_HYDROGEN = 1) result_amount = 3 /decl/chemical_reaction/instant/citalopram - name = "Citalopram" - id = "citalopram" - result = "citalopram" - required_reagents = list("mindbreaker" = 1, "carbon" = 1) + name = REAGENT_CITALOPRAM + id = REAGENT_ID_CITALOPRAM + result = REAGENT_ID_CITALOPRAM + required_reagents = list(REAGENT_ID_MINDBREAKER = 1, REAGENT_ID_CARBON = 1) result_amount = 3 /decl/chemical_reaction/instant/paroxetine - name = "Paroxetine" - id = "paroxetine" - result = "paroxetine" - required_reagents = list("mindbreaker" = 1, "oxygen" = 1, "inaprovaline" = 1) + name = REAGENT_PAROXETINE + id = REAGENT_ID_PAROXETINE + result = REAGENT_ID_PAROXETINE + required_reagents = list(REAGENT_ID_MINDBREAKER = 1, REAGENT_ID_OXYGEN = 1, REAGENT_ID_INAPROVALINE = 1) result_amount = 3 /decl/chemical_reaction/instant/neurotoxin - name = "Neurotoxin" - id = "neurotoxin" - result = "neurotoxin" - required_reagents = list("gargleblaster" = 1, "stoxin" = 1) + name = REAGENT_NEUROTOXIN + id = REAGENT_ID_NEUROTOXIN + result = REAGENT_ID_NEUROTOXIN + required_reagents = list(REAGENT_ID_GARGLEBLASTER = 1, REAGENT_ID_STOXIN = 1) result_amount = 2 /decl/chemical_reaction/instant/luminol - name = "Luminol" - id = "luminol" - result = "luminol" - required_reagents = list("hydrogen" = 2, "carbon" = 2, "ammonia" = 2) + name = REAGENT_LUMINOL + id = REAGENT_ID_LUMINOL + result = REAGENT_ID_LUMINOL + required_reagents = list(REAGENT_ID_HYDROGEN = 2, REAGENT_ID_CARBON = 2, REAGENT_ID_AMMONIA = 2) result_amount = 6 /* Solidification */ @@ -556,7 +556,7 @@ name = "Solid Iron" id = "solidiron" result = null - required_reagents = list("frostoil" = 5, "iron" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_IRON = REAGENTS_PER_SHEET) result_amount = 1 var/sheet_to_give = /obj/item/stack/material/iron @@ -568,42 +568,42 @@ /decl/chemical_reaction/instant/solidification/phoron name = "Solid Phoron" id = "solidphoron" - required_reagents = list("frostoil" = 5, "phoron" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_PHORON = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/phoron /decl/chemical_reaction/instant/solidification/silver name = "Solid Silver" id = "solidsilver" - required_reagents = list("frostoil" = 5, "silver" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_SILVER = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/silver /decl/chemical_reaction/instant/solidification/gold name = "Solid Gold" id = "solidgold" - required_reagents = list("frostoil" = 5, "gold" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_GOLD = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/gold /decl/chemical_reaction/instant/solidification/platinum name = "Solid Platinum" id = "solidplatinum" - required_reagents = list("frostoil" = 5, "platinum" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_PLATINUM = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/platinum /decl/chemical_reaction/instant/solidification/uranium name = "Solid Uranium" id = "soliduranium" - required_reagents = list("frostoil" = 5, "uranium" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_URANIUM = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/uranium /decl/chemical_reaction/instant/solidification/hydrogen name = "Solid Hydrogen" id = "solidhydrogen" - required_reagents = list("frostoil" = 100, "hydrogen" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 100, REAGENT_ID_HYDROGEN = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/mhydrogen @@ -611,14 +611,14 @@ /decl/chemical_reaction/instant/solidification/steel name = "Solid Steel" id = "solidsteel" - required_reagents = list("frostoil" = 5, "steel" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 5, REAGENT_ID_STEEL = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/steel /decl/chemical_reaction/instant/solidification/plasteel name = "Solid Plasteel" id = "solidplasteel" - required_reagents = list("frostoil" = 10, "plasteel" = REAGENTS_PER_SHEET) + required_reagents = list(REAGENT_ID_FROSTOIL = 10, REAGENT_ID_PLASTEEL = REAGENTS_PER_SHEET) sheet_to_give = /obj/item/stack/material/plasteel @@ -626,7 +626,7 @@ name = "Plastic" id = "solidplastic" result = null - required_reagents = list("pacid" = 1, "plasticide" = 2) + required_reagents = list(REAGENT_ID_PACID = 1, REAGENT_ID_PLASTICIDE = 2) result_amount = 1 /decl/chemical_reaction/instant/plastication/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -639,7 +639,7 @@ name = "Carpet" id = "redcarpet" result = null - required_reagents = list("liquidcarpet" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 2, REAGENT_ID_PLASTICIDE = 1) result_amount = 2 var/carpet_type = /obj/item/stack/tile/carpet @@ -650,49 +650,49 @@ /decl/chemical_reaction/instant/carpetify/bcarpet name = "Black Carpet" id = "blackcarpet" - required_reagents = list("liquidcarpetb" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETB = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/bcarpet /decl/chemical_reaction/instant/carpetify/blucarpet name = "Blue Carpet" id = "bluecarpet" - required_reagents = list ("liquidcarpetblu" = 2, "plasticide" = 1) + required_reagents = list (REAGENT_ID_LIQUIDCARPETBLU = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/blucarpet /decl/chemical_reaction/instant/carpetify/turcarpet name = "Turquise Carpet" id = "turcarpet" - required_reagents = list("liquidcarpettur" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETTUR = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/turcarpet /decl/chemical_reaction/instant/carpetify/sblucarpet name = "Silver Blue Carpet" id = "sblucarpet" - required_reagents = list("liquidcarpetsblu" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETSBLU = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/sblucarpet /decl/chemical_reaction/instant/carpetify/clowncarpet name = "Clown Carpet" id = "clowncarpet" - required_reagents = list("liquidcarpetc" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETC = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/gaycarpet /decl/chemical_reaction/instant/carpetify/pcarpet name = "Purple Carpet" id = "Purplecarpet" - required_reagents = list("liquidcarpetp" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETP = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/purcarpet /decl/chemical_reaction/instant/carpetify/ocarpet name = "Orange Carpet" id = "orangecarpet" - required_reagents = list("liquidcarpeto" = 2, "plasticide" = 1) + required_reagents = list(REAGENT_ID_LIQUIDCARPETO = 2, REAGENT_ID_PLASTICIDE = 1) carpet_type = /obj/item/stack/tile/carpet/oracarpet /decl/chemical_reaction/instant/concrete name = "Concrete" id = "concretereagent" - required_reagents = list("calcium" = 2, "silicate" = 2, "water" = 2) + required_reagents = list(REAGENT_ID_CALCIUM = 2, REAGENT_ID_SILICATE = 2, REAGENT_ID_WATER = 2) result_amount = 1 /decl/chemical_reaction/instant/concrete/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -705,7 +705,7 @@ name = "Explosion" id = "explosion_potassium" result = null - required_reagents = list("water" = 1, "potassium" = 1) + required_reagents = list(REAGENT_ID_WATER = 1, REAGENT_ID_POTASSIUM = 1) result_amount = 2 mix_message = null @@ -729,7 +729,7 @@ name = "Flash powder" id = "flash_powder" result = null - required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 ) + required_reagents = list(REAGENT_ID_ALUMINIUM = 1, REAGENT_ID_POTASSIUM = 1, REAGENT_ID_SULFUR = 1 ) result_amount = null /decl/chemical_reaction/instant/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -759,7 +759,7 @@ name = "EMP Pulse" id = "emp_pulse" result = null - required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense + required_reagents = list(REAGENT_ID_URANIUM = 1, REAGENT_ID_IRON = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense result_amount = 2 /decl/chemical_reaction/instant/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -774,10 +774,10 @@ return /decl/chemical_reaction/instant/nitroglycerin - name = "Nitroglycerin" - id = "nitroglycerin" - result = "nitroglycerin" - required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1) + name = REAGENT_NITROGLYCERIN + id = REAGENT_ID_NITROGLYCERIN + result = REAGENT_ID_NITROGLYCERIN + required_reagents = list(REAGENT_ID_GLYCEROL = 1, REAGENT_ID_PACID = 1, REAGENT_ID_SACID = 1) result_amount = 2 log_is_important = 1 @@ -802,13 +802,13 @@ name = "Napalm" id = "napalm" result = null - required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 ) + required_reagents = list(REAGENT_ID_ALUMINIUM = 1, REAGENT_ID_PHORON = 1, REAGENT_ID_SACID = 1 ) result_amount = 1 /decl/chemical_reaction/instant/napalm/on_reaction(var/datum/reagents/holder, var/created_volume) var/turf/location = get_turf(holder.my_atom.loc) for(var/turf/simulated/floor/target_tile in range(0,location)) - target_tile.assume_gas("volatile_fuel", created_volume, 400+T0C) + target_tile.assume_gas(GAS_VOLATILE_FUEL, created_volume, 400+T0C) spawn (0) target_tile.hotspot_expose(700, 400) holder.del_reagent("napalm") return @@ -817,7 +817,7 @@ name = "Chemsmoke" id = "chemsmoke" result = null - required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1) + required_reagents = list(REAGENT_ID_POTASSIUM = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_PHOSPHORUS = 1) result_amount = 0.4 /decl/chemical_reaction/instant/chemsmoke/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -838,7 +838,7 @@ name = "Foam" id = "foam" result = null - required_reagents = list("fluorosurfactant" = 1, "water" = 1) + required_reagents = list(REAGENT_ID_FLUOROSURFACTANT = 1, REAGENT_ID_WATER = 1) result_amount = 2 mix_message = "The solution violently bubbles!" @@ -861,7 +861,7 @@ name = "Metal Foam" id = "metalfoam" result = null - required_reagents = list("aluminum" = 3, "foaming_agent" = 1, "pacid" = 1) + required_reagents = list(REAGENT_ID_ALUMINIUM = 3, REAGENT_ID_FOAMINGAGENT = 1, REAGENT_ID_PACID = 1) result_amount = 5 /decl/chemical_reaction/instant/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -879,7 +879,7 @@ name = "Iron Foam" id = "ironlfoam" result = null - required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1) + required_reagents = list(REAGENT_ID_IRON = 3, REAGENT_ID_FOAMINGAGENT = 1, REAGENT_ID_PACID = 1) result_amount = 5 /decl/chemical_reaction/instant/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume) @@ -898,8 +898,8 @@ /decl/chemical_reaction/instant/red_paint name = "Red paint" id = "red_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_red" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKRED = 1) result_amount = 5 /decl/chemical_reaction/instant/red_paint/send_data() @@ -908,8 +908,8 @@ /decl/chemical_reaction/instant/orange_paint name = "Orange paint" id = "orange_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_orange" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKORANGE = 1) result_amount = 5 /decl/chemical_reaction/instant/orange_paint/send_data() @@ -918,8 +918,8 @@ /decl/chemical_reaction/instant/yellow_paint name = "Yellow paint" id = "yellow_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_yellow" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKYELLOW = 1) result_amount = 5 /decl/chemical_reaction/instant/yellow_paint/send_data() @@ -928,8 +928,8 @@ /decl/chemical_reaction/instant/green_paint name = "Green paint" id = "green_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_green" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKGREEN = 1) result_amount = 5 /decl/chemical_reaction/instant/green_paint/send_data() @@ -938,8 +938,8 @@ /decl/chemical_reaction/instant/blue_paint name = "Blue paint" id = "blue_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_blue" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKBLUE = 1) result_amount = 5 /decl/chemical_reaction/instant/blue_paint/send_data() @@ -948,8 +948,8 @@ /decl/chemical_reaction/instant/purple_paint name = "Purple paint" id = "purple_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_purple" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKPURPLE = 1) result_amount = 5 /decl/chemical_reaction/instant/purple_paint/send_data() @@ -958,8 +958,8 @@ /decl/chemical_reaction/instant/grey_paint //mime name = "Grey paint" id = "grey_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_grey" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKGREY = 1) result_amount = 5 /decl/chemical_reaction/instant/grey_paint/send_data() @@ -968,8 +968,8 @@ /decl/chemical_reaction/instant/brown_paint name = "Brown paint" id = "brown_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_brown" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MARKERINKBROWN = 1) result_amount = 5 /decl/chemical_reaction/instant/brown_paint/send_data() @@ -978,12 +978,12 @@ /decl/chemical_reaction/instant/blood_paint name = "Blood paint" id = "blood_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_BLOOD = 2) result_amount = 5 /decl/chemical_reaction/instant/blood_paint/send_data(var/datum/reagents/T) - var/t = T.get_data("blood") + var/t = T.get_data(REAGENT_ID_BLOOD) if(t && t["blood_colour"]) return t["blood_colour"] return "#FE191A" // Probably red @@ -991,8 +991,8 @@ /decl/chemical_reaction/instant/milk_paint name = "Milk paint" id = "milk_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_MILK = 5) result_amount = 5 /decl/chemical_reaction/instant/milk_paint/send_data() @@ -1001,8 +1001,8 @@ /decl/chemical_reaction/instant/orange_juice_paint name = "Orange juice paint" id = "orange_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_ORANGEJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/orange_juice_paint/send_data() @@ -1011,8 +1011,8 @@ /decl/chemical_reaction/instant/tomato_juice_paint name = "Tomato juice paint" id = "tomato_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_TOMATOJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/tomato_juice_paint/send_data() @@ -1021,8 +1021,8 @@ /decl/chemical_reaction/instant/lime_juice_paint name = "Lime juice paint" id = "lime_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_LIMEJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/lime_juice_paint/send_data() @@ -1031,8 +1031,8 @@ /decl/chemical_reaction/instant/carrot_juice_paint name = "Carrot juice paint" id = "carrot_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_CARROTJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/carrot_juice_paint/send_data() @@ -1041,8 +1041,8 @@ /decl/chemical_reaction/instant/berry_juice_paint name = "Berry juice paint" id = "berry_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_BERRYJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/berry_juice_paint/send_data() @@ -1051,8 +1051,8 @@ /decl/chemical_reaction/instant/grape_juice_paint name = "Grape juice paint" id = "grape_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_GRAPEJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/grape_juice_paint/send_data() @@ -1061,8 +1061,8 @@ /decl/chemical_reaction/instant/poisonberry_juice_paint name = "Poison berry juice paint" id = "poisonberry_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_POISONBERRYJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/poisonberry_juice_paint/send_data() @@ -1071,8 +1071,8 @@ /decl/chemical_reaction/instant/watermelon_juice_paint name = "Watermelon juice paint" id = "watermelon_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_WATERMELONJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/watermelon_juice_paint/send_data() @@ -1081,8 +1081,8 @@ /decl/chemical_reaction/instant/lemon_juice_paint name = "Lemon juice paint" id = "lemon_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_LEMONJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/lemon_juice_paint/send_data() @@ -1091,8 +1091,8 @@ /decl/chemical_reaction/instant/banana_juice_paint name = "Banana juice paint" id = "banana_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_BANANA = 5) result_amount = 5 /decl/chemical_reaction/instant/banana_juice_paint/send_data() @@ -1101,8 +1101,8 @@ /decl/chemical_reaction/instant/potato_juice_paint name = "Potato juice paint" id = "potato_juice_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_POTATOJUICE = 5) result_amount = 5 /decl/chemical_reaction/instant/potato_juice_paint/send_data() @@ -1111,8 +1111,8 @@ /decl/chemical_reaction/instant/carbon_paint name = "Carbon paint" id = "carbon_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_CARBON = 1) result_amount = 5 /decl/chemical_reaction/instant/carbon_paint/send_data() @@ -1121,8 +1121,8 @@ /decl/chemical_reaction/instant/aluminum_paint name = "Aluminum paint" id = "aluminum_paint" - result = "paint" - required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1) + result = REAGENT_ID_PAINT + required_reagents = list(REAGENT_ID_PLASTICIDE = 1, REAGENT_ID_WATER = 3, REAGENT_ID_ALUMINIUM = 1) result_amount = 5 /decl/chemical_reaction/instant/aluminum_paint/send_data() @@ -1132,92 +1132,92 @@ /decl/chemical_reaction/instant/carpetdye name = "Black Carpet Dyeing" id = "carpetdyeblack" - result = "liquidcarpetb" - required_reagents = list("liquidcarpet" = 5, "carbon" = 1) + result = REAGENT_ID_LIQUIDCARPETB + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_CARBON = 1) result_amount = 5 /decl/chemical_reaction/instant/carpetdye/blue name = "Blue Carpet Dyeing" id = "carpetdyeblue" - result = "liquidcarpetblu" - required_reagents = list("liquidcarpet" = 5, "frostoil" = 1) + result = REAGENT_ID_LIQUIDCARPETBLU + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_FROSTOIL = 1) /decl/chemical_reaction/instant/carpetdye/tur name = "Turqouise Carpet Dyeing" id = "carpetdyetur" - result = "liquidcarpettur" - required_reagents = list("liquidcarpet" = 5, "water" = 1) + result = REAGENT_ID_LIQUIDCARPETTUR + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_WATER = 1) /decl/chemical_reaction/instant/carpetdye/sblu name = "Silver Blue Carpet Dyeing" id = "carpetdyesblu" - result = "liquidcarpetsblu" - required_reagents = list("liquidcarpet" = 5, "ice" = 1) + result = REAGENT_ID_LIQUIDCARPETSBLU + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_ICE = 1) /decl/chemical_reaction/instant/carpetdye/clown name = "Clown Carpet Dyeing" id = "carpetdyeclown" - result = "liquidcarpetc" - required_reagents = list("liquidcarpet" = 5, "banana" = 1) + result = REAGENT_ID_LIQUIDCARPETC + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_BANANA = 1) /decl/chemical_reaction/instant/carpetdye/purple name = "Purple Carpet Dyeing" id = "carpetdyepurple" - result = "liquidcarpetp" - required_reagents = list("liquidcarpet" = 5, "berryjuice" = 1) + result = REAGENT_ID_LIQUIDCARPETP + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_BERRYJUICE = 1) /decl/chemical_reaction/instant/carpetdye/orange name = "Orange Carpet Dyeing" id = "carpetdyeorange" - result = "liquidcarpeto" - required_reagents = list("liquidcarpet" = 5, "orangejuice" = 1) + result = REAGENT_ID_LIQUIDCARPETO + required_reagents = list(REAGENT_ID_LIQUIDCARPET = 5, REAGENT_ID_ORANGEJUICE = 1) //R-UST Port /decl/chemical_reaction/instant/hydrophoron - name = "Hydrophoron" - id = "hydrophoron" - result = "hydrophoron" - required_reagents = list("hydrogen" = 1, "phoron" = 1) - inhibitors = list("nitrogen" = 1) //So it doesn't mess with lexorin + name = REAGENT_HYDROPHORON + id = REAGENT_ID_HYDROPHORON + result = REAGENT_ID_HYDROPHORON + required_reagents = list(REAGENT_ID_HYDROGEN = 1, REAGENT_ID_PHORON = 1) + inhibitors = list(REAGENT_ID_NITROGEN = 1) //So it doesn't mess with lexorin result_amount = 2 /decl/chemical_reaction/instant/deuterium - name = "Deuterium" - id = "deuterium" - result = "deuterium" - required_reagents = list("hydrophoron" = 1, "water" = 2) + name = REAGENT_DEUTERIUM + id = REAGENT_ID_DEUTERIUM + result = REAGENT_ID_DEUTERIUM + required_reagents = list(REAGENT_ID_HYDROPHORON = 1, REAGENT_ID_WATER = 2) result_amount = 3 //Skrellian crap. /decl/chemical_reaction/instant/talum_quem - name = "Talum-quem" - id = "talum_quem" - result = "talum_quem" - required_reagents = list("bliss" = 2, "sugar" = 1, "amatoxin" = 1) + name = REAGENT_TALUMQUEM + id = REAGENT_ID_TALUMQUEM + result = REAGENT_ID_TALUMQUEM + required_reagents = list(REAGENT_ID_BLISS = 2, REAGENT_ID_SUGAR = 1, REAGENT_ID_AMATOXIN = 1) result_amount = 4 /decl/chemical_reaction/instant/qerr_quem - name = "Qerr-quem" - id = "qerr_quem" - result = "qerr_quem" - required_reagents = list("nicotine" = 1, "carbon" = 1, "sugar" = 2) + name = REAGENT_QERRQUEM + id = REAGENT_ID_QERRQUEM + result = REAGENT_ID_QERRQUEM + required_reagents = list(REAGENT_ID_NICOTINE = 1, REAGENT_ID_CARBON = 1, REAGENT_ID_SUGAR = 2) result_amount = 4 /decl/chemical_reaction/instant/malish_qualem - name = "Malish-Qualem" - id = "malish-qualem" - result = "malish-qualem" - required_reagents = list("immunosuprizine" = 1, "qerr_quem" = 1, "inaprovaline" = 1) - catalysts = list("phoron" = 5) + name = REAGENT_MALISHQUALEM + id = REAGENT_ID_MALISHQUALEM + result = REAGENT_ID_MALISHQUALEM + required_reagents = list(REAGENT_ID_IMMUNOSUPRIZINE = 1, REAGENT_ID_QERRQUEM = 1, REAGENT_ID_INAPROVALINE = 1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 2 // Biomass, for cloning and bioprinters /decl/chemical_reaction/instant/biomass - name = "Biomass" - id = "biomass" - result = "biomass" - required_reagents = list("protein" = 1, "sugar" = 1, "phoron" = 1) + name = REAGENT_BIOMASS + id = REAGENT_ID_BIOMASS + result = REAGENT_ID_BIOMASS + required_reagents = list(REAGENT_ID_PROTEIN = 1, REAGENT_ID_SUGAR = 1, REAGENT_ID_PHORON = 1) result_amount = 1 // Roughly 20u per phoron sheet // Neutralization. @@ -1225,20 +1225,20 @@ /decl/chemical_reaction/instant/neutralize_neurotoxic_protein name = "Neutralize Toxic Proteins" id = "neurotoxic_protein_neutral" - result = "protein" - required_reagents = list("anti_toxin" = 1, "neurotoxic_protein" = 2) + result = REAGENT_ID_PROTEIN + required_reagents = list(REAGENT_ID_ANTITOXIN = 1, REAGENT_ID_NEUROTOXIC_PROTEIN = 2) result_amount = 2 /decl/chemical_reaction/instant/neutralize_carpotoxin name = "Neutralize Carpotoxin" id = "carpotoxin_neutral" - result = "protein" - required_reagents = list("enzyme" = 1, "carpotoxin" = 1, "sifsap" = 1) + result = REAGENT_ID_PROTEIN + required_reagents = list(REAGENT_ID_ENZYME = 1, REAGENT_ID_CARPOTOXIN = 1, REAGENT_ID_SIFSAP = 1) result_amount = 1 /decl/chemical_reaction/instant/neutralize_spidertoxin name = "Neutralize Spidertoxin" id = "spidertoxin_neutral" - result = "protein" - required_reagents = list("enzyme" = 1, "spidertoxin" = 1, "sifsap" = 1) + result = REAGENT_ID_PROTEIN + required_reagents = list(REAGENT_ID_ENZYME = 1, REAGENT_ID_SPIDERTOXIN = 1, REAGENT_ID_SIFSAP = 1) result_amount = 1 diff --git a/code/modules/reagents/reactions/instant/instant_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm index 8092e25767..874270734b 100644 --- a/code/modules/reagents/reactions/instant/instant_vr.dm +++ b/code/modules/reagents/reactions/instant/instant_vr.dm @@ -2,42 +2,42 @@ /// Micro/Macro chemicals /decl/chemical_reaction/instant/sizeoxadone - name = "sizeoxadone" - id = "sizeoxadone" - result = "sizeoxadone" - required_reagents = list("clonexadone" = 1, "tramadol" = 3, "phoron" = 1) - catalysts = list("phoron" = 5) + name = REAGENT_SIZEOXADONE + id = REAGENT_ID_SIZEOXADONE + result = REAGENT_ID_SIZEOXADONE + required_reagents = list(REAGENT_ID_CLONEXADONE = 1, REAGENT_ID_TRAMADOL = 3, REAGENT_ID_PHORON = 1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 5 /decl/chemical_reaction/instant/macrocillin - name = "Macrocillin" - id = "macrocillin" - result = "macrocillin" + name = REAGENT_MACROCILLIN + id = REAGENT_ID_MACROCILLIN + result = REAGENT_ID_MACROCILLIN // POLARISTODO requires_heating = 1 - required_reagents = list("sizeoxadone" = 20, "diethylamine" = 20) + required_reagents = list(REAGENT_ID_SIZEOXADONE = 20, REAGENT_ID_DIETHYLAMINE = 20) result_amount = 1 /decl/chemical_reaction/instant/microcillin - name = "Microcillin" - id = "microcillin" - result = "microcillin" + name = REAGENT_MICROCILLIN + id = REAGENT_ID_MICROCILLIN + result = REAGENT_ID_MICROCILLIN // POLARISTODO requires_heating = 1 - required_reagents = list("sizeoxadone" = 20, "sodiumchloride" = 20) + required_reagents = list(REAGENT_ID_SIZEOXADONE = 20, REAGENT_ID_SODIUMCHLORIDE = 20) result_amount = 1 /decl/chemical_reaction/instant/normalcillin - name = "Normalcillin" - id = "normalcillin" - result = "normalcillin" + name = REAGENT_NORMALCILLIN + id = REAGENT_ID_NORMALCILLIN + result = REAGENT_ID_NORMALCILLIN // POLARISTODO requires_heating = 1 - required_reagents = list("sizeoxadone" = 20, "leporazine" = 20) + required_reagents = list(REAGENT_ID_SIZEOXADONE = 20, REAGENT_ID_LEPORAZINE = 20) result_amount = 1 /decl/chemical_reaction/instant/dontcrossthebeams name = "Don't Cross The Beams" id = "dontcrossthebeams" result = null - required_reagents = list("microcillin" = 1, "macrocillin" = 1) + required_reagents = list(REAGENT_ID_MICROCILLIN = 1, REAGENT_ID_MACROCILLIN = 1) /decl/chemical_reaction/instant/dontcrossthebeams/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) @@ -50,147 +50,147 @@ /////////////////////////////////////////////////////////////////////////////////// /// TF chemicals /decl/chemical_reaction/instant/amorphorovir - name = "Amorphorovir" - id = "amorphorovir" - result = "amorphorovir" - required_reagents = list("cryptobiolin" = 30, "biomass" = 30, "hyperzine" = 20) - catalysts = list("phoron" = 5) + name = REAGENT_AMORPHOROVIR + id = REAGENT_ID_AMORPHOROVIR + result = REAGENT_ID_AMORPHOROVIR + required_reagents = list(REAGENT_ID_CRYPTOBIOLIN = 30, REAGENT_ID_BIOMASS = 30, REAGENT_ID_HYPERZINE = 20) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 1 /decl/chemical_reaction/instant/androrovir - name = "Androrovir" - id = "androrovir" - result = "androrovir" - required_reagents = list("amorphorovir" = 1, "bicaridine" = 20, "iron" = 20, "ethanol" = 20) + name = REAGENT_ANDROROVIR + id = REAGENT_ID_ANDROROVIR + result = REAGENT_ID_ANDROROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_BICARIDINE = 20, REAGENT_ID_IRON = 20, REAGENT_ID_ETHANOL = 20) result_amount = 1 /decl/chemical_reaction/instant/gynorovir - name = "Gynorovir" - id = "gynorovir" - result = "gynorovir" - required_reagents = list("amorphorovir" = 1, "inaprovaline" = 20, "silicon" = 20, "sugar" = 20) + name = REAGENT_GYNOROVIR + id = REAGENT_ID_GYNOROVIR + result = REAGENT_ID_GYNOROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_INAPROVALINE = 20, REAGENT_ID_SILICON = 20, REAGENT_ID_SUGAR = 20) result_amount = 1 /decl/chemical_reaction/instant/androgynorovir - name = "Androgynorovir" - id = "androgynorovir" - result = "androgynorovir" - required_reagents = list("amorphorovir" = 1, "anti_toxin" = 20, "fluorine" = 20, "tungsten" = 20) + name = REAGENT_ANDROGYNOROVIR + id = REAGENT_ID_ANDROGYNOROVIR + result = REAGENT_ID_ANDROGYNOROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_ANTITOXIN = 20, REAGENT_ID_FLUORINE = 20, REAGENT_ID_TUNGSTEN = 20) result_amount = 1 /decl/chemical_reaction/instant/androrovir_bootleg name = "Bootleg Androrovir" id = "androrovir_bootleg" - result = "androrovir" - required_reagents = list("amorphorovir" = 1, "protein" = 10, "capsaicin" = 10) + result = REAGENT_ID_ANDROROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_PROTEIN = 10, REAGENT_ID_CAPSAICIN = 10) result_amount = 1 /decl/chemical_reaction/instant/gynorovir_bootleg name = "Bootleg Gynorovir" id = "gynorovir_bootleg" - result = "gynorovir" - required_reagents = list("amorphorovir" = 1, "soymilk" = 10, "sugar" = 10) + result = REAGENT_ID_GYNOROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_SOYMILK = 10, REAGENT_ID_SUGAR = 10) result_amount = 1 /decl/chemical_reaction/instant/androgynorovir_bootleg name = "Bootleg Androgynorovir" id = "androgynorovir_bootleg" - result = "androgynorovir" - required_reagents = list("amorphorovir" = 1, "cola" = 10, "berryjuice" = 10) + result = REAGENT_ID_ANDROGYNOROVIR + required_reagents = list(REAGENT_ID_AMORPHOROVIR = 1, REAGENT_ID_COLA = 10, REAGENT_ID_BERRYJUICE = 10) result_amount = 1 /////////////////////////////////////////////////////////////////////////////////// /// Miscellaneous Reactions /decl/chemical_reaction/instant/foam/softdrink - required_reagents = list("cola" = 1, "mint" = 1) + required_reagents = list(REAGENT_ID_COLA = 1, REAGENT_ID_MINT = 1) /decl/chemical_reaction/instant/firefightingfoam //TODO: Make it so we can add this to the foam tanks to refill them - name = "Firefighting Foam" + name = REAGENT_FIREFOAM id = "firefighting foam" - result = "firefoam" - required_reagents = list("water" = 1) - catalysts = list("fluorine" = 10) + result = REAGENT_ID_FIREFOAM + required_reagents = list(REAGENT_ID_WATER = 1) + catalysts = list(REAGENT_ID_FLUORINE = 10) result_amount = 1 /decl/chemical_reaction/instant/firefightingfoamqol //Please don't abuse this and make us remove it. Seriously. name = "Firefighting Foam EZ" id = "firefighting foam ez" - result = "firefoam" - required_reagents = list("water" = 1) - catalysts = list("firefoam" = 5) - inhibitors = list("fluorine" = 0.01) + result = REAGENT_ID_FIREFOAM + required_reagents = list(REAGENT_ID_WATER = 1) + catalysts = list(REAGENT_ID_FIREFOAM = 5) + inhibitors = list(REAGENT_ID_FLUORINE = 0.01) result_amount = 1 /////////////////////////////////////////////////////////////////////////////////// /// Vore Drugs /decl/chemical_reaction/instant/ickypak - name = "Ickypak" - id = "ickypak" - result = "ickypak" - required_reagents = list("hyperzine" = 4, "fluorosurfactant" = 1) + name = REAGENT_ICKYPAK + id = REAGENT_ID_ICKYPAK + result = REAGENT_ID_ICKYPAK + required_reagents = list(REAGENT_ID_HYPERZINE = 4, REAGENT_ID_FLUOROSURFACTANT = 1) result_amount = 5 /decl/chemical_reaction/instant/unsorbitol - name = "Unsorbitol" - id = "unsorbitol" - result = "unsorbitol" - required_reagents = list("mutagen" = 3, "lipozine" = 2) + name = REAGENT_UNSORBITOL + id = REAGENT_ID_UNSORBITOL + result = REAGENT_ID_UNSORBITOL + required_reagents = list(REAGENT_ID_MUTAGEN = 3, REAGENT_ID_LIPOZINE = 2) result_amount = 5 /////////////////////////////////////////////////////////////////////////////////// /// Other Drugs /decl/chemical_reaction/instant/adranol - name = "Adranol" - id = "adranol" - result = "adranol" - required_reagents = list("milk" = 2, "hydrogen" = 1, "potassium" = 1) + name = REAGENT_ADRANOL + id = REAGENT_ID_ADRANOL + result = REAGENT_ID_ADRANOL + required_reagents = list(REAGENT_ID_MILK = 2, REAGENT_ID_HYDROGEN = 1, REAGENT_ID_POTASSIUM = 1) result_amount = 3 /decl/chemical_reaction/instant/vermicetol - name = "Vermicetol" - id = "vermicetol" - result = "vermicetol" - required_reagents = list("kelotane" = 1, "dermaline" = 1, "shockchem" = 1, "phoron" = 0.1) - catalysts = list("phoron" = 5) + name = REAGENT_VERMICETOL + id = REAGENT_ID_VERMICETOL + result = REAGENT_ID_VERMICETOL + required_reagents = list(REAGENT_ID_BICARIDINE = 2, REAGENT_ID_SHOCKCHEM = 1, REAGENT_ID_PHORON = 0.1) + catalysts = list(REAGENT_ID_PHORON = 5) result_amount = 3 /decl/chemical_reaction/instant/prussian_blue - name = "Prussian Blue" - id = "prussian_blue" - result = "prussian_blue" - required_reagents = list("carbon" = 3, "iron" = 1, "nitrogen" = 3) + name = REAGENT_PRUSSIANBLUE + id = REAGENT_ID_PRUSSIANBLUE + result = REAGENT_ID_PRUSSIANBLUE + required_reagents = list(REAGENT_ID_CARBON = 3, REAGENT_ID_IRON = 1, REAGENT_ID_NITROGEN = 3) result_amount = 7 /decl/chemical_reaction/instant/lipozilase - name = "Lipozilase" - id = "Lipozilase" - result = "lipozilase" - required_reagents = list("lipozine" = 1, "diethylamine" = 1) + name = REAGENT_LIPOZILASE + id = REAGENT_ID_LIPOZILASE + result = REAGENT_ID_LIPOZILASE + required_reagents = list(REAGENT_ID_LIPOZINE = 1, REAGENT_ID_DIETHYLAMINE = 1) result_amount = 2 /decl/chemical_reaction/instant/lipostipo - name = "Lipostipo" - id = "Lipostipo" - result = "lipostipo" - required_reagents = list("lipozine" = 1, "nutriment" = 1, "fluorine" = 1) + name = REAGENT_LIPOSTIPO + id = REAGENT_ID_LIPOSTIPO + result = REAGENT_ID_LIPOSTIPO + required_reagents = list(REAGENT_ID_LIPOZINE = 1, REAGENT_ID_NUTRIMENT = 1, REAGENT_ID_FLUORINE = 1) result_amount = 3 /////////////////////////////////////////////////////////////////////////////////// /// Reagent colonies. /decl/chemical_reaction/instant/meatcolony - name = "protein" - id = "meatcolony" - result = "protein" - required_reagents = list("meatcolony" = 5, "virusfood" = 5) + name = REAGENT_ID_PROTEIN + id = REAGENT_ID_MEATCOLONY + result = REAGENT_ID_PROTEIN + required_reagents = list(REAGENT_ID_MEATCOLONY = 5, REAGENT_ID_VIRUSFOOD = 5) result_amount = 60 /decl/chemical_reaction/instant/plantcolony - name = "nutriment" - id = "plantcolony" - result = "nutriment" - required_reagents = list("plantcolony" = 5, "virusfood" = 5) + name = REAGENT_ID_NUTRIMENT + id = REAGENT_ID_PLANTCOLONY + result = REAGENT_ID_NUTRIMENT + required_reagents = list(REAGENT_ID_PLANTCOLONY = 5, REAGENT_ID_VIRUSFOOD = 5) result_amount = 60 /////////////////////////////////////////////////////////////////////////////////// @@ -202,8 +202,8 @@ //SLIME-RELATED BELOW HERE/////// /////////////////////////////// /decl/chemical_reaction/instant/slimeify - name = "Advanced Mutation Toxin" + name = REAGENT_ADVMUTATIONTOXIN id = "advmutationtoxin2" - result = "advmutationtoxin" - required_reagents = list("phoron" = 15, "slimejelly" = 15, "mutationtoxin" = 15) //In case a xenobiologist wants to become a fully fledged slime person. - result_amount = 1 \ No newline at end of file + result = REAGENT_ID_ADVMUTATIONTOXIN + required_reagents = list(REAGENT_ID_PHORON = 15, REAGENT_ID_SLIMEJELLY = 15, REAGENT_ID_MUTATIONTOXIN = 15) //In case a xenobiologist wants to become a fully fledged slime person. + result_amount = 1 diff --git a/code/modules/reagents/reactions/instant/virology.dm b/code/modules/reagents/reactions/instant/virology.dm index 26576c23d6..75c6ae0265 100644 --- a/code/modules/reagents/reactions/instant/virology.dm +++ b/code/modules/reagents/reactions/instant/virology.dm @@ -1,57 +1,57 @@ /decl/chemical_reaction/instant/virus_food_mutagen - name = "mutagenic agar" - id = "mutagenvirusfood" - result = "mutagenvirusfood" - required_reagents = list("mutagen" = 1, "virusfood" = 1) + name = REAGENT_MUTAGENVIRUSFOOD + id = REAGENT_ID_MUTAGENVIRUSFOOD + result = REAGENT_ID_MUTAGENVIRUSFOOD + required_reagents = list(REAGENT_ID_MUTAGEN = 1, REAGENT_ID_VIRUSFOOD = 1) result_amount = 1 /decl/chemical_reaction/instant/virus_food_adranol - name = "virus rations" - id = "adranolvirusfood" - result = "adranolvirusfood" - required_reagents = list("adranol" = 1, "virusfood" = 1) + name = REAGENT_ADRANOLVIRUSFOOD + id = REAGENT_ID_ADRANOLVIRUSFOOD + result = REAGENT_ID_ADRANOLVIRUSFOOD + required_reagents = list(REAGENT_ID_ADRANOL = 1, REAGENT_ID_VIRUSFOOD = 1) result_amount = 1 /decl/chemical_reaction/instant/virus_food_phoron - name = "phoronic virus food" - id = "phoronvirusfood" - result = "phoronvirusfood" - required_reagents = list("phoron" = 1, "virusfood" = 1) + name = REAGENT_PHORONVIRUSFOOD + id = REAGENT_ID_PHORONVIRUSFOOD + result = REAGENT_ID_PHORONVIRUSFOOD + required_reagents = list(REAGENT_ID_PHORON = 1, REAGENT_ID_VIRUSFOOD = 1) result_amount = 1 /decl/chemical_reaction/instant/virus_food_phoron_adranol - name = "weakened phoronic virus food" - id = "weakphoronvirusfood" - result = "weakphoronvirusfood" - required_reagents = list("adranol" = 1, "phoronvirusfood" = 1) + name = REAGENT_WEAKPHORONVIRUSFOOD + id = REAGENT_ID_WEAKPHORONVIRUSFOOD + result = REAGENT_ID_WEAKPHORONVIRUSFOOD + required_reagents = list(REAGENT_ID_ADRANOL = 1, REAGENT_ID_PHORONVIRUSFOOD = 1) result_amount = 2 /decl/chemical_reaction/instant/virus_food_mutagen_sugar - name = "sucrose agar" - id = "sugarvirusfood" - result = "sugarvirusfood" - required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1) + name = REAGENT_SUGARVIRUSFOOD + id = REAGENT_ID_SUGARVIRUSFOOD + result = REAGENT_ID_SUGARVIRUSFOOD + required_reagents = list(REAGENT_ID_SUGAR = 1, REAGENT_ID_MUTAGENVIRUSFOOD = 1) result_amount = 2 /decl/chemical_reaction/instant/virus_food_mutagen_inaprovaline - name = "sucrose agar" + name = REAGENT_SUGARVIRUSFOOD id = "inaprovalinevirusfood" - result = "sugarvirusfood" - required_reagents = list("inaprovaline" = 1, "mutagenvirusfood" = 1) + result = REAGENT_ID_SUGARVIRUSFOOD + required_reagents = list(REAGENT_ID_INAPROVALINE = 1, REAGENT_ID_MUTAGENVIRUSFOOD = 1) result_amount = 2 /decl/chemical_reaction/instant/virus_food_size - name = "sizeoxadone virus food" + name = REAGENT_SIZEVIRUSFOOD id = "sizeoxadonevirusfood" - result = "sizevirusfood" - required_reagents = list("sizeoxadone" = 1, "phoronvirusfood" = 1) + result = REAGENT_ID_SIZEVIRUSFOOD + required_reagents = list(REAGENT_ID_SIZEOXADONE = 1, REAGENT_ID_PHORONVIRUSFOOD = 1) result_amount = 2 /decl/chemical_reaction/instant/mix_virus name = "Mix Virus" id = "mixvirus" - required_reagents = list("virusfood" = 1) - catalysts = list("blood" = 1) + required_reagents = list(REAGENT_ID_VIRUSFOOD = 1) + catalysts = list(REAGENT_ID_BLOOD = 1) var/level_min = 0 var/level_max = 2 @@ -75,63 +75,63 @@ /decl/chemical_reaction/instant/mix_virus/mix_virus_2 name = "Mix Virus 2" id = "mixvirus2" - required_reagents = list("mutagen" = 1) + required_reagents = list(REAGENT_ID_MUTAGEN = 1) level_min = 2 level_max = 4 /decl/chemical_reaction/instant/mix_virus/mix_virus_3 name = "Mix Virus 3" id = "mixvirus3" - required_reagents = list("phoron" = 1) + required_reagents = list(REAGENT_ID_PHORON = 1) level_min = 4 level_max = 6 /decl/chemical_reaction/instant/mix_virus/mix_virus_4 name = "Mix Virus 4" id = "mixvirus4" - required_reagents = list("uranium" = 1) + required_reagents = list(REAGENT_ID_URANIUM = 1) level_min = 5 level_max = 6 /decl/chemical_reaction/instant/mix_virus/mix_virus_5 name = "Mix Virus 5" id = "mixvirus5" - required_reagents = list("mutagenvirusfood" = 1) + required_reagents = list(REAGENT_ID_MUTAGENVIRUSFOOD = 1) level_min = 3 level_max = 3 /decl/chemical_reaction/instant/mix_virus/mix_virus_6 name = "Mix Virus 6" id = "mixvirus6" - required_reagents = list("sugarvirusfood" = 1) + required_reagents = list(REAGENT_ID_SUGARVIRUSFOOD = 1) level_min = 4 level_max = 4 /decl/chemical_reaction/instant/mix_virus/mix_virus_7 name = "Mix Virus 7" id = "mixvirus7" - required_reagents = list("weakphoronvirusfood" = 1) + required_reagents = list(REAGENT_ID_WEAKPHORONVIRUSFOOD = 1) level_min = 5 level_max = 5 /decl/chemical_reaction/instant/mix_virus/mix_virus_8 name = "Mix Virus 8" id = "mixvirus8" - required_reagents = list("phoronvirusfood" = 1) + required_reagents = list(REAGENT_ID_PHORONVIRUSFOOD = 1) level_min = 6 level_max = 6 /decl/chemical_reaction/instant/mix_virus/mix_virus_9 name = "Mix Virus 9" id = "mixvirus9" - required_reagents = list("adranolvirusfood" = 1) + required_reagents = list(REAGENT_ID_ADRANOLVIRUSFOOD = 1) level_min = 1 level_max = 1 /decl/chemical_reaction/instant/mix_virus/picky/size name = "Mix Virus Size" id = "mixvirussize" - required_reagents = list("sizevirusfood" = 1) + required_reagents = list(REAGENT_ID_SIZEVIRUSFOOD = 1) symptoms = list( /datum/symptom/macrophage, /datum/symptom/size, @@ -142,8 +142,8 @@ /decl/chemical_reaction/instant/mix_virus/rem_virus name = "Devolve Virus" id = "remvirus" - required_reagents = list("adranol" = 1) - catalysts = list("blood" = 1) + required_reagents = list(REAGENT_ID_ADRANOL = 1) + catalysts = list(REAGENT_ID_BLOOD = 1) /decl/chemical_reaction/instant/mix_virus/rem_virus/on_reaction(var/datum/reagents/holder) var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list @@ -153,9 +153,9 @@ D.Devolve() /decl/chemical_reaction/instant/antibodies - name = "Antibodies" + name = REAGENT_ANTIBODIES id = "antibodiesmix" - result = "antibodies" - required_reagents = list("vaccine") - catalysts = list("inaprovaline" = 0.1) + result = REAGENT_ID_ANTIBODIES + required_reagents = list(REAGENT_ID_VACCINE) + catalysts = list(REAGENT_ID_INAPROVALINE = 0.1) result_amount = 0.5 diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 3cbdb38f64..cbbb56b872 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -27,7 +27,7 @@ var/label_text = "" var/blood_type = null - var/reag_id = "blood" + var/reag_id = REAGENT_ID_BLOOD /obj/item/reagent_containers/blood/Initialize() . = ..() @@ -98,11 +98,11 @@ /obj/item/reagent_containers/blood/synthplas blood_type = "O-" - reag_id = "synthblood_dilute" + reag_id = REAGENT_ID_SYNTHBLOOD_DILUTE /obj/item/reagent_containers/blood/synthblood blood_type = "O-" - reag_id = "synthblood" + reag_id = REAGENT_ID_SYNTHBLOOD /obj/item/reagent_containers/blood/empty name = "Empty BloodPack" diff --git a/code/modules/reagents/reagent_containers/blood_pack_vr.dm b/code/modules/reagents/reagent_containers/blood_pack_vr.dm index 5beff9b498..b2c73a41b2 100644 --- a/code/modules/reagents/reagent_containers/blood_pack_vr.dm +++ b/code/modules/reagents/reagent_containers/blood_pack_vr.dm @@ -4,7 +4,7 @@ var/remove_volume = volume* 0.1 //10% of what the bloodpack can hold. var/reagent_to_remove = reagents.get_master_reagent_id() switch(reagents.get_master_reagent_id()) - if("blood") + if(REAGENT_ID_BLOOD) user.show_message(span_warning("You sink your fangs into \the [src] and suck the blood out of it!")) user.visible_message(span_red("[user] sinks their fangs into \the [src] and drains it!")) user.adjust_nutrition(remove_volume*5) diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm index b154f52e3e..68b936a0c8 100644 --- a/code/modules/reagents/reagent_containers/borghypo.dm +++ b/code/modules/reagents/reagent_containers/borghypo.dm @@ -14,25 +14,25 @@ var/recharge_time = 5 //Time it takes for shots to recharge (in seconds) var/bypass_protection = FALSE // If true, can inject through things like spacesuits and armor. - var/list/reagent_ids = list("tricordrazine", "inaprovaline", "bicaridine", "anti_toxin", "kelotane", "tramadol", "dexalin" ,"spaceacillin") + var/list/reagent_ids = list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_INAPROVALINE, REAGENT_ID_ANTITOXIN, REAGENT_ID_TRAMADOL, REAGENT_ID_DEXALIN ,REAGENT_ID_SPACEACILLIN) var/list/reagent_volumes = list() var/list/reagent_names = list() /obj/item/reagent_containers/borghypo/surgeon - reagent_ids = list("inaprovaline", "dexalin", "tricordrazine", "spaceacillin", "oxycodone") + reagent_ids = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_DEXALIN, REAGENT_ID_TRICORDRAZINE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_OXYCODONE) /obj/item/reagent_containers/borghypo/crisis - reagent_ids = list("inaprovaline", "bicaridine", "kelotane", "anti_toxin", "dexalin", "tricordrazine", "spaceacillin", "tramadol") + reagent_ids = list(REAGENT_ID_INAPROVALINE, REAGENT_ID_BICARIDINE, REAGENT_ID_KELOTANE, REAGENT_ID_ANTITOXIN, REAGENT_ID_DEXALIN, REAGENT_ID_TRICORDRAZINE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_TRAMADOL) /obj/item/reagent_containers/borghypo/lost - reagent_ids = list("tricordrazine", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin") + reagent_ids = list(REAGENT_ID_TRICORDRAZINE, REAGENT_ID_BICARIDINE, REAGENT_ID_DEXALIN, REAGENT_ID_ANTITOXIN, REAGENT_ID_TRAMADOL, REAGENT_ID_SPACEACILLIN) /obj/item/reagent_containers/borghypo/merc name = "advanced cyborg hypospray" desc = "An advanced nanite and chemical synthesizer and injection system, designed for heavy-duty medical equipment. This type is capable of safely bypassing \ thick materials that other hyposprays would struggle with." bypass_protection = TRUE // Because mercs tend to be in spacesuits. - reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood") + reagent_ids = list(REAGENT_ID_HEALINGNANITES, REAGENT_ID_HYPERZINE, REAGENT_ID_TRAMADOL, REAGENT_ID_OXYCODONE, REAGENT_ID_SPACEACILLIN, REAGENT_ID_PERIDAXON, REAGENT_ID_OSTEODAXON, REAGENT_ID_MYELAMINE, REAGENT_ID_SYNTHBLOOD) /obj/item/reagent_containers/borghypo/Initialize() . = ..() @@ -105,7 +105,7 @@ if(mode == i) t += span_bold("[reagent_names[i]]") else - t += "[reagent_names[i]]" + t += "[reagent_names[i]]" t = "Available reagents: [t]." to_chat(user,span_infoplain(t)) @@ -135,49 +135,49 @@ recharge_time = 3 volume = 60 possible_transfer_amounts = list(5, 10, 20, 30) - reagent_ids = list("ale", - "beer", - "berryjuice", - "bitters", - "cider", - "coffee", - "cognac", - "cola", - "cream", - "dr_gibb", - "egg", - "gin", - "gingerale", - "hot_coco", - "ice", - "icetea", - "kahlua", - "lemonjuice", - "lemon_lime", - "limejuice", - "mead", - "milk", - "mint", - "orangejuice", - "redwine", - "rum", - "sake", - "sodawater", - "soymilk", - "space_up", - "spacemountainwind", - "spacespice", - "specialwhiskey", - "sugar", - "tea", - "tequilla", - "tomatojuice", - "tonic", - "vermouth", - "vodka", - "water", - "watermelonjuice", - "whiskey") + reagent_ids = list(REAGENT_ID_ALE, + REAGENT_ID_BEER, + REAGENT_ID_BERRYJUICE, + REAGENT_ID_BITTERS, + REAGENT_ID_CIDER, + REAGENT_ID_COFFEE, + REAGENT_ID_COGNAC, + REAGENT_ID_COLA, + REAGENT_ID_CREAM, + REAGENT_ID_DRGIBB, + REAGENT_ID_EGG, + REAGENT_ID_GIN, + REAGENT_ID_GINGERALE, + REAGENT_ID_HOTCOCO, + REAGENT_ID_ICE, + REAGENT_ID_ICETEA, + REAGENT_ID_KAHLUA, + REAGENT_ID_LEMONJUICE, + REAGENT_ID_LEMONLIME, + REAGENT_ID_LIMEJUICE, + REAGENT_ID_MEAD, + REAGENT_ID_MILK, + REAGENT_ID_MINT, + REAGENT_ID_ORANGEJUICE, + REAGENT_ID_REDWINE, + REAGENT_ID_RUM, + REAGENT_ID_SAKE, + REAGENT_ID_SODAWATER, + REAGENT_ID_SOYMILK, + REAGENT_ID_SPACEUP, + REAGENT_ID_SPACEMOUNTAINWIND, + REAGENT_ID_SPACESPICE, + REAGENT_ID_SPECIALWHISKEY, + REAGENT_ID_SUGAR, + REAGENT_ID_TEA, + REAGENT_ID_TEQUILLA, + REAGENT_ID_TOMATOJUICE, + REAGENT_ID_TONIC, + REAGENT_ID_VERMOUTH, + REAGENT_ID_VODKA, + REAGENT_ID_WATER, + REAGENT_ID_WATERMELONJUICE, + REAGENT_ID_WHISKEY) /obj/item/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user) return diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 0298998d7f..e48f2fe6fd 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -282,10 +282,10 @@ /obj/item/reagent_containers/glass/beaker/cryoxadone name = "beaker (cryoxadone)" - prefill = list("cryoxadone" = 30) + prefill = list(REAGENT_ID_CRYOXADONE = 30) /obj/item/reagent_containers/glass/beaker/sulphuric - prefill = list("sacid" = 60) + prefill = list(REAGENT_ID_SACID = 60) /obj/item/reagent_containers/glass/beaker/stopperedbottle name = "stoppered bottle" diff --git a/code/modules/reagents/reagent_containers/glass_vr.dm b/code/modules/reagents/reagent_containers/glass_vr.dm index 2249ddd764..1e368776a1 100644 --- a/code/modules/reagents/reagent_containers/glass_vr.dm +++ b/code/modules/reagents/reagent_containers/glass_vr.dm @@ -1,90 +1,90 @@ /obj/item/reagent_containers/glass/beaker/neurotoxin - prefill = list("neurotoxin" = 50) + prefill = list(REAGENT_ID_NEUROTOXIN = 50) /obj/item/reagent_containers/glass/beaker/vial/bicaridine - name = "vial (bicaridine)" - prefill = list("bicaridine" = 30) + name = "vial (" + REAGENT_ID_BICARIDINE + ")" + prefill = list(REAGENT_ID_BICARIDINE = 30) /obj/item/reagent_containers/glass/beaker/vial/dylovene - name = "vial (dylovene)" - prefill = list("dylovene" = 30) + name = "vial (" + REAGENT_ID_ANTITOXIN + ")" + prefill = list(REAGENT_ID_ANTITOXIN = 30) /obj/item/reagent_containers/glass/beaker/vial/dermaline - name = "vial (dermaline)" - prefill = list("dermaline" = 30) + name = "vial (" + REAGENT_ID_DERMALINE + ")" + prefill = list(REAGENT_ID_DERMALINE = 30) /obj/item/reagent_containers/glass/beaker/vial/kelotane - name = "vial (kelotane)" - prefill = list("kelotane" = 30) + name = "vial (" + REAGENT_ID_KELOTANE + ")" + prefill = list(REAGENT_ID_KELOTANE = 30) /obj/item/reagent_containers/glass/beaker/vial/inaprovaline - name = "vial (inaprovaline)" - prefill = list("inaprovaline" = 30) + name = "vial (" + REAGENT_ID_INAPROVALINE + ")" + prefill = list(REAGENT_ID_INAPROVALINE = 30) /obj/item/reagent_containers/glass/beaker/vial/dexalin - name = "vial (dexalin)" - prefill = list("dexalin" = 30) + name = "vial (" + REAGENT_ID_DEXALIN + ")" + prefill = list(REAGENT_ID_DEXALIN = 30) /obj/item/reagent_containers/glass/beaker/vial/dexalinplus - name = "vial (dexalinp)" - prefill = list("dexalinp" = 30) + name = "vial (" + REAGENT_ID_DEXALINP + ")" + prefill = list(REAGENT_ID_DEXALINP = 30) /obj/item/reagent_containers/glass/beaker/vial/tricordrazine - name = "vial (tricordrazine)" - prefill = list("tricordrazine" = 30) + name = "vial (" + REAGENT_ID_TRICORDRAZINE + ")" + prefill = list(REAGENT_ID_TRICORDRAZINE = 30) /obj/item/reagent_containers/glass/beaker/vial/alkysine - name = "vial (alkysine)" - prefill = list("alkysine" = 30) + name = "vial (" + REAGENT_ID_ALKYSINE + ")" + prefill = list(REAGENT_ID_ALKYSINE = 30) /obj/item/reagent_containers/glass/beaker/vial/imidazoline - name = "vial (imidazoline)" - prefill = list("imidazoline" = 30) + name = "vial (" + REAGENT_ID_IMIDAZOLINE + ")" + prefill = list(REAGENT_ID_IMIDAZOLINE = 30) /obj/item/reagent_containers/glass/beaker/vial/peridaxon - name = "vial (peridaxon)" - prefill = list("peridaxon" = 30) + name = "vial (" + REAGENT_ID_PERIDAXON + ")" + prefill = list(REAGENT_ID_PERIDAXON = 30) /obj/item/reagent_containers/glass/beaker/vial/hyronalin - name = "vial (hyronalin)" - prefill = list("hyronalin" = 30) + name = "vial (" + REAGENT_ID_HYRONALIN +")" + prefill = list(REAGENT_ID_HYRONALIN = 30) /obj/item/reagent_containers/glass/beaker/vial/amorphorovir - name = "vial (amorphorovir)" - prefill = list("amorphorovir" = 1) + name = "vial (" + REAGENT_ID_AMORPHOROVIR + ")" + prefill = list(REAGENT_ID_AMORPHOROVIR = 1) /obj/item/reagent_containers/glass/beaker/vial/androrovir - name = "vial (androrovir)" - prefill = list("androrovir" = 1) + name = "vial (" + REAGENT_ID_ANDROROVIR + ")" + prefill = list(REAGENT_ID_ANDROROVIR = 1) /obj/item/reagent_containers/glass/beaker/vial/gynorovir - name = "vial (gynorovir)" - prefill = list("gynorovir" = 1) + name = "vial (" + REAGENT_ID_GYNOROVIR + ")" + prefill = list(REAGENT_ID_GYNOROVIR = 1) /obj/item/reagent_containers/glass/beaker/vial/androgynorovir - name = "vial (androgynorovir)" - prefill = list("androgynorovir" = 1) + name = "vial (" + REAGENT_ID_ANDROGYNOROVIR + ")" + prefill = list(REAGENT_ID_ANDROGYNOROVIR = 1) /obj/item/reagent_containers/glass/beaker/vial/macrocillin - name = "vial (macrocillin)" - prefill = list("macrocillin" = 1) + name = "vial (" + REAGENT_ID_MACROCILLIN + ")" + prefill = list(REAGENT_ID_MACROCILLIN = 1) /obj/item/reagent_containers/glass/beaker/vial/microcillin - name = "vial (microcillin)" - prefill = list("microcillin" = 1) + name = "vial (" + REAGENT_ID_MICROCILLIN + ")" + prefill = list(REAGENT_ID_MICROCILLIN = 1) /obj/item/reagent_containers/glass/beaker/vial/normalcillin - name = "vial (normalcillin)" - prefill = list("normalcillin" = 1) + name = "vial (" + REAGENT_ID_NORMALCILLIN + ")" + prefill = list(REAGENT_ID_NORMALCILLIN = 1) /obj/item/reagent_containers/glass/beaker/vial/supermatter - name = "vial (supermatter)" + name = "vial (" + REAGENT_ID_SUPERMATTER + ")" desc = "A glass vial containing the extremely dangerous results of grinding a shard of supermatter down to a fine powder." - prefill = list("supermatter" = 5) + prefill = list(REAGENT_ID_SUPERMATTER = 5) /obj/item/reagent_containers/glass/beaker/measuring_cup name = "measuring cup" desc = "A measuring cup." icon = 'icons/obj/chemical_vr.dmi' icon_state = "measure_cup" - item_state = "measure_cup" \ No newline at end of file + item_state = "measure_cup" diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 0ba2319418..0881be3303 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -154,7 +154,7 @@ amount_per_transfer_from_this = 5 volume = 5 filled = 1 - filled_reagents = list("inaprovaline" = 5) + filled_reagents = list(REAGENT_ID_INAPROVALINE = 5) preserve_item = 0 hyposound = 'sound/effects/hypospray.ogg' @@ -194,18 +194,18 @@ /obj/item/reagent_containers/hypospray/autoinjector/detox name = "autoinjector (antitox)" icon_state = "green" - filled_reagents = list("anti_toxin" = 5) + filled_reagents = list(REAGENT_ID_ANTITOXIN = 5) //Special autoinjectors, while having potent chems like the 15u ones, the chems are usually potent enough that 5u is enough /obj/item/reagent_containers/hypospray/autoinjector/bonemed name = "bone repair injector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating damage to bones." - filled_reagents = list("osteodaxon" = 5) + filled_reagents = list(REAGENT_ID_OSTEODAXON = 5) /obj/item/reagent_containers/hypospray/autoinjector/clonemed name = "clone injector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one excels at treating genetic damage." - filled_reagents = list("rezadone" = 5) + filled_reagents = list(REAGENT_ID_REZADONE = 5) // These have a 15u capacity, somewhat higher tech level, and generally more useful chems, but are otherwise the same as the regular autoinjectors. /obj/item/reagent_containers/hypospray/autoinjector/biginjector @@ -215,7 +215,7 @@ amount_per_transfer_from_this = 15 volume = 15 origin_tech = list(TECH_BIO = 4) - filled_reagents = list("inaprovaline" = 15) + filled_reagents = list(REAGENT_ID_INAPROVALINE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/empty //for the autolathe name = "large autoinjector" @@ -226,134 +226,134 @@ name = "trauma hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to be used on victims of \ moderate blunt trauma." - filled_reagents = list("bicaridine" = 15) + filled_reagents = list(REAGENT_ID_BICARIDINE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/burn name = "burn hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to be used on burn victims, \ featuring an optimized chemical mixture to allow for rapid healing." - filled_reagents = list("kelotane" = 7.5, "dermaline" = 7.5) + filled_reagents = list(REAGENT_ID_KELOTANE = 7.5, REAGENT_ID_DERMALINE = 7.5) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/toxin name = "toxin hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to counteract toxins." - filled_reagents = list("anti_toxin" = 15) + filled_reagents = list(REAGENT_ID_ANTITOXIN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/oxy name = "oxy hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one is made to counteract oxygen \ deprivation." - filled_reagents = list("dexalinp" = 10, "tricordrazine" = 5) + filled_reagents = list(REAGENT_ID_DEXALINP = 10, REAGENT_ID_TRICORDRAZINE = 5) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity name = "purity hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This variant excels at \ resolving viruses, infections, radiation, and genetic maladies." - filled_reagents = list("spaceacillin" = 4, "arithrazine" = 5, "prussian_blue" = 5, "ryetalyn" = 1) + filled_reagents = list(REAGENT_ID_SPACEACILLIN = 4, REAGENT_ID_ARITHRAZINE = 5, REAGENT_ID_PRUSSIANBLUE = 5, REAGENT_ID_RYETALYN = 1) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/pain name = "pain hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This one contains potent painkillers." - filled_reagents = list("tramadol" = 15) + filled_reagents = list(REAGENT_ID_TRAMADOL = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/organ name = "organ hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. Organ damage is resolved by this variant." - filled_reagents = list("alkysine" = 3, "imidazoline" = 2, "peridaxon" = 10) + filled_reagents = list(REAGENT_ID_ALKYSINE = 3, REAGENT_ID_IMIDAZOLINE = 2, REAGENT_ID_PERIDAXON = 10) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/combat name = "combat hypo" desc = "A refined version of the standard autoinjector, allowing greater capacity. This is a more dangerous and potentially \ addictive hypo compared to others, as it contains a potent cocktail of various chemicals to optimize the recipient's combat \ ability." - filled_reagents = list("bicaridine" = 3, "kelotane" = 1.5, "dermaline" = 1.5, "oxycodone" = 3, "hyperzine" = 3, "tricordrazine" = 3) + filled_reagents = list(REAGENT_ID_BICARIDINE = 3, REAGENT_ID_KELOTANE = 1.5, REAGENT_ID_DERMALINE = 1.5, REAGENT_ID_OXYCODONE = 3, REAGENT_ID_HYPERZINE = 3, REAGENT_ID_TRICORDRAZINE = 3) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/clotting name = "clotting agent" desc = "A refined version of the standard autoinjector, allowing greater capacity. This variant excels at treating bleeding wounds and internal bleeding." - filled_reagents = list("inaprovaline" = 5, "myelamine" = 10) + filled_reagents = list(REAGENT_ID_INAPROVALINE = 5, REAGENT_ID_MYELAMINE = 10) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose name = "glucose hypo" desc = "A hypoinjector filled with glucose, used for critically malnourished patients and voidsuited workers." - filled_reagents = list("glucose" = 15) + filled_reagents = list(REAGENT_ID_GLUCOSE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/stimm name = "stimm injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is filled with a home-made stimulant, with some serious side-effects." - filled_reagents = list("stimm" = 10) // More than 10u will OD. + filled_reagents = list(REAGENT_ID_STIMM = 10) // More than 10u will OD. /obj/item/reagent_containers/hypospray/autoinjector/biginjector/expired name = "expired injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one has had its contents expire a long time ago, using it now will probably make someone sick, or worse." - filled_reagents = list("expired_medicine" = 15) + filled_reagents = list(REAGENT_ID_EXPIREDMEDICINE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/soporific name = "soporific injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is sometimes used by orderlies, as it has soporifics, which make someone tired and fall asleep." - filled_reagents = list("stoxin" = 15) + filled_reagents = list(REAGENT_ID_STOXIN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/cyanide name = "cyanide injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains cyanide, a lethal poison. It being inside a medical autoinjector has certain unsettling implications." - filled_reagents = list("cyanide" = 15) + filled_reagents = list(REAGENT_ID_CYANIDE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/serotrotium name = "serotrotium injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one is filled with serotrotium, which causes concentrated production of the serotonin neurotransmitter in humans." - filled_reagents = list("serotrotium" = 15) + filled_reagents = list(REAGENT_ID_SEROTROTIUM = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/bliss name = "illicit injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains various illicit drugs, held inside a hypospray to make smuggling easier." - filled_reagents = list("bliss" = 15) + filled_reagents = list(REAGENT_ID_BLISS = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/cryptobiolin name = "cryptobiolin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one contains cryptobiolin, which causes confusion." - filled_reagents = list("cryptobiolin" = 15) + filled_reagents = list(REAGENT_ID_CRYPTOBIOLIN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/impedrezene name = "impedrezene injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one has impedrezene inside, a narcotic that impairs higher brain functioning. \ This autoinjector is almost certainly created illegitimately." - filled_reagents = list("impedrezene" = 15) + filled_reagents = list(REAGENT_ID_IMPEDREZENE = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/mindbreaker name = "mindbreaker injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This one stores the dangerous hallucinogen called 'Mindbreaker', likely put in place \ by illicit groups hoping to hide their product." - filled_reagents = list("mindbreaker" = 15) + filled_reagents = list(REAGENT_ID_MINDBREAKER = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/psilocybin name = "psilocybin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This has psilocybin inside, which is a strong psychotropic derived from certain species of mushroom. \ This autoinjector likely was made by criminal elements to avoid detection from casual inspection." - filled_reagents = list("psilocybin" = 15) + filled_reagents = list(REAGENT_ID_PSILOCYBIN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/mutagen name = "unstable mutagen injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This contains unstable mutagen, which makes using this a very bad idea. It will either \ ruin your genetic health, turn you into a Five Points violation, or both!" - filled_reagents = list("mutagen" = 15) + filled_reagents = list(REAGENT_ID_MUTAGEN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/lexorin name = "lexorin injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ This contains lexorin, a dangerous toxin that stops respiration, and has been \ implicated in several high-profile assassinations in the past." - filled_reagents = list("lexorin" = 15) + filled_reagents = list(REAGENT_ID_LEXORIN = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/healing_nanites name = "medical nanite injector" @@ -361,7 +361,7 @@ The injector stores a slurry of highly advanced and specialized nanomachines designed \ to restore bodily health from within. The nanomachines are short-lived but degrade \ harmlessly, and cannot self-replicate in order to remain Five Points compliant." - filled_reagents = list("healing_nanites" = 15) + filled_reagents = list(REAGENT_ID_HEALINGNANITES = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/defective_nanites name = "defective nanite injector" @@ -369,14 +369,14 @@ The injector stores a slurry of highly advanced and specialized nanomachines that \ are unfortunately malfunctioning, making them unsafe to use inside of a living body. \ Because of the Five Points, these nanites cannot self-replicate." - filled_reagents = list("defective_nanites" = 15) + filled_reagents = list(REAGENT_ID_DEFECTIVENANITES = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated name = "contaminated injector" desc = "A refined version of the standard autoinjector, allowing greater capacity. \ The hypospray contains a viral agent inside, as well as a liquid substance that encourages \ the growth of the virus inside." - filled_reagents = list("virusfood" = 15) + filled_reagents = list(REAGENT_ID_VIRUSFOOD = 15) /obj/item/reagent_containers/hypospray/autoinjector/biginjector/contaminated/do_injection(mob/living/carbon/human/H, mob/living/user) . = ..() diff --git a/code/modules/reagents/reagent_containers/hypospray_vr.dm b/code/modules/reagents/reagent_containers/hypospray_vr.dm index 37d273a5cf..c620419558 100644 --- a/code/modules/reagents/reagent_containers/hypospray_vr.dm +++ b/code/modules/reagents/reagent_containers/hypospray_vr.dm @@ -1,22 +1,22 @@ /obj/item/reagent_containers/hypospray/autoinjector/burn name = "autoinjector (burn)" icon_state = "purple" - filled_reagents = list("dermaline" = 3.5, "leporazine" = 1.5) + filled_reagents = list(REAGENT_ID_DERMALINE = 3.5, REAGENT_ID_LEPORAZINE = 1.5) /obj/item/reagent_containers/hypospray/autoinjector/trauma name = "autoinjector (trauma)" icon_state = "black" - filled_reagents = list("bicaridine" = 4, "tramadol" = 1) + filled_reagents = list(REAGENT_ID_BICARIDINE = 4, REAGENT_ID_TRAMADOL = 1) /obj/item/reagent_containers/hypospray/autoinjector/oxy name = "autoinjector (oxy)" icon_state = "blue" - filled_reagents = list("dexalinp" = 5) + filled_reagents = list(REAGENT_ID_DEXALINP = 5) /obj/item/reagent_containers/hypospray/autoinjector/rad name = "autoinjector (rad)" icon_state = "black" - filled_reagents = list("hyronalin" = 5) + filled_reagents = list(REAGENT_ID_HYRONALIN = 5) /obj/item/storage/box/traumainjectors name = "box of emergency injectors" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 88dde6b271..148c5b88f2 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -120,13 +120,13 @@ //Pills /obj/item/reagent_containers/pill/antitox - name = "Dylovene (30u)" //VOREStation Edit + name = REAGENT_ANTITOXIN + " (30u)" //VOREStation Edit desc = "Neutralizes many common toxins." icon_state = "pill1" /obj/item/reagent_containers/pill/antitox/Initialize() . = ..() - reagents.add_reagent("anti_toxin", 30) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_ANTITOXIN, 30) //VOREStation Edit color = reagents.get_color() /obj/item/reagent_containers/pill/tox @@ -136,7 +136,7 @@ /obj/item/reagent_containers/pill/tox/Initialize() . = ..() - reagents.add_reagent("toxin", 50) + reagents.add_reagent(REAGENT_ID_TOXIN, 50) color = reagents.get_color() /obj/item/reagent_containers/pill/cyanide @@ -146,177 +146,177 @@ /obj/item/reagent_containers/pill/cyanide/Initialize() . = ..() - reagents.add_reagent("cyanide", 50) + reagents.add_reagent(REAGENT_ID_CYANIDE, 50) /obj/item/reagent_containers/pill/adminordrazine - name = "Adminordrazine pill" + name = REAGENT_ADMINORDRAZINE + " pill" desc = "It's magic. We don't have to explain it." icon_state = "pillA" /obj/item/reagent_containers/pill/adminordrazine/Initialize() . = ..() - reagents.add_reagent("adminordrazine", 5) + reagents.add_reagent(REAGENT_ID_ADMINORDRAZINE, 5) /obj/item/reagent_containers/pill/stox - name = "Soporific (15u)" + name = REAGENT_STOXIN + " (15u)" desc = "Commonly used to treat insomnia." icon_state = "pill2" /obj/item/reagent_containers/pill/stox/Initialize() . = ..() - reagents.add_reagent("stoxin", 15) + reagents.add_reagent(REAGENT_ID_STOXIN, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/kelotane - name = "Kelotane (20u)" //VOREStation Edit + name = REAGENT_KELOTANE + " (20u)" //VOREStation Edit desc = "Used to treat burns." icon_state = "pill3" /obj/item/reagent_containers/pill/kelotane/Initialize() . = ..() - reagents.add_reagent("kelotane", 20) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_KELOTANE, 20) //VOREStation Edit color = reagents.get_color() /obj/item/reagent_containers/pill/paracetamol - name = "Paracetamol (15u)" - desc = "Paracetamol! A painkiller for the ages. Chewables!" + name = REAGENT_PARACETAMOL + " (15u)" + desc = REAGENT_PARACETAMOL + "! A painkiller for the ages. Chewables!" icon_state = "pill3" /obj/item/reagent_containers/pill/paracetamol/Initialize() . = ..() - reagents.add_reagent("paracetamol", 15) + reagents.add_reagent(REAGENT_ID_PARACETAMOL, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/tramadol - name = "Tramadol (15u)" + name = REAGENT_TRAMADOL + " (15u)" desc = "A simple painkiller." icon_state = "pill3" /obj/item/reagent_containers/pill/tramadol/Initialize() . = ..() - reagents.add_reagent("tramadol", 15) + reagents.add_reagent(REAGENT_ID_TRAMADOL, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/methylphenidate - name = "Methylphenidate (15u)" + name = REAGENT_METHYLPHENIDATE + " (15u)" desc = "Improves the ability to concentrate." icon_state = "pill2" /obj/item/reagent_containers/pill/methylphenidate/Initialize() . = ..() - reagents.add_reagent("methylphenidate", 15) + reagents.add_reagent(REAGENT_ID_METHYLPHENIDATE, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/citalopram - name = "Citalopram (15u)" + name = REAGENT_CITALOPRAM + " (15u)" desc = "Mild anti-depressant." icon_state = "pill4" /obj/item/reagent_containers/pill/citalopram/Initialize() . = ..() - reagents.add_reagent("citalopram", 15) + reagents.add_reagent(REAGENT_ID_CITALOPRAM, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/dexalin - name = "Dexalin (7.5u)" //VOREstation Edit + name = REAGENT_DEXALIN + " (7.5u)" //VOREstation Edit desc = "Used to treat oxygen deprivation." icon_state = "pill1" /obj/item/reagent_containers/pill/dexalin/Initialize() . = ..() - reagents.add_reagent("dexalin", 7.5) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_DEXALIN, 7.5) //VOREStation Edit color = reagents.get_color() /obj/item/reagent_containers/pill/dexalin_plus - name = "Dexalin Plus (15u)" + name = REAGENT_DEXALINP + " (15u)" desc = "Used to treat extreme oxygen deprivation." icon_state = "pill2" /obj/item/reagent_containers/pill/dexalin_plus/Initialize() . = ..() - reagents.add_reagent("dexalinp", 15) + reagents.add_reagent(REAGENT_ID_DEXALINP, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/dermaline - name = "Dermaline (15u)" + name = REAGENT_DERMALINE + " (15u)" desc = "Used to treat burn wounds." icon_state = "pill2" /obj/item/reagent_containers/pill/dermaline/Initialize() . = ..() - reagents.add_reagent("dermaline", 15) + reagents.add_reagent(REAGENT_ID_DERMALINE, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/dylovene - name = "Dylovene (15u)" + name = REAGENT_ANTITOXIN + " (15u)" desc = "A broad-spectrum anti-toxin." icon_state = "pill1" /obj/item/reagent_containers/pill/dylovene/Initialize() . = ..() - reagents.add_reagent("anti_toxin", 15) + reagents.add_reagent(REAGENT_ID_ANTITOXIN, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/inaprovaline - name = "Inaprovaline (30u)" + name = REAGENT_INAPROVALINE + " (30u)" desc = "Used to stabilize patients." icon_state = "pill2" /obj/item/reagent_containers/pill/inaprovaline/Initialize() . = ..() - reagents.add_reagent("inaprovaline", 30) + reagents.add_reagent(REAGENT_ID_INAPROVALINE, 30) color = reagents.get_color() /obj/item/reagent_containers/pill/bicaridine - name = "Bicaridine (20u)" + name = REAGENT_BICARIDINE + " (20u)" desc = "Used to treat physical injuries." icon_state = "pill2" /obj/item/reagent_containers/pill/bicaridine/Initialize() . = ..() - reagents.add_reagent("bicaridine", 20) + reagents.add_reagent(REAGENT_ID_BICARIDINE, 20) color = reagents.get_color() /obj/item/reagent_containers/pill/spaceacillin - name = "Spaceacillin (15u)" //VOREStation Edit + name = REAGENT_SPACEACILLIN + " (15u)" //VOREStation Edit desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space." icon_state = "pill3" /obj/item/reagent_containers/pill/spaceacillin/Initialize() . = ..() - reagents.add_reagent("spaceacillin", 15) + reagents.add_reagent(REAGENT_ID_SPACEACILLIN, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/carbon - name = "Carbon (30u)" //VOREStation Edit + name = REAGENT_CARBON + " (30u)" //VOREStation Edit desc = "Used to neutralise chemicals in the stomach." icon_state = "pill3" /obj/item/reagent_containers/pill/carbon/Initialize() . = ..() - reagents.add_reagent("carbon", 30) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_CARBON, 30) //VOREStation Edit color = reagents.get_color() /obj/item/reagent_containers/pill/iron - name = "Iron (30u)" //VOREStation Edit + name = REAGENT_IRON + " (30u)" //VOREStation Edit desc = "Used to aid in blood regeneration after bleeding for red-blooded crew." icon_state = "pill1" /obj/item/reagent_containers/pill/iron/Initialize() . = ..() - reagents.add_reagent("iron", 30) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_IRON, 30) //VOREStation Edit color = reagents.get_color() /obj/item/reagent_containers/pill/copper - name = "Copper (30u)" + name = REAGENT_COPPER + " (30u)" desc = "Used to aid in blood regeneration after bleeding for blue-blooded crew." icon_state = "pill1" /obj/item/reagent_containers/pill/copper/Initialize() . = ..() - reagents.add_reagent("copper", 30) + reagents.add_reagent(REAGENT_ID_COPPER, 30) color = reagents.get_color() //Not-quite-medicine @@ -327,8 +327,8 @@ /obj/item/reagent_containers/pill/happy/Initialize() . = ..() - reagents.add_reagent("bliss", 15) - reagents.add_reagent("sugar", 15) + reagents.add_reagent(REAGENT_ID_BLISS, 15) + reagents.add_reagent(REAGENT_ID_SUGAR, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/zoom @@ -339,9 +339,9 @@ /obj/item/reagent_containers/pill/zoom/Initialize() . = ..() if(prob(50)) //VOREStation edit begin: Zoom pill adjustments - reagents.add_reagent("mold", 2) //Chance to be more dangerous - reagents.add_reagent("expired_medicine", 5) - reagents.add_reagent("stimm", 5) //VOREStation edit end: Zoom pill adjustments + reagents.add_reagent(REAGENT_ID_MOLD, 2) //Chance to be more dangerous + reagents.add_reagent(REAGENT_ID_EXPIREDMEDICINE, 5) + reagents.add_reagent(REAGENT_ID_STIMM, 5) //VOREStation edit end: Zoom pill adjustments color = reagents.get_color() /obj/item/reagent_containers/pill/diet @@ -351,5 +351,5 @@ /obj/item/reagent_containers/pill/diet/Initialize() . = ..() - reagents.add_reagent("lipozine", 15) //VOREStation Edit + reagents.add_reagent(REAGENT_ID_LIPOZINE, 15) //VOREStation Edit color = reagents.get_color() diff --git a/code/modules/reagents/reagent_containers/pill_vr.dm b/code/modules/reagents/reagent_containers/pill_vr.dm index 4fb6f97102..2a4b95be74 100644 --- a/code/modules/reagents/reagent_containers/pill_vr.dm +++ b/code/modules/reagents/reagent_containers/pill_vr.dm @@ -1,150 +1,150 @@ /obj/item/reagent_containers/pill/nutriment - name = "Nutriment (30u)" - desc = "Used to feed people on the field. Contains 30 units of Nutriment." + name = REAGENT_NUTRIMENT + " (30u)" + desc = "Used to feed people on the field. Contains 30 units of " + REAGENT_NUTRIMENT + "." icon_state = "pill10" /obj/item/reagent_containers/pill/nutriment/Initialize() . = ..() - reagents.add_reagent("nutriment", 30) + reagents.add_reagent(REAGENT_ID_NUTRIMENT, 30) /obj/item/reagent_containers/pill/protein - name = "Protein (30u)" - desc = "Used to feed carnivores on the field. Contains 30 units of Protein." + name = REAGENT_PROTEIN + " (30u)" + desc = "Used to feed carnivores on the field. Contains 30 units of " + REAGENT_PROTEIN + "." icon_state = "pill24" /obj/item/reagent_containers/pill/protein/Initialize() . = ..() - reagents.add_reagent("protein", 30) + reagents.add_reagent(REAGENT_ID_PROTEIN, 30) /obj/item/reagent_containers/pill/rezadone - name = "Rezadone (5u)" + name = REAGENT_REZADONE + " (5u)" desc = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." icon_state = "pill2" /obj/item/reagent_containers/pill/rezadone/Initialize() . = ..() - reagents.add_reagent("rezadone", 5) + reagents.add_reagent(REAGENT_ID_REZADONE, 5) color = reagents.get_color() /obj/item/reagent_containers/pill/peridaxon - name = "Peridaxon (10u)" + name = REAGENT_PERIDAXON + " (10u)" desc = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." icon_state = "pill10" /obj/item/reagent_containers/pill/peridaxon/Initialize() . = ..() - reagents.add_reagent("peridaxon", 10) + reagents.add_reagent(REAGENT_ID_PERIDAXON, 10) /obj/item/reagent_containers/pill/carthatoline - name = "Carthatoline (15u)" - desc = "Carthatoline is strong evacuant used to treat severe poisoning." + name = REAGENT_CARTHATOLINE + " (15u)" + desc = REAGENT_CARTHATOLINE + " is strong evacuant used to treat severe poisoning." icon_state = "pill4" /obj/item/reagent_containers/pill/carthatoline/Initialize() . = ..() - reagents.add_reagent("carthatoline", 15) + reagents.add_reagent(REAGENT_ID_CARTHATOLINE, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/alkysine - name = "Alkysine (10u)" - desc = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." + name = REAGENT_ALKYSINE + " (10u)" + desc = REAGENT_ALKYSINE + " is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." icon_state = "pill3" /obj/item/reagent_containers/pill/alkysine/Initialize() . = ..() - reagents.add_reagent("alkysine", 10) + reagents.add_reagent(REAGENT_ID_ALKYSINE, 10) color = reagents.get_color() /obj/item/reagent_containers/pill/imidazoline - name = "Imidazoline (15u)" + name = REAGENT_IMIDAZOLINE + " (15u)" desc = "Heals eye damage." icon_state = "pill3" /obj/item/reagent_containers/pill/imidazoline/Initialize() . = ..() - reagents.add_reagent("imidazoline", 15) + reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/osteodaxon - name = "Osteodaxon (25u)" + name = REAGENT_OSTEODAXON + " (25u)" desc = "An experimental drug used to heal bone fractures." icon_state = "pill2" /obj/item/reagent_containers/pill/osteodaxon/Initialize() . = ..() - reagents.add_reagent("osteodaxon", 15) - reagents.add_reagent("inaprovaline", 10) + reagents.add_reagent(REAGENT_ID_OSTEODAXON, 15) + reagents.add_reagent(REAGENT_ID_INAPROVALINE, 10) color = reagents.get_color() /obj/item/reagent_containers/pill/myelamine - name = "Myelamine (25u)" + name = REAGENT_MYELAMINE + " (25u)" desc = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." icon_state = "pill1" /obj/item/reagent_containers/pill/myelamine/Initialize() . = ..() - reagents.add_reagent("myelamine", 15) - reagents.add_reagent("inaprovaline", 10) + reagents.add_reagent(REAGENT_ID_MYELAMINE, 15) + reagents.add_reagent(REAGENT_ID_INAPROVALINE, 10) color = reagents.get_color() /obj/item/reagent_containers/pill/hyronalin - name = "Hyronalin (15u)" - desc = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." + name = REAGENT_HYRONALIN + " (15u)" + desc = REAGENT_HYRONALIN + " is a medicinal drug used to counter the effect of radiation poisoning." icon_state = "pill4" /obj/item/reagent_containers/pill/hyronalin/Initialize() . = ..() - reagents.add_reagent("hyronalin", 15) + reagents.add_reagent(REAGENT_ID_HYRONALIN, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/arithrazine - name = "Arithrazine (5u)" - desc = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." + name = REAGENT_ARITHRAZINE + " (5u)" + desc = REAGENT_ARITHRAZINE + " is an unstable medication used for the most extreme cases of radiation poisoning." icon_state = "pill2" /obj/item/reagent_containers/pill/arithrazine/Initialize() . = ..() - reagents.add_reagent("arithrazine", 5) + reagents.add_reagent(REAGENT_ID_ARITHRAZINE, 5) color = reagents.get_color() /obj/item/reagent_containers/pill/corophizine - name = "Corophizine (5u)" + name = REAGENT_COROPHIZINE + " (5u)" desc = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." icon_state = "pill2" /obj/item/reagent_containers/pill/corophizine/Initialize() . = ..() - reagents.add_reagent("corophizine", 5) + reagents.add_reagent(REAGENT_ID_COROPHIZINE, 5) color = reagents.get_color() /obj/item/reagent_containers/pill/vermicetol - name = "Vermicetol (15u)" + name = REAGENT_VERMICETOL + " (15u)" desc = "An extremely potent drug to treat physical injuries." icon_state = "pill1" /obj/item/reagent_containers/pill/vermicetol/Initialize() . = ..() - reagents.add_reagent("vermicetol", 15) + reagents.add_reagent(REAGENT_ID_VERMICETOL, 15) color = reagents.get_color() /obj/item/reagent_containers/pill/healing_nanites - name = "Healing nanites (30u)" + name = REAGENT_HEALINGNANITES + " (30u)" desc = "Miniature medical robots that swiftly restore bodily damage." icon_state = "pill1" /obj/item/reagent_containers/pill/healing_nanites/Initialize() . = ..() - reagents.add_reagent("healing_nanites", 30) + reagents.add_reagent(REAGENT_ID_HEALINGNANITES, 30) color = reagents.get_color() /obj/item/reagent_containers/pill/sleevingcure - name = "Vey-Med Resleeving Booster pill (1u)" //YW Edit - desc = "A rare medication provided by Vey-Med that helps counteract negative side effects of using resleeving machinery. Numb tongue before swallowing." //YW Edit + name = REAGENT_SLEEVINGCURE + " (1u)" + desc = "A rare cure provided by Vey-Med that helps counteract negative side effects of using imperfect resleeving machinery." icon_state = "pill3" /obj/item/reagent_containers/pill/sleevingcure/Initialize() . = ..() - reagents.add_reagent("sleevingcure", 1) + reagents.add_reagent(REAGENT_ID_SLEEVINGCURE, 1) color = reagents.get_color() /obj/item/reagent_containers/pill/airlock @@ -154,5 +154,5 @@ /obj/item/reagent_containers/pill/airlock/New() ..() - reagents.add_reagent("anti_toxin", 15) - reagents.add_reagent("paracetamol", 5) + reagents.add_reagent(REAGENT_ID_ANTITOXIN, 15) + reagents.add_reagent(REAGENT_ID_PARACETAMOL, 5) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index f51bc0b7f4..1e4d441393 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -42,13 +42,13 @@ user.setClickCooldown(4) - if(reagents.has_reagent("sacid")) + if(reagents.has_reagent(REAGENT_ID_SACID)) message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].") log_game("[key_name(user)] fired sulphuric acid from \a [src].") - if(reagents.has_reagent("pacid")) + if(reagents.has_reagent(REAGENT_ID_PACID)) message_admins("[key_name_admin(user)] fired Polyacid from \a [src].") log_game("[key_name(user)] fired Polyacid from \a [src].") - if(reagents.has_reagent("lube")) + if(reagents.has_reagent(REAGENT_ID_LUBE)) message_admins("[key_name_admin(user)] fired Space lube from \a [src].") log_game("[key_name(user)] fired Space lube from \a [src].") return @@ -106,15 +106,15 @@ /obj/item/reagent_containers/spray/cleaner/Initialize() . = ..() - reagents.add_reagent("cleaner", volume) + reagents.add_reagent(REAGENT_ID_CLEANER, volume) /obj/item/reagent_containers/spray/sterilizine - name = "sterilizine" + name = REAGENT_ID_STERILIZINE desc = "Great for hiding incriminating bloodstains and sterilizing scalpels." /obj/item/reagent_containers/spray/sterilizine/Initialize() . = ..() - reagents.add_reagent("sterilizine", volume) + reagents.add_reagent(REAGENT_ID_STERILIZINE, volume) /obj/item/reagent_containers/spray/pepper name = "pepperspray" @@ -129,7 +129,7 @@ /obj/item/reagent_containers/spray/pepper/Initialize() . = ..() - reagents.add_reagent("condensedcapsaicin", 40) + reagents.add_reagent(REAGENT_ID_CONDENSEDCAPSAICIN, 40) /obj/item/reagent_containers/spray/pepper/examine(mob/user) . = ..() @@ -160,7 +160,7 @@ /obj/item/reagent_containers/spray/waterflower/Initialize() . = ..() - reagents.add_reagent("water", 10) + reagents.add_reagent(REAGENT_ID_WATER, 10) /obj/item/reagent_containers/spray/chemsprayer name = "chem sprayer" @@ -198,7 +198,7 @@ return /obj/item/reagent_containers/spray/plantbgone - name = "Plant-B-Gone" + name = REAGENT_PLANTBGONE desc = "Kills those pesky weeds!" icon = 'icons/obj/hydroponics_machines.dmi' icon_state = "plantbgone" @@ -207,7 +207,7 @@ /obj/item/reagent_containers/spray/plantbgone/Initialize() . = ..() - reagents.add_reagent("plantbgone", 100) + reagents.add_reagent(REAGENT_ID_PLANTBGONE, 100) /obj/item/reagent_containers/spray/chemsprayer/hosed name = "hose nozzle" diff --git a/code/modules/reagents/reagent_containers/spray_vr.dm b/code/modules/reagents/reagent_containers/spray_vr.dm index c546410a55..71af9173f4 100644 --- a/code/modules/reagents/reagent_containers/spray_vr.dm +++ b/code/modules/reagents/reagent_containers/spray_vr.dm @@ -9,4 +9,4 @@ /obj/item/reagent_containers/spray/windowsealant/New() ..() - reagents.add_reagent("silicate", 80) \ No newline at end of file + reagents.add_reagent(REAGENT_ID_SILICATE, 80) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 7c5c3cc9c6..37a14f8615 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -106,7 +106,7 @@ return if(ismob(target))//Blood! - if(reagents.has_reagent("blood")) + if(reagents.has_reagent(REAGENT_ID_BLOOD)) to_chat(user, span_notice("There is already a blood sample in this syringe.")) return @@ -338,7 +338,7 @@ /obj/item/reagent_containers/syringe/inaprovaline/Initialize() . = ..() - reagents.add_reagent("inaprovaline", 15) + reagents.add_reagent(REAGENT_ID_INAPROVALINE, 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() @@ -348,7 +348,7 @@ /obj/item/reagent_containers/syringe/antitoxin/Initialize() . = ..() - reagents.add_reagent("anti_toxin", 15) + reagents.add_reagent(REAGENT_ID_ANTITOXIN, 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() @@ -358,7 +358,7 @@ /obj/item/reagent_containers/syringe/antiviral/Initialize() . = ..() - reagents.add_reagent("spaceacillin", 15) + reagents.add_reagent(REAGENT_ID_SPACEACILLIN, 15) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() @@ -368,15 +368,15 @@ /obj/item/reagent_containers/syringe/drugs/Initialize() . = ..() - reagents.add_reagent("bliss", 5) - reagents.add_reagent("mindbreaker", 5) - reagents.add_reagent("cryptobiolin", 5) + reagents.add_reagent(REAGENT_ID_BLISS, 5) + reagents.add_reagent(REAGENT_ID_MINDBREAKER, 5) + reagents.add_reagent(REAGENT_ID_CRYPTOBIOLIN, 5) //mode = SYRINGE_INJECT //VOREStation Edit - Starts capped //update_icon() /obj/item/reagent_containers/syringe/ld50_syringe/choral/Initialize() . = ..() - reagents.add_reagent("chloralhydrate", 50) + reagents.add_reagent(REAGENT_ID_CHLORALHYDRATE, 50) mode = SYRINGE_INJECT update_icon() @@ -386,8 +386,8 @@ /obj/item/reagent_containers/syringe/steroid/Initialize() ..() - //reagents.add_reagent("adrenaline",5) //VOREStation Edit - No thanks. - reagents.add_reagent("hyperzine",10) + //reagents.add_reagent(REAGENT_ID_ADRENALINE,5) //VOREStation Edit - No thanks. + reagents.add_reagent(REAGENT_ID_HYPERZINE,10) /obj/item/reagent_containers/syringe/proc/dirty(var/mob/living/carbon/human/target, var/obj/item/organ/external/eo) if(!ishuman(loc)) diff --git a/code/modules/reagents/reagent_containers/virology.dm b/code/modules/reagents/reagent_containers/virology.dm index a1d4403900..f09c34a4aa 100644 --- a/code/modules/reagents/reagent_containers/virology.dm +++ b/code/modules/reagents/reagent_containers/virology.dm @@ -13,7 +13,7 @@ . = ..() diseases += new /datum/disease/advance/cold data["viruses"] = diseases - reagents.add_reagent("blood", 10, data) + reagents.add_reagent(REAGENT_ID_BLOOD, 10, data) /obj/item/reagent_containers/glass/bottle/culture/flu name = "flu virus culture" @@ -23,4 +23,4 @@ . = ..() diseases += new /datum/disease/advance/flu data["viruses"] = diseases - reagents.add_reagent("blood", 10, data) + reagents.add_reagent(REAGENT_ID_BLOOD, 10, data) diff --git a/code/modules/reagents/reagents/core.dm b/code/modules/reagents/reagents/core.dm index 7de3951a80..3cdaea4dbc 100644 --- a/code/modules/reagents/reagents/core.dm +++ b/code/modules/reagents/reagents/core.dm @@ -1,8 +1,8 @@ /datum/reagent/blood - data = new/list("donor" = null, "viruses" = null, "species" = SPECIES_HUMAN, "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, "antibodies" = list()) - name = "Blood" - id = "blood" - taste_description = "iron" + data = new/list("donor" = null, "viruses" = null, "species" = SPECIES_HUMAN, "blood_DNA" = null, "blood_type" = null, "blood_colour" = "#A10808", "resistances" = null, "trace_chem" = null, REAGENT_ID_ANTIBODIES = list()) + name = REAGENT_BLOOD + id = REAGENT_ID_BLOOD + taste_description = REAGENT_ID_IRON taste_mult = 1.3 reagent_state = LIQUID metabolism = REM * 5 @@ -160,7 +160,7 @@ H.inject_blood(src, removed * volume_mod) if(!H.isSynthetic() && data["species"] == "synthetic") // Remember not to inject oil into your veins, it's bad for you. - H.reagents.add_reagent("toxin", removed * 1.5) + H.reagents.add_reagent(REAGENT_ID_TOXIN, removed * 1.5) return @@ -168,8 +168,8 @@ remove_self(volume) /datum/reagent/blood/synthblood - name = "synthetic blood" - id = "synthblood" + name = REAGENT_SYNTHBLOOD + id = REAGENT_ID_SYNTHBLOOD color = "#999966" volume_mod = 2 @@ -182,38 +182,38 @@ return /datum/reagent/blood/synthblood/dilute - name = "synthetic plasma" - id = "synthblood_dilute" + name = REAGENT_SYNTHBLOOD_DILUTE + id = REAGENT_ID_SYNTHBLOOD_DILUTE color = "#cacaaf" volume_mod = 1.2 // pure concentrated antibodies /datum/reagent/antibodies - data = list("antibodies"=list()) - name = "Antibodies" + data = list(REAGENT_ID_ANTIBODIES=list()) + name = REAGENT_ANTIBODIES taste_description = "slime" - id = "antibodies" + id = REAGENT_ID_ANTIBODIES reagent_state = LIQUID color = "#0050F0" mrate_static = TRUE /datum/reagent/antibodies/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(src.data) - M.antibodies |= src.data["antibodies"] + M.antibodies |= src.data[REAGENT_ID_ANTIBODIES] ..() #define WATER_LATENT_HEAT 19000 // How much heat is removed when applied to a hot turf, in J/unit (19000 makes 120 u of water roughly equivalent to 4L) /datum/reagent/water - name = "Water" - id = "water" - taste_description = "water" + name = REAGENT_WATER + id = REAGENT_ID_WATER + taste_description = REAGENT_ID_WATER description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." reagent_state = LIQUID color = "#0064C877" metabolism = REM * 10 - glass_name = "water" + glass_name = REAGENT_ID_WATER glass_desc = "The father of all refreshments." /datum/reagent/water/touch_turf(var/turf/simulated/T) @@ -301,8 +301,8 @@ #undef WATER_LATENT_HEAT /datum/reagent/fuel - name = "Welding fuel" - id = "fuel" + name = REAGENT_FUEL + id = REAGENT_ID_FUEL description = "Required for welders. Flamable." taste_description = "gross metal" reagent_state = LIQUID diff --git a/code/modules/reagents/reagents/dispenser.dm b/code/modules/reagents/reagents/dispenser.dm index ba48f35a83..9f9a5e7996 100644 --- a/code/modules/reagents/reagents/dispenser.dm +++ b/code/modules/reagents/reagents/dispenser.dm @@ -1,6 +1,6 @@ /datum/reagent/aluminum - name = "Aluminum" - id = "aluminum" + name = REAGENT_ALUMINIUM + id = REAGENT_ID_ALUMINIUM description = "A silvery white and ductile member of the boron group of chemical elements." taste_description = "metal" taste_mult = 1.1 @@ -8,8 +8,8 @@ color = "#A8A8A8" /datum/reagent/calcium - name = "Calcium" - id = "calcium" + name = REAGENT_CALCIUM + id = REAGENT_ID_CALCIUM description = "A chemical element, the building block of bones." taste_description = "metallic chalk" // Apparently, calcium tastes like calcium. taste_mult = 1.3 @@ -29,8 +29,8 @@ //VOREStation Edit End /datum/reagent/carbon - name = "Carbon" - id = "carbon" + name = REAGENT_CARBON + id = REAGENT_ID_CARBON description = "A chemical element, the building block of life." taste_description = "sour chalk" taste_mult = 1.5 @@ -59,8 +59,8 @@ dirtoverlay.alpha = min(dirtoverlay.alpha + volume * 30, 255) /datum/reagent/chlorine - name = "Chlorine" - id = "chlorine" + name = REAGENT_CHLORINE + id = REAGENT_ID_CHLORINE description = "A chemical element with a characteristic odour." taste_description = "pool water" reagent_state = GAS @@ -73,15 +73,15 @@ M.take_organ_damage(1*REM, 0) /datum/reagent/copper - name = "Copper" - id = "copper" + name = REAGENT_COPPER + id = REAGENT_ID_COPPER description = "A highly ductile metal." taste_description = "pennies" color = "#6E3B08" /datum/reagent/ethanol - name = "Ethanol" //Parent class for all alcoholic reagents. - id = "ethanol" + name = REAGENT_ETHANOL //Parent class for all alcoholic reagents. + id = REAGENT_ID_ETHANOL description = "A well-known alcohol with a variety of applications." taste_description = "pure alcohol" reagent_state = LIQUID @@ -99,7 +99,7 @@ var/targ_temp = 310 var/halluci = 0 - glass_name = "ethanol" + glass_name = REAGENT_ID_ETHANOL glass_desc = "A well-known alcohol with a variety of applications." allergen_factor = 1 //simulates mixed drinks containing less of the allergen, as they have only a single actual reagent unlike food @@ -214,8 +214,8 @@ return /datum/reagent/fluorine - name = "Fluorine" - id = "fluorine" + name = REAGENT_FLUORINE + id = REAGENT_ID_FLUORINE description = "A highly-reactive chemical element." taste_description = "acid" reagent_state = GAS @@ -228,24 +228,24 @@ M.adjustToxLoss(removed) /datum/reagent/hydrogen - name = "Hydrogen" - id = "hydrogen" + name = REAGENT_HYDROGEN + id = REAGENT_ID_HYDROGEN description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." taste_mult = 0 //no taste reagent_state = GAS color = "#808080" /datum/reagent/iron - name = "Iron" - id = "iron" + name = REAGENT_IRON + id = REAGENT_ID_IRON description = "Pure iron is a metal." taste_description = "metal" reagent_state = SOLID color = "#353535" /datum/reagent/lithium - name = "Lithium" - id = "lithium" + name = REAGENT_LITHIUM + id = REAGENT_ID_LITHIUM description = "A chemical element, used as antidepressant." taste_description = "metal" reagent_state = SOLID @@ -259,8 +259,8 @@ M.emote(pick("twitch", "drool", "moan")) /datum/reagent/mercury - name = "Mercury" - id = "mercury" + name = REAGENT_MERCURY + id = REAGENT_ID_MERCURY description = "A chemical element." taste_mult = 0 //mercury apparently is tasteless. IDK reagent_state = LIQUID @@ -275,16 +275,16 @@ M.adjustBrainLoss(0.5 * removed) /datum/reagent/nitrogen - name = "Nitrogen" - id = "nitrogen" + name = REAGENT_NITROGEN + id = REAGENT_ID_NITROGEN description = "A colorless, odorless, tasteless gas." taste_mult = 0 //no taste reagent_state = GAS color = "#808080" /datum/reagent/oxygen - name = "Oxygen" - id = "oxygen" + name = REAGENT_OXYGEN + id = REAGENT_ID_OXYGEN description = "A colorless, odorless gas." taste_mult = 0 reagent_state = GAS @@ -295,24 +295,24 @@ M.adjustToxLoss(removed * 3) /datum/reagent/phosphorus - name = "Phosphorus" - id = "phosphorus" + name = REAGENT_PHOSPHORUS + id = REAGENT_ID_PHOSPHORUS description = "A chemical element, the backbone of biological energy carriers." taste_description = "vinegar" reagent_state = SOLID color = "#832828" /datum/reagent/potassium - name = "Potassium" - id = "potassium" + name = REAGENT_POTASSIUM + id = REAGENT_ID_POTASSIUM description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." taste_description = "sweetness" //potassium is bitter in higher doses but sweet in lower ones. reagent_state = SOLID color = "#A0A0A0" /datum/reagent/radium - name = "Radium" - id = "radium" + name = REAGENT_RADIUM + id = REAGENT_ID_RADIUM description = "Radium is an alkaline earth metal. It is extremely radioactive." taste_mult = 0 //Apparently radium is tasteless reagent_state = SOLID @@ -332,8 +332,8 @@ return /datum/reagent/acid - name = "Sulphuric acid" - id = "sacid" + name = REAGENT_SACID + id = REAGENT_ID_SACID description = "A very corrosive mineral acid with the molecular formula H2SO4." taste_description = "acid" reagent_state = LIQUID @@ -424,31 +424,31 @@ remove_self(meltdose) // 10 units of acid will not melt EVERYTHING on the tile /datum/reagent/silicon - name = "Silicon" - id = "silicon" + name = REAGENT_SILICON + id = REAGENT_ID_SILICON description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." taste_mult = 0 reagent_state = SOLID color = "#A8A8A8" /datum/reagent/sodium - name = "Sodium" - id = "sodium" + name = REAGENT_SODIUM + id = REAGENT_ID_SODIUM description = "A chemical element, readily reacts with water." taste_description = "salty metal" reagent_state = SOLID color = "#808080" /datum/reagent/sugar - name = "Sugar" - id = "sugar" + name = REAGENT_SUGAR + id = REAGENT_ID_SUGAR description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." taste_description = "sugar" taste_mult = 1.8 reagent_state = SOLID color = "#FFFFFF" - glass_name = "sugar" + glass_name = REAGENT_ID_SUGAR glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." glass_icon = DRINK_ICON_NOISY @@ -474,16 +474,16 @@ M.drowsyness = max(M.drowsyness, 60) /datum/reagent/sulfur - name = "Sulfur" - id = "sulfur" + name = REAGENT_SULFUR + id = REAGENT_ID_SULFUR description = "A chemical element with a pungent smell." taste_description = "old eggs" reagent_state = SOLID color = "#BF8C00" /datum/reagent/tungsten - name = "Tungsten" - id = "tungsten" + name = REAGENT_TUNGSTEN + id = REAGENT_ID_TUNGSTEN description = "A chemical element, and a strong oxidising agent." taste_description = "metal" taste_mult = 0 //no taste diff --git a/code/modules/reagents/reagents/drugs.dm b/code/modules/reagents/reagents/drugs.dm index 8ce249cfe1..ee199f76a2 100644 --- a/code/modules/reagents/reagents/drugs.dm +++ b/code/modules/reagents/reagents/drugs.dm @@ -4,8 +4,8 @@ */ /datum/reagent/drugs - name = "generic drugs" - id = "drugs" + name = REAGENT_DRUGS + id = REAGENT_ID_DRUGS description = "Some generic drugs." taste_description = "a bad investment" taste_mult = 1.2 /// The overwhelming flavor of a good(?) time! @@ -40,8 +40,8 @@ prob_proc = TRUE /datum/reagent/drugs/bliss /// Replaces Space Drugs. - name = "Bliss" - id = "bliss" + name = REAGENT_BLISS + id = REAGENT_ID_BLISS description = "Known for providing a euphoric high, this psychoactive drug is often used recreationally." taste_description = "unpleasant bitterness" taste_mult = 0.4 @@ -80,8 +80,8 @@ ..() /datum/reagent/drugs/ambrosia_extract - name = "Ambrosia extract" - id = "ambrosia_extract" + name = REAGENT_AMBROSIAEXTRACT + id = REAGENT_ID_AMBROSIAEXTRACT description = "The extract from the plant family ambrosia, responsible for the more \"recreational\" effects." taste_description = "a strong-tasting plant" color = "#358f49" @@ -120,8 +120,8 @@ prob_proc = FALSE /datum/reagent/drugs/psilocybin - name = "Psilocybin" - id = "psilocybin" + name = REAGENT_PSILOCYBIN + id = REAGENT_ID_PSILOCYBIN description = "A strong psycotropic derived from certain species of mushroom." taste_description = "mushroom" color = "#E700E7" @@ -172,8 +172,8 @@ prob_proc = FALSE /datum/reagent/drugs/talum_quem - name = "Talum-quem" - id = "talum_quem" + name = REAGENT_TALUMQUEM + id = REAGENT_ID_TALUMQUEM description = " A very carefully tailored hallucinogen, for use of the Talum-Katish." taste_description = "bubblegum" taste_mult = 1.6 @@ -202,8 +202,8 @@ prob_proc = FALSE /datum/reagent/drugs/nicotine - name = "Nicotine" - id = "nicotine" + name = REAGENT_NICOTINE + id = REAGENT_ID_NICOTINE description = "A highly addictive stimulant extracted from the tobacco plant." taste_description = "sour staleness" color = "#181818" @@ -215,8 +215,8 @@ /// Psychiatric drugs use similar mechanics and will go under "drugs". ///// *//////////////////////////////////////////////////////////////////////////// /datum/reagent/drugs/methylphenidate - name = "Methylphenidate" - id = "methylphenidate" + name = REAGENT_METHYLPHENIDATE + id = REAGENT_ID_METHYLPHENIDATE description = "Improves the ability to concentrate." taste_description = "mild grape" ///Referencing real life oral solutions for these meds. color = "#BF80BF" @@ -224,8 +224,8 @@ sober_message_list = list("It becomes harder to focus...", "You feel distractible.") /datum/reagent/drugs/citalopram - name = "Citalopram" - id = "citalopram" + name = REAGENT_CITALOPRAM + id = REAGENT_ID_CITALOPRAM description = "Stabilizes the mind a little." taste_description = "mild peppermint" color = "#FF80FF" @@ -238,8 +238,8 @@ M.fear = max((M.fear - 3),0) /datum/reagent/drugs/paroxetine - name = "Paroxetine" - id = "paroxetine" + name = REAGENT_PAROXETINE + id = REAGENT_ID_PAROXETINE description = "Stabilizes the mind greatly, but has a chance of adverse effects." taste_description = "mild oranges" color = "#FF80BF" @@ -256,8 +256,8 @@ prob_proc = FALSE /datum/reagent/drugs/qerr_quem - name = "Qerr-quem" - id = "qerr_quem" + name = REAGENT_QERRQUEM + id = REAGENT_ID_QERRQUEM description = "A potent sedative and anti-anxiety medication, made for the Qerr-Katish." taste_description = "mint" color = "#e6efe3" diff --git a/code/modules/reagents/reagents/food_drinks.dm b/code/modules/reagents/reagents/food_drinks.dm index 43dad05e8b..419b7f4656 100644 --- a/code/modules/reagents/reagents/food_drinks.dm +++ b/code/modules/reagents/reagents/food_drinks.dm @@ -1,8 +1,8 @@ /* Food */ /datum/reagent/nutriment - name = "Nutriment" - id = "nutriment" + name = REAGENT_NUTRIMENT + id = REAGENT_ID_NUTRIMENT description = "All the vitamins, minerals, and carbohydrates the body needs in pure form." taste_mult = 4 reagent_state = SOLID @@ -74,8 +74,8 @@ Generally coatings are intended for deep frying foods */ /datum/reagent/nutriment/coating - name = "coating" - id = "coating" + name = REAGENT_COATING + id = REAGENT_ID_COATING nutriment_factor = 6 //Less dense than the food itself, but coatings still add extra calories var/messaged = 0 var/icon_raw @@ -121,9 +121,9 @@ data["cooked"] = newdata["cooked"] /datum/reagent/nutriment/coating/batter - name = "batter mix" - cooked_name = "batter" - id = "batter" + name = REAGENT_BATTER + cooked_name = REAGENT_ID_BATTER + id = REAGENT_ID_BATTER color = "#f5f4e9" reagent_state = LIQUID icon_raw = "batter_raw" @@ -132,9 +132,9 @@ allergen_type = ALLERGEN_GRAINS | ALLERGEN_EGGS //Made with flour(grain), and eggs(eggs) /datum/reagent/nutriment/coating/beerbatter - name = "beer batter mix" + name = REAGENT_BEERBATTER cooked_name = "beer batter" - id = "beerbatter" + id = REAGENT_ID_BEERBATTER color = "#f5f4e9" reagent_state = LIQUID icon_raw = "batter_raw" @@ -150,8 +150,8 @@ //Fats //========================= /datum/reagent/nutriment/triglyceride - name = "triglyceride" - id = "triglyceride" + name = REAGENT_TRIGLYCERIDE + id = REAGENT_ID_TRIGLYCERIDE description = "More commonly known as fat, the third macronutrient, with over double the energy content of carbs and protein" reagent_state = SOLID @@ -162,8 +162,8 @@ /datum/reagent/nutriment/triglyceride/oil //Having this base class incase we want to add more variants of oil - name = "Oil" - id = "oil" + name = REAGENT_OIL + id = REAGENT_ID_OIL description = "Oils are liquid fats." reagent_state = LIQUID taste_description = "oil" @@ -242,21 +242,21 @@ lastburnmessage = world.time /datum/reagent/nutriment/triglyceride/oil/cooking - name = "Cooking Oil" - id = "cookingoil" + name = REAGENT_COOKINGOIL + id = REAGENT_ID_COOKINGOIL description = "A general-purpose cooking oil." reagent_state = LIQUID /datum/reagent/nutriment/triglyceride/oil/corn - name = "Corn Oil" - id = "cornoil" + name = REAGENT_CORNOIL + id = REAGENT_ID_CORNOIL description = "An oil derived from various types of corn." reagent_state = LIQUID allergen_type = ALLERGEN_VEGETABLE //Corn is a vegetable /datum/reagent/nutriment/triglyceride/oil/peanut - name = "Peanut Oil" - id = "peanutoil" + name = REAGENT_PEANUTOIL + id = REAGENT_ID_PEANUTOIL description = "An oil derived from various types of nuts." taste_description = "nuts" taste_mult = 0.3 @@ -267,8 +267,8 @@ // Aurora Cooking Port Insertion End /datum/reagent/nutriment/glucose - name = "Glucose" - id = "glucose" + name = REAGENT_GLUCOSE + id = REAGENT_ID_GLUCOSE taste_description = "sweetness" color = "#FFFFFF" cup_prefix = "sweetened" @@ -276,8 +276,8 @@ injectable = 1 /datum/reagent/nutriment/protein // Bad for Skrell! - name = "animal protein" - id = "protein" + name = REAGENT_PROTEIN + id = REAGENT_ID_PROTEIN taste_description = "some sort of meat" color = "#440000" allergen_type = ALLERGEN_MEAT //"Animal protein" implies it comes from animals, therefore meat. @@ -296,57 +296,57 @@ ..() /datum/reagent/nutriment/protein/tofu - name = "tofu protein" - id = "tofu" + name = REAGENT_TOFU + id = REAGENT_ID_TOFU color = "#fdffa8" taste_description = "tofu" allergen_type = ALLERGEN_BEANS //Made from soy beans /datum/reagent/nutriment/protein/seafood - name = "seafood protein" - id = "seafood" + name = REAGENT_SEAFOOD + id = REAGENT_ID_SEAFOOD color = "#f5f4e9" taste_description = "fish" allergen_type = ALLERGEN_FISH //I suppose the fish allergy likely refers to seafood in general. /datum/reagent/nutriment/protein/cheese - name = "cheese" - id = "cheese" + name = REAGENT_CHEESE + id = REAGENT_ID_CHEESE color = "#EDB91F" taste_description = "cheese" allergen_type = ALLERGEN_DAIRY //Cheese is made from dairy cup_prefix = "cheesy" /datum/reagent/nutriment/protein/egg - name = "egg yolk" - id = "egg" + name = REAGENT_EGG + id = REAGENT_ID_EGG taste_description = "egg" color = "#FFFFAA" allergen_type = ALLERGEN_EGGS //Eggs contain egg cup_prefix = "eggy" /datum/reagent/nutriment/protein/murk - name = "murkfin protein" - id = "murk_protein" + name = REAGENT_MURK_PROTEIN + id = REAGENT_ID_MURK_PROTEIN taste_description = "mud" color = "#664330" allergen_type = ALLERGEN_FISH //Murkfin is fish /datum/reagent/nutriment/protein/bean - name = "beans" - id = "bean_protein" + name = REAGENT_BEANPROTEIN + id = REAGENT_ID_BEANPROTEIN taste_description = "beans" color = "#562e0b" allergen_type = ALLERGEN_BEANS //Made from soy beans /datum/reagent/nutriment/honey - name = "Honey" - id = "honey" + name = REAGENT_HONEY + id = REAGENT_ID_HONEY description = "A golden yellow syrup, loaded with sugary sweetness." taste_description = "sweetness" nutriment_factor = 10 color = "#FFFF00" - cup_prefix = "honey" + cup_prefix = REAGENT_ID_HONEY /datum/reagent/nutriment/honey/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -370,26 +370,26 @@ M.drowsyness = max(M.drowsyness, 60) /datum/reagent/nutriment/mayo - name = "mayonnaise" - id = "mayo" + name = REAGENT_MAYO + id = REAGENT_ID_MAYO description = "A thick, bitter sauce." taste_description = "unmistakably mayonnaise" nutriment_factor = 10 color = "#FFFFFF" allergen_type = ALLERGEN_EGGS //Mayo is made from eggs - cup_prefix = "mayo" + cup_prefix = REAGENT_ID_MAYO /datum/reagent/nutriment/yeast - name = "Yeast" - id = "yeast" + name = REAGENT_YEAST + id = REAGENT_ID_YEAST description = "For making bread rise!" taste_description = "yeast" nutriment_factor = 1 color = "#D3AF70" /datum/reagent/nutriment/flour - name = "Flour" - id = "flour" + name = REAGENT_FLOUR + id = REAGENT_ID_FLOUR description = "This is what you rub all over yourself to pretend to be a ghost." taste_description = "chalky wheat" reagent_state = SOLID @@ -403,8 +403,8 @@ new /obj/effect/decal/cleanable/flour(T) /datum/reagent/nutriment/coffee - name = "Coffee Powder" - id = "coffeepowder" + name = REAGENT_COFFEEPOWDER + id = REAGENT_ID_COFFEEPOWDER description = "A bitter powder made by grinding coffee beans." taste_description = "bitterness" taste_mult = 1.3 @@ -413,8 +413,8 @@ allergen_type = ALLERGEN_COFFEE | ALLERGEN_STIMULANT //Again, coffee contains coffee /datum/reagent/nutriment/tea - name = "Tea Powder" - id = "teapowder" + name = REAGENT_TEAPOWDER + id = REAGENT_ID_TEAPOWDER description = "A dark, tart powder made from black tea leaves." taste_description = "tartness" taste_mult = 1.3 @@ -423,8 +423,8 @@ allergen_type = ALLERGEN_STIMULANT //Strong enough to contain caffeine /datum/reagent/nutriment/decaf_tea - name = "Decaf Tea Powder" - id = "decafteapowder" + name = REAGENT_DECAFTEAPOWDER + id = REAGENT_ID_DECAFTEAPOWDER description = "A dark, tart powder made from black tea leaves, treated to remove caffeine content." taste_description = "tartness" taste_mult = 1.3 @@ -432,8 +432,8 @@ color = "#101000" /datum/reagent/nutriment/coco - name = "Coco Powder" - id = "coco" + name = REAGENT_COCO + id = REAGENT_ID_COCO description = "A fatty, bitter paste made from coco beans." taste_description = "bitterness" taste_mult = 1.3 @@ -441,62 +441,62 @@ nutriment_factor = 5 color = "#302000" allergen_type = ALLERGEN_CHOCOLATE - cup_prefix = "coco" + cup_prefix = REAGENT_ID_COCO /datum/reagent/nutriment/chocolate - name = "Chocolate" - id = "chocolate" + name = REAGENT_CHOCOLATE + id = REAGENT_ID_CHOCOLATE description = "Great for cooking or on its own!" taste_description = "chocolate" color = "#582815" nutriment_factor = 5 taste_mult = 1.3 allergen_type = ALLERGEN_CHOCOLATE - cup_prefix = "chocolate" + cup_prefix = REAGENT_ID_CHOCOLATE /datum/reagent/nutriment/instantjuice - name = "Juice Powder" - id = "instantjuice" + name = REAGENT_INSTANTJUICE + id = REAGENT_ID_INSTANTJUICE description = "Dehydrated, powdered juice of some kind." taste_mult = 1.3 nutriment_factor = 1 allergen_type = ALLERGEN_FRUIT //I suppose it's implied here that the juice is from dehydrated fruit. /datum/reagent/nutriment/instantjuice/grape - name = "Grape Juice Powder" - id = "instantgrape" + name = REAGENT_INSTANTGRAPE + id = REAGENT_ID_INSTANTGRAPE description = "Dehydrated, powdered grape juice." taste_description = "dry grapes" color = "#863333" cup_prefix = "grape" /datum/reagent/nutriment/instantjuice/orange - name = "Orange Juice Powder" - id = "instantorange" + name = REAGENT_INSTANTORANGE + id = REAGENT_ID_INSTANTORANGE description = "Dehydrated, powdered orange juice." taste_description = "dry oranges" color = "#e78108" cup_prefix = "orange" /datum/reagent/nutriment/instantjuice/watermelon - name = "Watermelon Juice Powder" - id = "instantwatermelon" + name = REAGENT_INSTANTWATERMELON + id = REAGENT_ID_INSTANTWATERMELON description = "Dehydrated, powdered watermelon juice." taste_description = "dry sweet watermelon" color = "#b83333" cup_prefix = "melon" /datum/reagent/nutriment/instantjuice/apple - name = "Apple Juice Powder" - id = "instantapple" + name = REAGENT_INSTANTAPPLE + id = REAGENT_ID_INSTANTAPPLE description = "Dehydrated, powdered apple juice." taste_description = "dry sweet apples" color = "#c07c40" cup_prefix = "apple" /datum/reagent/nutriment/soysauce - name = "Soy Sauce" - id = "soysauce" + name = REAGENT_SOYSAUCE + id = REAGENT_ID_SOYSAUCE description = "A salty sauce made from the soy plant." taste_description = "umami" taste_mult = 1.1 @@ -507,8 +507,8 @@ cup_prefix = "umami" /datum/reagent/nutriment/vinegar - name = "Vinegar" - id = "vinegar" + name = REAGENT_VINEGAR + id = REAGENT_ID_VINEGAR description = "vinegar, great for fish and pickles." taste_description = "vinegar" reagent_state = LIQUID @@ -517,8 +517,8 @@ cup_prefix = "acidic" /datum/reagent/nutriment/ketchup - name = "Ketchup" - id = "ketchup" + name = REAGENT_KETCHUP + id = REAGENT_ID_KETCHUP description = "Ketchup, catsup, whatever. It's tomato paste." taste_description = "ketchup" reagent_state = LIQUID @@ -528,28 +528,28 @@ cup_prefix = "tomato" /datum/reagent/nutriment/mustard - name = "Mustard" - id = "mustard" + name = REAGENT_MUSTARD + id = REAGENT_ID_MUSTARD description = "Delicious mustard. Good on Hot Dogs." taste_description = "mustard" reagent_state = LIQUID nutriment_factor = 5 color = "#E3BD00" - cup_prefix = "mustard" + cup_prefix = REAGENT_ID_MUSTARD /datum/reagent/nutriment/barbecue - name = "Barbeque Sauce" - id = "barbecue" + name = REAGENT_BARBECUE + id = REAGENT_ID_BARBECUE description = "Barbecue sauce for barbecues and long shifts." taste_description = "barbeque" reagent_state = LIQUID nutriment_factor = 5 color = "#4F330F" - cup_prefix = "barbecue" + cup_prefix = REAGENT_ID_BARBECUE /datum/reagent/nutriment/rice - name = "Rice" - id = "rice" + name = REAGENT_RICE + id = REAGENT_ID_RICE description = "Enjoy the great taste of nothing." taste_description = "rice" taste_mult = 0.4 @@ -558,8 +558,8 @@ color = "#FFFFFF" /datum/reagent/nutriment/cherryjelly - name = "Cherry Jelly" - id = "cherryjelly" + name = REAGENT_CHERRYJELLY + id = REAGENT_ID_CHERRYJELLY description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." taste_description = "cherry" taste_mult = 1.3 @@ -569,8 +569,8 @@ allergen_type = ALLERGEN_FRUIT //Cherries are fruits /datum/reagent/nutriment/peanutbutter - name = "Peanut Butter" - id = "peanutbutter" + name = REAGENT_PEANUTBUTTER + id = REAGENT_ID_PEANUTBUTTER description = "A butter derived from various types of nuts." taste_description = "peanuts" taste_mult = 0.5 @@ -581,19 +581,19 @@ cup_prefix = "peanut butter" /datum/reagent/nutriment/vanilla - name = "Vanilla Extract" - id = "vanilla" + name = REAGENT_VANILLA + id = REAGENT_ID_VANILLA description = "Vanilla extract. Tastes suspiciously like boring ice-cream." taste_description = "vanilla" taste_mult = 5 reagent_state = LIQUID nutriment_factor = 2 color = "#0F0A00" - cup_prefix = "vanilla" + cup_prefix = REAGENT_ID_VANILLA /datum/reagent/nutriment/durian - name = "Durian Paste" - id = "durianpaste" + name = REAGENT_DURIANPASTE + id = REAGENT_ID_DURIANPASTE description = "A strangely sweet and savory paste." taste_description = "sweet and savory" color = "#757631" @@ -619,8 +619,8 @@ return ..() /datum/reagent/nutriment/virus_food - name = "Virus Food" - id = "virusfood" + name = REAGENT_VIRUSFOOD + id = REAGENT_ID_VIRUSFOOD description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." taste_description = "vomit" taste_mult = 2 @@ -630,8 +630,8 @@ allergen_type = ALLERGEN_DAIRY //incase anyone is dumb enough to drink it - it does contain milk! /datum/reagent/nutriment/sprinkles - name = "Sprinkles" - id = "sprinkles" + name = REAGENT_SPRINKLES + id = REAGENT_ID_SPRINKLES description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." taste_description = "sugar" nutriment_factor = 1 @@ -639,8 +639,8 @@ cup_prefix = "sprinkled" /datum/reagent/nutriment/mint - name = "Mint" - id = "mint" + name = REAGENT_MINT + id = REAGENT_ID_MINT description = "Also known as Mentha." taste_description = "mint" reagent_state = LIQUID @@ -648,8 +648,8 @@ cup_prefix = "minty" /datum/reagent/lipozine // The anti-nutriment. - name = "Lipozine" - id = "lipozine" + name = REAGENT_LIPOZINE + id = REAGENT_ID_LIPOZINE description = "A chemical compound that causes a powerful fat-burning reaction." taste_description = "mothballs" reagent_state = LIQUID @@ -662,8 +662,8 @@ /* Non-food stuff like condiments */ /datum/reagent/sodiumchloride - name = "Table Salt" - id = "sodiumchloride" + name = REAGENT_SODIUMCHLORIDE + id = REAGENT_ID_SODIUMCHLORIDE description = "A salt made of sodium chloride. Commonly used to season food." taste_description = "salt" reagent_state = SOLID @@ -683,8 +683,8 @@ affect_blood(M, alien, passthrough) /datum/reagent/blackpepper - name = "Black Pepper" - id = "blackpepper" + name = REAGENT_BLACKPEPPER + id = REAGENT_ID_BLACKPEPPER description = "A powder ground from peppercorns. *AAAACHOOO*" taste_description = "pepper" reagent_state = SOLID @@ -693,8 +693,8 @@ cup_prefix = "peppery" /datum/reagent/enzyme - name = "Universal Enzyme" - id = "enzyme" + name = REAGENT_ENZYME + id = REAGENT_ID_ENZYME description = "A universal enzyme used in the preperation of certain chemicals and foods." taste_description = "sweetness" taste_mult = 0.7 @@ -703,31 +703,31 @@ overdose = REAGENTS_OVERDOSE /datum/reagent/spacespice - name = "Wurmwoad" - id = "spacespice" + name = REAGENT_SPACESPICE + id = REAGENT_ID_SPACESPICE description = "An exotic blend of spices for cooking. Definitely not worms." reagent_state = SOLID color = "#e08702" cup_prefix = "spicy" /datum/reagent/browniemix - name = "Brownie Mix" - id = "browniemix" + name = REAGENT_BROWNIEMIX + id = REAGENT_ID_BROWNIEMIX description = "A dry mix for making delicious brownies." reagent_state = SOLID color = "#441a03" allergen_type = ALLERGEN_CHOCOLATE /datum/reagent/cakebatter - name = "Cake Batter" - id = "cakebatter" + name = REAGENT_CAKEBATTER + id = REAGENT_ID_CAKEBATTER description = "A batter for making delicious cakes." reagent_state = LIQUID color = "#F0EDDA" /datum/reagent/frostoil - name = "Frost Oil" - id = "frostoil" + name = REAGENT_FROSTOIL + id = REAGENT_ID_FROSTOIL description = "A special oil that noticably chills the body. Extracted from Ice Peppers." taste_description = "mint" taste_mult = 1.5 @@ -741,7 +741,7 @@ M.bodytemperature = min(M.bodytemperature, max(M.bodytemperature - 10 * TEMPERATURE_DAMAGE_COEFFICIENT, 215)) if(prob(1)) M.emote("shiver") - holder.remove_reagent("capsaicin", 5) + holder.remove_reagent(REAGENT_ID_CAPSAICIN, 5) /datum/reagent/frostoil/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) // Eating frostoil now acts like capsaicin. Wee! if(alien == IS_DIONA) @@ -763,19 +763,19 @@ M.bodytemperature -= rand(1, 5) * M.species.spice_mod // Really fucks you up, cause it makes you cold. if(prob(5)) M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are freezing!"), span_danger("Your insides feel like they're turning to ice!"))) - // holder.remove_reagent("capsaicin", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. + // holder.remove_reagent(REAGENT_ID_CAPSAICIN, 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /datum/reagent/frostoil/cryotoxin //A longer lasting version of frost oil. - name = "Cryotoxin" - id = "cryotoxin" + name = REAGENT_CRYOTOXIN + id = REAGENT_ID_CRYOTOXIN description = "Lowers the body's internal temperature." reagent_state = LIQUID color = "#B31008" metabolism = REM * 0.5 /datum/reagent/capsaicin - name = "Capsaicin Oil" - id = "capsaicin" + name = REAGENT_CAPSAICIN + id = REAGENT_ID_CAPSAICIN description = "This is what makes chilis hot." taste_description = "hot peppers" taste_mult = 1.5 @@ -810,11 +810,11 @@ M.bodytemperature += rand(1, 5) * M.species.spice_mod // Really fucks you up, cause it makes you overheat, too. if(prob(5)) M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are burning!"), span_danger("You feel like your insides are on fire!"), span_danger("You feel like your belly is full of lava!"))) - // holder.remove_reagent("frostoil", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. + // holder.remove_reagent(REAGENT_ID_FROSTOIL, 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /datum/reagent/condensedcapsaicin - name = "Condensed Capsaicin" - id = "condensedcapsaicin" + name = REAGENT_CONDENSEDCAPSAICIN + id = REAGENT_ID_CONDENSEDCAPSAICIN description = "A chemical agent used for self-defense and in police work." taste_description = "fire" taste_mult = 10 @@ -955,13 +955,13 @@ M.apply_effect(4, AGONY, 0) if(prob(5)) M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), span_danger("You feel like your insides are burning!")) - // holder.remove_reagent("frostoil", 5) // VOREStation Edit: Nop, we don't instadelete spices for free. + // holder.remove_reagent(REAGENT_ID_FROSTOIL, 5) // VOREStation Edit: Nop, we don't instadelete spices for free. /* Drinks */ /datum/reagent/drink - name = "Drink" - id = "drink" + name = REAGENT_DRINK + id = REAGENT_ID_DRINK description = "Uh, some kind of drink." ingest_met = REM reagent_state = LIQUID @@ -1002,8 +1002,8 @@ // Juices /datum/reagent/drink/juice/banana - name = "Banana Juice" - id = "banana" + name = REAGENT_BANANA + id = REAGENT_ID_BANANA description = "The raw essence of a banana." taste_description = "banana" color = "#C3AF00" @@ -1011,11 +1011,11 @@ glass_name = "banana juice" glass_desc = "The raw essence of a banana. HONK!" allergen_type = ALLERGEN_FRUIT //Bananas are fruit - cup_prefix = "banana" + cup_prefix = REAGENT_ID_BANANA /datum/reagent/drink/juice/berry - name = "Berry Juice" - id = "berryjuice" + name = REAGENT_BERRYJUICE + id = REAGENT_ID_BERRYJUICE description = "A delicious blend of several different kinds of berries." taste_description = "berries" color = "#990066" @@ -1026,8 +1026,8 @@ cup_prefix = "berry" /datum/reagent/drink/juice/pineapple - name = "Pineapple Juice" - id = "pineapplejuice" + name = REAGENT_PINEAPPLEJUICE + id = REAGENT_ID_PINEAPPLEJUICE description = "A sour but refreshing juice from a pineapple." taste_description = "pineapple" color = "#C3AF00" @@ -1038,8 +1038,8 @@ cup_prefix = "pineapple" /datum/reagent/drink/juice/carrot - name = "Carrot juice" - id = "carrotjuice" + name = REAGENT_CARROTJUICE + id = REAGENT_ID_CARROTJUICE description = "It is just like a carrot but without crunching." taste_description = "carrots" color = "#FF8C00" // rgb: 255, 140, 0 @@ -1051,11 +1051,11 @@ /datum/reagent/drink/juice/carrot/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() - M.reagents.add_reagent("imidazoline", removed * 0.2) + M.reagents.add_reagent(REAGENT_ID_IMIDAZOLINE, removed * 0.2) /datum/reagent/drink/juice/lettuce - name = "Lettuce Juice" - id = "lettucejuice" + name = REAGENT_LETTUCEJUICE + id = REAGENT_ID_LETTUCEJUICE description = "It's mostly water, just a bit more lettucy." taste_description = "fresh greens" color = "#29df4b" @@ -1065,8 +1065,8 @@ cup_prefix = "lettuce" /datum/reagent/drink/juice - name = "Grape Juice" - id = "grapejuice" + name = REAGENT_GRAPEJUICE + id = REAGENT_ID_GRAPEJUICE description = "It's grrrrrape!" taste_description = "grapes" color = "#863333" @@ -1100,8 +1100,8 @@ M.drowsyness = max(M.drowsyness, 60) /datum/reagent/drink/juice/lemon - name = "Lemon Juice" - id = "lemonjuice" + name = REAGENT_LEMONJUICE + id = REAGENT_ID_LEMONJUICE description = "This juice is VERY sour." taste_description = "sourness" taste_mult = 1.1 @@ -1114,8 +1114,8 @@ /datum/reagent/drink/juice/apple - name = "Apple Juice" - id = "applejuice" + name = REAGENT_APPLEJUICE + id = REAGENT_ID_APPLEJUICE description = "The most basic juice." taste_description = "crispness" taste_mult = 1.1 @@ -1127,8 +1127,8 @@ cup_prefix = "apple" /datum/reagent/drink/juice/lime - name = "Lime Juice" - id = "limejuice" + name = REAGENT_LIMEJUICE + id = REAGENT_ID_LIMEJUICE description = "The sweet-sour juice of limes." taste_description = "sourness" taste_mult = 1.8 @@ -1146,8 +1146,8 @@ M.adjustToxLoss(-0.5 * removed) /datum/reagent/drink/juice/orange - name = "Orange juice" - id = "orangejuice" + name = REAGENT_ORANGEJUICE + id = REAGENT_ID_ORANGEJUICE description = "Both delicious AND rich in Vitamin C, what more do you need?" taste_description = "oranges" color = "#E78108" @@ -1164,8 +1164,8 @@ M.adjustOxyLoss(-2 * removed) /datum/reagent/toxin/poisonberryjuice // It has more in common with toxins than drinks... but it's a juice - name = "Poison Berry Juice" - id = "poisonberryjuice" + name = REAGENT_POISONBERRYJUICE + id = REAGENT_ID_POISONBERRYJUICE description = "A tasty juice blended from various kinds of very deadly and toxic berries." taste_description = "berries" color = "#863353" @@ -1176,8 +1176,8 @@ cup_prefix = "poison" /datum/reagent/drink/juice/potato - name = "Potato Juice" - id = "potatojuice" + name = REAGENT_POTATOJUICE + id = REAGENT_ID_POTATOJUICE description = "Juice of the potato. Bleh." taste_description = "potatoes" nutrition = 2 @@ -1190,8 +1190,8 @@ cup_prefix = "potato" /datum/reagent/drink/juice/turnip - name = "Turnip Juice" - id = "turnipjuice" + name = REAGENT_TURNIPJUICE + id = REAGENT_ID_TURNIPJUICE description = "Juice of the turnip. A step below the potato." taste_description = "turnips" nutrition = 2 @@ -1204,8 +1204,8 @@ cup_prefix = "turnip" /datum/reagent/drink/juice/tomato - name = "Tomato Juice" - id = "tomatojuice" + name = REAGENT_TOMATOJUICE + id = REAGENT_ID_TOMATOJUICE description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" taste_description = "tomatoes" color = "#731008" @@ -1223,8 +1223,8 @@ M.heal_organ_damage(0, 0.5 * removed) /datum/reagent/drink/juice/watermelon - name = "Watermelon Juice" - id = "watermelonjuice" + name = REAGENT_WATERMELONJUICE + id = REAGENT_ID_WATERMELONJUICE description = "Delicious juice made from watermelon." taste_description = "sweet watermelon" color = "#B83333" @@ -1237,23 +1237,23 @@ // Everything else /datum/reagent/drink/milk - name = "Milk" - id = "milk" + name = REAGENT_MILK + id = REAGENT_ID_MILK description = "An opaque white liquid produced by the mammary glands of mammals." taste_description = "milk" color = "#DFDFDF" - glass_name = "milk" + glass_name = REAGENT_ID_MILK glass_desc = "White and nutritious goodness!" cup_icon_state = "cup_cream" - cup_name = "milk" + cup_name = REAGENT_ID_MILK cup_desc = "White and nutritious goodness!" allergen_type = ALLERGEN_DAIRY //Milk is dairy /datum/reagent/drink/milk/chocolate - name = "Chocolate Milk" - id = "chocolate_milk" + name = REAGENT_CHOCOLATEMILK + id = REAGENT_ID_CHOCOLATEMILK description = "A delicious mixture of perfectly healthy mix and terrible chocolate." taste_description = "chocolate milk" color = "#74533b" @@ -1271,7 +1271,7 @@ if(alien == IS_DIONA) return M.heal_organ_damage(0.5 * removed, 0) - holder.remove_reagent("capsaicin", 10 * removed) + holder.remove_reagent(REAGENT_ID_CAPSAICIN, 10 * removed) //VOREStation Edit if(ishuman(M) && rand(1,10000) == 1) var/mob/living/carbon/human/H = M @@ -1284,23 +1284,23 @@ //VOREStation Edit End /datum/reagent/drink/milk/cream - name = "Cream" - id = "cream" + name = REAGENT_CREAM + id = REAGENT_ID_CREAM description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" taste_description = "thick milk" color = "#DFD7AF" - glass_name = "cream" + glass_name = REAGENT_ID_CREAM glass_desc = "Ewwww..." cup_icon_state = "cup_cream" - cup_name = "cream" + cup_name = REAGENT_ID_CREAM cup_desc = "Ewwww..." allergen_type = ALLERGEN_DAIRY //Cream is dairy /datum/reagent/drink/milk/soymilk - name = "Soy Milk" - id = "soymilk" + name = REAGENT_SOYMILK + id = REAGENT_ID_SOYMILK description = "An opaque white liquid made from soybeans." taste_description = "soy milk" color = "#DFDFC7" @@ -1309,13 +1309,13 @@ glass_desc = "White and nutritious soy goodness!" cup_icon_state = "cup_cream" - cup_name = "milk" + cup_name = REAGENT_ID_MILK cup_desc = "White and nutritious goodness!" allergen_type = ALLERGEN_BEANS //Would be made from soy beans /datum/reagent/drink/milk/foam - name = "Milk Foam" - id = "milk_foam" + name = REAGENT_MILKFOAM + id = REAGENT_ID_MILKFOAM description = "Light and airy foamed milk." taste_description = "airy milk" color = "#eeebdf" @@ -1330,8 +1330,8 @@ /datum/reagent/drink/tea - name = "Tea" - id = "tea" + name = REAGENT_TEA + id = REAGENT_ID_TEA description = "Tasty black tea, it has antioxidants, it's good for you!" taste_description = "black tea" color = "#832700" @@ -1344,7 +1344,7 @@ glass_desc = "Tasty black tea, it has antioxidants, it's good for you!" cup_icon_state = "cup_tea" - cup_name = "tea" + cup_name = REAGENT_ID_TEA cup_desc = "Tasty black tea, it has antioxidants, it's good for you!" allergen_type = ALLERGEN_STIMULANT //Black tea strong enough to have significant caffeine content @@ -1355,8 +1355,8 @@ M.adjustToxLoss(-0.5 * removed) /datum/reagent/drink/tea/decaf - name = "Decaf Tea" - id = "teadecaf" + name = REAGENT_TEADECAF + id = REAGENT_ID_TEADECAF description = "Tasty black tea, it has antioxidants, it's good for you, and won't keep you up at night!" color = "#832700" adj_dizzy = 0 @@ -1372,8 +1372,8 @@ /datum/reagent/drink/tea/icetea - name = "Iced Tea" - id = "icetea" + name = REAGENT_ICETEA + id = REAGENT_ID_ICETEA description = "No relation to a certain rap artist/ actor." taste_description = "sweet tea" color = "#AC7F24" // rgb: 16, 64, 56 @@ -1406,18 +1406,18 @@ //M.adjustToxLoss(5 * removed) //VOREStation Removal /datum/reagent/drink/tea/icetea/decaf - name = "Decaf Iced Tea" + name = REAGENT_ICETEADECAF + id = REAGENT_ID_ICETEADECAF glass_name = "decaf iced tea" cup_name = "decaf iced tea" - id = "iceteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = null /datum/reagent/drink/tea/minttea - name = "Mint Tea" - id = "minttea" + name = REAGENT_MINTTEA + id = REAGENT_ID_MINTTEA description = "A tasty mixture of mint and tea. It's apparently good for you!" color = "#A8442C" taste_description = "black tea with tones of mint" @@ -1429,18 +1429,18 @@ cup_desc = "A tasty mixture of mint and tea. It's apparently good for you!" /datum/reagent/drink/tea/minttea/decaf - name = "Decaf Mint Tea" + name = REAGENT_MINTTEADECAF + id = REAGENT_ID_MINTTEADECAF glass_name = "decaf mint tea" cup_name = "decaf mint tea" - id = "mintteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = null /datum/reagent/drink/tea/lemontea - name = "Lemon Tea" - id = "lemontea" + name = REAGENT_LEMONTEA + id = REAGENT_ID_LEMONTEA description = "A tasty mixture of lemon and tea. It's apparently good for you!" color = "#FC6A00" taste_description = "black tea with tones of lemon" @@ -1453,18 +1453,18 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lemon juice, still tea /datum/reagent/drink/tea/lemontea/decaf - name = "Decaf Lemon Tea" + name = REAGENT_LEMONTEADECAF + id = REAGENT_ID_LEMONTEADECAF glass_name = "decaf lemon tea" cup_name = "decaf lemon tea" - id = "lemonteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = ALLERGEN_FRUIT //No caffine, still lemon. /datum/reagent/drink/tea/limetea - name = "Lime Tea" - id = "limetea" + name = REAGENT_LIMETEA + id = REAGENT_ID_LIMETEA description = "A tasty mixture of lime and tea. It's apparently good for you!" color = "#DE4300" taste_description = "black tea with tones of lime" @@ -1477,18 +1477,18 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lime juice, still tea /datum/reagent/drink/tea/limetea/decaf - name = "Decaf Lime Tea" + name = REAGENT_LIMETEADECAF + id = REAGENT_ID_LIMETEADECAF glass_name = "decaf lime tea" cup_name = "decaf lime tea" - id = "limeteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = ALLERGEN_FRUIT //No caffine, still lime. /datum/reagent/drink/tea/orangetea - name = "Orange Tea" - id = "orangetea" + name = REAGENT_ORANGETEA + id = REAGENT_ID_ORANGETEA description = "A tasty mixture of orange and tea. It's apparently good for you!" color = "#FB4F06" taste_description = "black tea with tones of orange" @@ -1501,18 +1501,18 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with orange juice, still tea /datum/reagent/drink/tea/orangetea/decaf - name = "Decaf orange Tea" + name = REAGENT_ORANGETEADECAF + id = REAGENT_ID_ORANGETEADECAF glass_name = "decaf orange tea" cup_name = "decaf orange tea" - id = "orangeteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = ALLERGEN_FRUIT //No caffine, still orange. /datum/reagent/drink/tea/berrytea - name = "Berry Tea" - id = "berrytea" + name = REAGENT_BERRYTEA + id = REAGENT_ID_BERRYTEA description = "A tasty mixture of berries and tea. It's apparently good for you!" color = "#A60735" taste_description = "black tea with tones of berries" @@ -1525,18 +1525,18 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with berry juice, still tea /datum/reagent/drink/tea/berrytea/decaf - name = "Decaf Berry Tea" + name = REAGENT_BERRYTEADECAF + id = REAGENT_ID_BERRYTEADECAF glass_name = "decaf berry tea" cup_name = "decaf berry tea" - id = "berryteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = ALLERGEN_FRUIT //No caffine, still berries. /datum/reagent/drink/greentea - name = "Green Tea" - id = "greentea" + name = REAGENT_GREENTEA + id = REAGENT_ID_GREENTEA description = "A subtle blend of green tea. It's apparently good for you!" color = "#A8442C" taste_description = "green tea" @@ -1548,8 +1548,8 @@ cup_desc = "A subtle blend of green tea. It's apparently good for you!" /datum/reagent/drink/tea/chaitea - name = "Chai Tea" - id = "chaitea" + name = REAGENT_CHAITEA + id = REAGENT_ID_CHAITEA description = "A milky tea spiced with cinnamon and cloves." color = "#A8442C" taste_description = "creamy cinnamon and spice" @@ -1562,18 +1562,18 @@ allergen_type = ALLERGEN_STIMULANT|ALLERGEN_DAIRY //Made with milk and tea. /datum/reagent/drink/tea/chaitea/decaf - name = "Decaf Chai Tea" + name = REAGENT_CHAITEADECAF + id = REAGENT_ID_CHAITEADECAF glass_name = "decaf chai tea" cup_name = "decaf chai tea" - id = "chaiteadecaf" adj_dizzy = 0 adj_drowsy = 0 adj_sleepy = 0 allergen_type = ALLERGEN_DAIRY //No caffeine, still milk. /datum/reagent/drink/coffee - name = "Coffee" - id = "coffee" + name = REAGENT_COFFEE + id = REAGENT_ID_COFFEE description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant." taste_description = "coffee" taste_mult = 1.3 @@ -1585,10 +1585,10 @@ overdose = 45 cup_icon_state = "cup_coffee" - cup_name = "coffee" + cup_name = REAGENT_ID_COFFEE cup_desc = "Don't drop it, or you'll send scalding liquid and ceramic shards everywhere." - glass_name = "coffee" + glass_name = REAGENT_ID_COFFEE glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." allergen_type = ALLERGEN_COFFEE | ALLERGEN_STIMULANT //Apparently coffee contains coffee @@ -1601,7 +1601,7 @@ //M.adjustToxLoss(0.5 * removed) //M.make_jittery(4) //extra sensitive to caffine if(adj_temp > 0) - holder.remove_reagent("frostoil", 10 * removed) + holder.remove_reagent(REAGENT_ID_FROSTOIL, 10 * removed) /datum/reagent/drink/coffee/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) ..() @@ -1620,8 +1620,8 @@ M.make_jittery(5) /datum/reagent/drink/coffee/icecoffee - name = "Iced Coffee" - id = "icecoffee" + name = REAGENT_ICECOFFEE + id = REAGENT_ID_ICECOFFEE description = "Coffee and ice, refreshing and cool." color = "#102838" adj_temp = -5 @@ -1649,8 +1649,8 @@ //M.adjustToxLoss(5 * removed) //VOREStation Removal /datum/reagent/drink/coffee/soy_latte - name = "Soy Latte" - id = "soy_latte" + name = REAGENT_SOYLATTE + id = REAGENT_ID_SOYLATTE description = "A nice and tasty beverage while you are reading your hippie books." taste_description = "creamy coffee" color = "#C65905" @@ -1669,8 +1669,8 @@ M.heal_organ_damage(0.5 * removed, 0) /datum/reagent/drink/coffee/cafe_latte - name = "Cafe Latte" - id = "cafe_latte" + name = REAGENT_CAFELATTE + id = REAGENT_ID_CAFELATTE description = "A nice, strong and tasty beverage while you are reading." taste_description = "bitter cream" color = "#C65905" @@ -1689,8 +1689,8 @@ M.heal_organ_damage(0.5 * removed, 0) /datum/reagent/drink/decaf - name = "Decaf Coffee" - id = "decaf" + name = REAGENT_DECAF + id = REAGENT_ID_DECAF description = "Coffee with all the wake-up sucked out." taste_description = "bad coffee" taste_mult = 1.3 @@ -1698,7 +1698,7 @@ adj_temp = 25 cup_icon_state = "cup_coffee" - cup_name = "decaf" + cup_name = REAGENT_ID_DECAF cup_desc = "Basically just brown, bitter water." glass_name = "decaf coffee" @@ -1706,8 +1706,8 @@ allergen_type = ALLERGEN_COFFEE //Decaf coffee is still coffee, just less stimulating. /datum/reagent/drink/hot_coco - name = "Hot Chocolate" - id = "hot_coco" + name = REAGENT_HOTCOCO + id = REAGENT_ID_HOTCOCO description = "Made with love! And cocoa beans." taste_description = "creamy chocolate" reagent_state = LIQUID @@ -1724,8 +1724,8 @@ allergen_type = ALLERGEN_CHOCOLATE /datum/reagent/drink/coffee/blackeye - name = "Black Eye Coffee" - id = "black_eye" + name = REAGENT_BLACKEYE + id = REAGENT_ID_BLACKEYE description = "Coffee but with more coffee for that extra coffee kick." taste_description = "very concentrated coffee" color = "#241001" @@ -1740,8 +1740,8 @@ allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/drip - name = "Drip Coffee" - id = "drip_coffee" + name = REAGENT_DRIPCOFFEE + id = REAGENT_ID_DRIPCOFFEE description = "Coffee made by soaking beans in hot water and allowing it seep through." taste_description = "very concentrated coffee" color = "#3d1a00" @@ -1756,31 +1756,31 @@ allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/americano - name = "Americano" - id = "americano" + name = REAGENT_AMERICANO + id = REAGENT_ID_AMERICANO description = "A traditional coffee that is more dilute and perfect for a gentle start to the day." taste_description = "pleasant coffee" color = "#6d3205" adj_temp = 5 glass_desc = "A traditional coffee that is more dilute and perfect for a gentle start to the day." - glass_name = "americano" + glass_name = REAGENT_ID_AMERICANO cup_icon_state = "cup_coffee" - cup_name = "americano" + cup_name = REAGENT_ID_AMERICANO cup_desc = "A traditional coffee that is more dilute and perfect for a gentle start to the day." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/long_black - name = "Long Black Coffee" - id = "long_black" + name = REAGENT_LONGBLACK + id = REAGENT_ID_LONGBLACK description = "A traditional coffee with a little more kick." taste_description = "modestly bitter coffee" color = "#6d3205" adj_temp = 5 glass_desc = "A traditional coffee with a little more kick." - glass_name = "long_black" + glass_name = REAGENT_ID_LONGBLACK cup_icon_state = "cup_coffee" cup_name = "long black coffee" @@ -1788,79 +1788,79 @@ allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/macchiato - name = "Macchiato" - id = "macchiato" + name = REAGENT_MACCHIATO + id = REAGENT_ID_MACCHIATO description = "A coffee mixed with steamed milk, it has swirling patterns on top." taste_description = "milky coffee" color = "#ad5817" adj_temp = 5 glass_desc = "A coffee mixed with steamed milk, it has swirling patterns on top." - glass_name = "macchiato" + glass_name = REAGENT_ID_MACCHIATO cup_icon_state = "cup_latte" - cup_name = "macchiato" + cup_name = REAGENT_ID_MACCHIATO cup_desc = "A coffee mixed with steamed milk, it has swirling patterns on top." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/cortado - name = "Cortado" - id = "cortado" + name = REAGENT_CORTADO + id = REAGENT_ID_CORTADO description = "Espresso mixed with equal parts milk and a layer of foam on top." taste_description = "milky coffee" color = "#ad5817" adj_temp = 5 glass_desc = "Espresso mixed with equal parts milk and a layer of foam on top." - glass_name = "macchiato" + glass_name = REAGENT_ID_CORTADO cup_icon_state = "cup_latte" - cup_name = "cortado" + cup_name = REAGENT_ID_CORTADO cup_desc = "Espresso mixed with equal parts milk and a layer of foam on top." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/breve - name = "Breve" - id = "breve" + name = REAGENT_BREVE + id = REAGENT_ID_BREVE description = "Espresso topped with half-and-half, with a layer of foam on top." taste_description = "creamy coffee" color = "#d1905e" adj_temp = 5 glass_desc = "Espresso topped with half-and-half, with a layer of foam on top." - glass_name = "breve" + glass_name = REAGENT_ID_BREVE cup_icon_state = "cup_cream" - cup_name = "breve" + cup_name = REAGENT_ID_BREVE cup_desc = "Espresso topped with half-and-half, with a layer of foam on top." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/cappuccino - name = "Cappuccino" - id = "cappuccino" + name = REAGENT_CAPPUCCINO + id = REAGENT_ID_CAPPUCCINO description = "Espresso with a large portion of milk and a hefty layer of foam." taste_description = "classic coffee" color = "#d1905e" adj_temp = 5 glass_desc = "Espresso with a large portion of milk and a hefty layer of foam." - glass_name = "cappuccino" + glass_name = REAGENT_ID_CAPPUCCINO cup_icon_state = "cup_cream" - cup_name = "cappuccino" + cup_name = REAGENT_ID_CAPPUCCINO cup_desc = "Espresso with a large portion of milk and a hefty layer of foam." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/flat_white - name = "Flat White Coffee" - id = "flat_white" + name = REAGENT_FLATWHITE + id = REAGENT_ID_FLATWHITE description = "A very milky coffee that is particularly light and airy." taste_description = "very milky coffee" color = "#ed9f64" adj_temp = 5 glass_desc = "A very milky coffee that is particularly light and airy." - glass_name = "flat_white" + glass_name = REAGENT_ID_FLATWHITE cup_icon_state = "cup_latte" cup_name = "flat white coffee" @@ -1868,40 +1868,40 @@ allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/mocha - name = "Mocha" - id = "mocha" + name = REAGENT_MOCHA + id = REAGENT_ID_MOCHA description = "A chocolate and coffee mix topped with a lot of milk and foam." taste_description = "chocolatey coffee" color = "#984201" adj_temp = 5 glass_desc = "A chocolate and coffee mix topped with a lot of milk and foam." - glass_name = "mocha" + glass_name = REAGENT_ID_MOCHA cup_icon_state = "cup_cream" - cup_name = "mocha" + cup_name = REAGENT_ID_MOCHA cup_desc = "A chocolate and coffee mix topped with a lot of milk and foam." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/coffee/vienna - name = "Vienna" - id = "vienna" + name = REAGENT_VIENNA + id = REAGENT_ID_VIENNA description = "A very sweet espresso topped with a lot of whipped cream." taste_description = "super sweet and creamy coffee" color = "#8e7059" adj_temp = 5 glass_desc = "A very sweet espresso topped with a lot of whipped cream." - glass_name = "vienna" + glass_name = REAGENT_ID_VIENNA cup_icon_state = "cup_cream" - cup_name = "vienna" + cup_name = REAGENT_ID_VIENNA cup_desc = "A very sweet espresso topped with a lot of whipped cream." allergen_type = ALLERGEN_COFFEE /datum/reagent/drink/soda/sodawater - name = "Soda Water" - id = "sodawater" + name = REAGENT_SODAWATER + id = REAGENT_ID_SODAWATER description = "A can of club soda. Why not make a scotch and soda?" taste_description = "carbonated water" color = "#619494" @@ -1915,8 +1915,8 @@ glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/grapesoda - name = "Grape Soda" - id = "grapesoda" + name = REAGENT_GRAPESODA + id = REAGENT_ID_GRAPESODA description = "Grapes made into a fine drank." taste_description = "grape soda" color = "#421C52" @@ -1929,12 +1929,12 @@ allergen_type = ALLERGEN_FRUIT //Made with grape juice /datum/reagent/drink/soda/tonic - name = "Tonic Water" - id = "tonic" + name = REAGENT_TONIC + id = REAGENT_ID_TONIC description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." taste_description = "tart and fresh" color = "#619494" - cup_prefix = "tonic" + cup_prefix = REAGENT_ID_TONIC adj_dizzy = -5 adj_drowsy = -3 @@ -1945,106 +1945,106 @@ glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." /datum/reagent/drink/soda/lemonade - name = "Lemonade" - id = "lemonade" + name = REAGENT_LEMONADE + id = REAGENT_ID_LEMONADE description = "Oh the nostalgia..." - taste_description = "lemonade" + taste_description = REAGENT_ID_LEMONADE color = "#FFFF00" adj_temp = -5 - cup_prefix = "lemonade" + cup_prefix = REAGENT_ID_LEMONADE - glass_name = "lemonade" + glass_name = REAGENT_ID_LEMONADE glass_desc = "Oh the nostalgia..." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made with lemon juice /datum/reagent/drink/soda/melonade - name = "Melonade" - id = "melonade" + name = REAGENT_MELONADE + id = REAGENT_ID_MELONADE description = "Oh the.. nostalgia?" taste_description = "watermelon" color = "#FFB3BB" adj_temp = -5 - cup_prefix = "melonade" + cup_prefix = REAGENT_ID_MELONADE - glass_name = "melonade" + glass_name = REAGENT_ID_MELONADE glass_desc = "Oh the.. nostalgia?" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made with watermelon juice /datum/reagent/drink/soda/appleade - name = "Appleade" - id = "appleade" + name = REAGENT_APPLEADE + id = REAGENT_ID_APPLEADE description = "Applejuice, improved." taste_description = "apples" color = "#FFD1B3" adj_temp = -5 - cup_prefix = "appleade" + cup_prefix = REAGENT_ID_APPLEADE - glass_name = "appleade" + glass_name = REAGENT_ID_APPLEADE glass_desc = "Applejuice, improved." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made with apple juice /datum/reagent/drink/soda/pineappleade - name = "Pineappleade" - id = "pineappleade" + name = REAGENT_PINEAPPLEADE + id = REAGENT_ID_PINEAPPLEADE description = "Pineapple, juiced up." taste_description = "sweet`n`sour pineapples" color = "#FFFF00" adj_temp = -5 - cup_prefix = "pineappleade" + cup_prefix = REAGENT_ID_PINEAPPLEADE - glass_name = "pineappleade" + glass_name = REAGENT_ID_PINEAPPLEADE glass_desc = "Pineapple, juiced up." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made with pineapple juice /datum/reagent/drink/soda/kiraspecial - name = "Kira Special" - id = "kiraspecial" + name = REAGENT_KIRASPECIAL + id = REAGENT_ID_KIRASPECIAL description = "Long live the guy who everyone had mistaken for a girl. Baka!" taste_description = "fruity sweetness" color = "#CCCC99" adj_temp = -5 - glass_name = "Kira Special" + glass_name = REAGENT_KIRASPECIAL glass_desc = "Long live the guy who everyone had mistaken for a girl. Baka!" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made from orange and lime juice /datum/reagent/drink/soda/brownstar - name = "Brown Star" - id = "brownstar" + name = REAGENT_BROWNSTAR + id = REAGENT_ID_BROWNSTAR description = "It's not what it sounds like..." taste_description = "orange and cola soda" color = "#9F3400" adj_temp = -2 - glass_name = "Brown Star" + glass_name = REAGENT_BROWNSTAR glass_desc = "It's not what it sounds like..." allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with orangejuice and cola /datum/reagent/drink/soda/brownstar_decaf //For decaf starkist - name = "Decaf Brown Star" - id = "brownstar_decaf" + name = REAGENT_BROWNSTARDECAF + id = REAGENT_ID_BROWNSTARDECAF description = "It's not what it sounds like..." taste_description = "orange and cola soda" color = "#9F3400" adj_temp = -2 - glass_name = "Brown Star" + glass_name = REAGENT_BROWNSTAR glass_desc = "It's not what it sounds like..." /datum/reagent/drink/milkshake - name = "Milkshake" - id = "milkshake" + name = REAGENT_MILKSHAKE + id = REAGENT_ID_MILKSHAKE description = "Glorious brainfreezing mixture." taste_description = "vanilla milkshake" color = "#AEE5E4" adj_temp = -9 - glass_name = "milkshake" + glass_name = REAGENT_ID_MILKSHAKE glass_desc = "Glorious brainfreezing mixture." allergen_type = ALLERGEN_DAIRY //Made with dairy products @@ -2070,32 +2070,32 @@ M.drowsyness = max(M.drowsyness, 60) /datum/reagent/drink/milkshake/chocoshake - name = "Chocolate Milkshake" - id = "chocoshake" + name = REAGENT_CHOCOSHAKE + id = REAGENT_ID_CHOCOSHAKE description = "A refreshing chocolate milkshake." taste_description = "cold refreshing chocolate and cream" color = "#8e6f44" // rgb(142, 111, 68) adj_temp = -9 - glass_name = "Chocolate Milkshake" + glass_name = REAGENT_CHOCOSHAKE glass_desc = "A refreshing chocolate milkshake, just like mom used to make." allergen_type = ALLERGEN_DAIRY|ALLERGEN_CHOCOLATE //Made with dairy products /datum/reagent/drink/milkshake/berryshake - name = "Berry Milkshake" - id = "berryshake" + name = REAGENT_BERRYSHAKE + id = REAGENT_ID_BERRYSHAKE description = "A refreshing berry milkshake." taste_description = "cold refreshing berries and cream" color = "#ffb2b2" // rgb(255, 178, 178) adj_temp = -9 - glass_name = "Berry Milkshake" + glass_name = REAGENT_BERRYSHAKE glass_desc = "A refreshing berry milkshake, just like mom used to make." allergen_type = ALLERGEN_FRUIT|ALLERGEN_DAIRY //Made with berry juice and dairy products /datum/reagent/drink/milkshake/coffeeshake - name = "Coffee Milkshake" - id = "coffeeshake" + name = REAGENT_COFFEESHAKE + id = REAGENT_ID_COFFEESHAKE description = "A refreshing coffee milkshake." taste_description = "cold energizing coffee and cream" color = "#8e6f44" // rgb(142, 111, 68) @@ -2104,7 +2104,7 @@ adj_drowsy = -3 adj_sleepy = -2 - glass_name = "Coffee Milkshake" + glass_name = REAGENT_COFFEESHAKE glass_desc = "An energizing coffee milkshake, perfect for hot days at work.." allergen_type = ALLERGEN_DAIRY|ALLERGEN_COFFEE //Made with coffee and dairy products @@ -2112,25 +2112,25 @@ M.make_jittery(5) /datum/reagent/drink/milkshake/peanutshake - name = "Peanut Milkshake" - id = "peanutmilkshake" + name = REAGENT_PEANUTMILKSHAKE + id = REAGENT_ID_PEANUTMILKSHAKE description = "Savory cream in an ice-cold stature." taste_description = "cold peanuts and cream" color = "#8e6f44" - glass_name = "Peanut Milkshake" + glass_name = REAGENT_PEANUTMILKSHAKE glass_desc = "Savory cream in an ice-cold stature." allergen_type = ALLERGEN_SEEDS|ALLERGEN_DAIRY //Made with peanutbutter(seeds) and dairy products /datum/reagent/drink/rewriter - name = "Rewriter" - id = "rewriter" + name = REAGENT_REWRITER + id = REAGENT_ID_REWRITER description = "The secret of the sanctuary of the Libarian..." taste_description = "citrus and coffee" color = "#485000" adj_temp = -5 - glass_name = "Rewriter" + glass_name = REAGENT_REWRITER glass_desc = "The secret of the sanctuary of the Libarian..." allergen_type = ALLERGEN_FRUIT|ALLERGEN_COFFEE|ALLERGEN_STIMULANT //Made with space mountain wind (Fruit, caffeine) @@ -2139,8 +2139,8 @@ M.make_jittery(5) /datum/reagent/drink/soda/nuka_cola - name = "Nuka Cola" - id = "nuka_cola" + name = REAGENT_NUKACOLA + id = REAGENT_ID_NUKACOLA description = "Cola, cola never changes." taste_description = "cola" color = "#100800" @@ -2161,8 +2161,8 @@ M.drowsyness = 0 /datum/reagent/drink/grenadine //Description implies that the grenadine we would be working with does not contain fruit, so no allergens. - name = "Grenadine Syrup" - id = "grenadine" + name = REAGENT_GRENADINE + id = REAGENT_ID_GRENADINE description = "Made in the modern day with proper pomegranate substitute. Who uses real fruit, anyways?" taste_description = "100% pure pomegranate" color = "#FF004F" @@ -2172,8 +2172,8 @@ glass_desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." /datum/reagent/drink/soda/space_cola - name = "Space Cola" - id = "cola" + name = REAGENT_COLA + id = REAGENT_ID_COLA description = "A refreshing beverage." taste_description = "cola" reagent_state = LIQUID @@ -2181,27 +2181,27 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Space Cola" + glass_name = REAGENT_COLA glass_desc = "A glass of refreshing Space Cola" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_STIMULANT //Cola is typically caffeinated. /datum/reagent/drink/soda/decaf_cola - name = "Space Cola Free" - id = "decafcola" + name = REAGENT_DECAFCOLA + id = REAGENT_ID_DECAFCOLA description = "A refreshing beverage with none of the jitters." taste_description = "cola" reagent_state = LIQUID color = "#100800" adj_temp = -5 - glass_name = "Space Cola Free" + glass_name = REAGENT_DECAFCOLA glass_desc = "A glass of refreshing Space Cola Free" glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/lemon_soda - name = "Lemon Soda" - id = "lemonsoda" + name = REAGENT_LEMONSODA + id = REAGENT_ID_LEMONSODA description = "Soda made using lemon concentrate. Sour." taste_description = "strong sourness" reagent_state = LIQUID @@ -2215,8 +2215,8 @@ allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/apple_soda - name = "Apple Soda" - id = "applesoda" + name = REAGENT_APPLESODA + id = REAGENT_ID_APPLESODA description = "Soda made using fresh apples." taste_description = "crisp juiciness" reagent_state = LIQUID @@ -2224,15 +2224,15 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Apple Soda" + glass_name = REAGENT_APPLESODA glass_desc = "A glass of refreshing Apple Soda. Crisp!" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/straw_soda - name = "Strawberry Soda" - id = "strawsoda" + name = REAGENT_STRAWSODA + id = REAGENT_ID_STRAWSODA description = "Soda made using sweet berries." taste_description = "oddly bland" reagent_state = LIQUID @@ -2240,14 +2240,14 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Strawberry Soda" + glass_name = REAGENT_STRAWSODA glass_desc = "A glass of refreshing Strawberry Soda" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/orangesoda - name = "Orange Soda" - id = "orangesoda" + name = REAGENT_ORANGESODA + id = REAGENT_ID_ORANGESODA description = "Soda made using fresh picked oranges." taste_description = "sweet and citrusy" reagent_state = LIQUID @@ -2255,14 +2255,14 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Orange Soda" + glass_name = REAGENT_ORANGESODA glass_desc = "A glass of refreshing Orange Soda. Delicious!" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/grapesoda - name = "Grape Soda" - id = "grapesoda" + name = REAGENT_GRAPESODA + id = REAGENT_ID_GRAPESODA description = "Soda made of carbonated grapejuice." taste_description = "tangy goodness" reagent_state = LIQUID @@ -2270,14 +2270,14 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Grape Soda" + glass_name = REAGENT_GRAPESODA glass_desc = "A glass of refreshing Grape Soda. Tangy!" glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/sarsaparilla - name = "Sarsaparilla" - id = "sarsaparilla" + name = REAGENT_SARSAPARILLA + id = REAGENT_ID_SARSAPARILLA description = "Soda made from genetically modified Mexican sarsaparilla plants." taste_description = "licorice and caramel" reagent_state = LIQUID @@ -2285,13 +2285,13 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Sarsaparilla" + glass_name = REAGENT_SARSAPARILLA glass_desc = "A glass of refreshing Sarsaparilla. Delicious!" glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/pork_soda - name = "Bacon Soda" - id = "porksoda" + name = REAGENT_PORKSODA + id = REAGENT_ID_PORKSODA description = "Soda made using pork like flavoring." taste_description = "sugar coated bacon" reagent_state = LIQUID @@ -2299,13 +2299,13 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Bacon Soda" + glass_name = REAGENT_PORKSODA glass_desc = "A glass of Bacon Soda, very odd..." glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/spacemountainwind - name = "Mountain Wind" - id = "spacemountainwind" + name = REAGENT_SPACEMOUNTAINWIND + id = REAGENT_ID_SPACEMOUNTAINWIND description = "Blows right through you like a space wind." taste_description = "sweet citrus soda" color = "#102000" @@ -2319,21 +2319,21 @@ allergen_type = ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Citrus, and caffeination /datum/reagent/drink/soda/dr_gibb - name = "Dr. Gibb" - id = "dr_gibb" + name = REAGENT_DRGIBB + id = REAGENT_ID_DRGIBB description = "A delicious blend of 42 different flavors." taste_description = "cherry soda" color = "#102000" adj_drowsy = -6 adj_temp = -5 - glass_name = "Dr. Gibb" + glass_name = REAGENT_DRGIBB glass_desc = "Dr. Gibb. Not as dangerous as the name might imply." allergen_type = ALLERGEN_STIMULANT /datum/reagent/drink/soda/space_up - name = "Space-Up" - id = "space_up" + name = REAGENT_SPACEUP + id = REAGENT_ID_SPACEUP description = "Tastes like a hull breach in your mouth." taste_description = "citrus soda" color = "#202800" @@ -2345,8 +2345,8 @@ allergen_type = ALLERGEN_FRUIT /datum/reagent/drink/soda/lemon_lime - name = "Lemon-Lime" - id = "lemon_lime" + name = REAGENT_LEMONLIME + id = REAGENT_ID_LEMONLIME description = "A tangy substance made of 0.5% natural citrus!" taste_description = "tangy lime and lemon soda" color = "#878F00" @@ -2358,8 +2358,8 @@ allergen_type = ALLERGEN_FRUIT //Made with lemon and lime juice /datum/reagent/drink/soda/gingerale - name = "Ginger Ale" - id = "gingerale" + name = REAGENT_GINGERALE + id = REAGENT_ID_GINGERALE description = "The original." taste_description = "somewhat tangy ginger ale" color = "#edcf8f" @@ -2370,8 +2370,8 @@ glass_special = list(DRINK_FIZZ) /datum/reagent/drink/root_beer - name = "R&D Root Beer" - id = "rootbeer" + name = REAGENT_ROOTBEER + id = REAGENT_ID_ROOTBEER color = "#211100" adj_drowsy = -6 taste_description = "sassafras and anise soda" @@ -2380,8 +2380,8 @@ glass_desc = "A glass of bubbly R&D Root Beer." /datum/reagent/drink/dr_gibb_diet - name = "Diet Dr. Gibb" - id = "diet_dr_gibb" + name = REAGENT_DIETDRGIBB + id = REAGENT_ID_DIETDRGIBB color = "#102000" taste_description = "chemically sweetened cherry soda" @@ -2390,8 +2390,8 @@ glass_special = list(DRINK_FIZZ) /datum/reagent/drink/shirley_temple - name = "Shirley Temple" - id = "shirley_temple" + name = REAGENT_SHIRLEYTEMPLE + id = REAGENT_ID_SHIRLEYTEMPLE description = "A sweet concotion hated even by its namesake." taste_description = "sweet ginger ale" color = "#EF304F" @@ -2402,8 +2402,8 @@ glass_special = list(DRINK_FIZZ) /datum/reagent/drink/roy_rogers - name = "Roy Rogers" - id = "roy_rogers" + name = REAGENT_ROYROGERS + id = REAGENT_ID_ROYROGERS description = "I'm a cowboy, on a steel horse I ride." taste_description = "cola and fruit" color = "#4F1811" @@ -2415,8 +2415,8 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lemon lime and cola /datum/reagent/drink/collins_mix - name = "Collins Mix" - id = "collins_mix" + name = REAGENT_COLLINSMIX + id = REAGENT_ID_COLLINSMIX description = "Best hope it isn't a hoax." taste_description = "gin and lemonade" color = "#D7D0B3" @@ -2428,8 +2428,8 @@ allergen_type = ALLERGEN_FRUIT //Made with lemon lime /datum/reagent/drink/arnold_palmer - name = "Arnold Palmer" - id = "arnold_palmer" + name = REAGENT_ARNOLDPALMER + id = REAGENT_ID_ARNOLDPALMER description = "Tastes just like the old man." taste_description = "lemon and sweet tea" color = "#AF5517" @@ -2441,15 +2441,15 @@ allergen_type = ALLERGEN_FRUIT | ALLERGEN_STIMULANT //Made with lemonade and tea /datum/reagent/drink/doctor_delight - name = "The Doctor's Delight" - id = "doctorsdelight" + name = REAGENT_DOCTORSDELIGHT + id = REAGENT_ID_DOCTORSDELIGHT description = "A gulp a day keeps the MediBot away. That's probably for the best." taste_description = "homely fruit smoothie" reagent_state = LIQUID color = "#FF8CFF" nutrition = 1 - glass_name = "The Doctor's Delight" + glass_name = REAGENT_DOCTORSDELIGHT glass_desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." allergen_type = ALLERGEN_FRUIT|ALLERGEN_DAIRY //Made from several fruit juices, and cream. @@ -2466,8 +2466,8 @@ M.Confuse(-5) /datum/reagent/drink/dry_ramen - name = "Dry Ramen" - id = "dry_ramen" + name = REAGENT_DRYRAMEN + id = REAGENT_ID_DRYRAMEN description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." taste_description = "dry cheap noodles" reagent_state = SOLID @@ -2475,8 +2475,8 @@ color = "#302000" /datum/reagent/drink/hot_ramen - name = "Hot Ramen" - id = "hot_ramen" + name = REAGENT_HOTRAMEN + id = REAGENT_ID_HOTRAMEN description = "The noodles are boiled, the flavors are artificial, just like being back in school." taste_description = "noodles and salt" reagent_state = LIQUID @@ -2485,8 +2485,8 @@ adj_temp = 5 /datum/reagent/drink/hell_ramen - name = "Hell Ramen" - id = "hell_ramen" + name = REAGENT_HELLRAMEN + id = REAGENT_ID_HELLRAMEN description = "The noodles are boiled, the flavors are artificial, just like being back in school." taste_description = "noodles and spice" taste_mult = 1.7 @@ -2501,8 +2501,8 @@ M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT /datum/reagent/drink/sweetsundaeramen - name = "Dessert Ramen" - id = "dessertramen" + name = REAGENT_DESSERTRAMEN + id = REAGENT_ID_DESSERTRAMEN description = "How many things can you add to a cup of ramen before it begins to question its existance?" taste_description = "unbearable sweetness" color = "#4444FF" @@ -2512,15 +2512,15 @@ glass_desc = "How many things can you add to a cup of ramen before it begins to question its existance?" /datum/reagent/drink/ice - name = "Ice" - id = "ice" + name = REAGENT_ICE + id = REAGENT_ID_ICE description = "Frozen water, your dentist wouldn't like you chewing this." taste_description = "ice" reagent_state = SOLID color = "#619494" adj_temp = -5 - glass_name = "ice" + glass_name = REAGENT_ID_ICE glass_desc = "Generally, you're supposed to put something else in there too..." glass_icon = DRINK_ICON_NOISY @@ -2543,75 +2543,75 @@ //M.adjustToxLoss(5 * removed) //VOREStation Removal /datum/reagent/drink/nothing - name = "Nothing" - id = "nothing" + name = REAGENT_NOTHING + id = REAGENT_ID_NOTHING description = "Absolutely nothing." - taste_description = "nothing" + taste_description = REAGENT_ID_NOTHING - glass_name = "nothing" + glass_name = REAGENT_ID_NOTHING glass_desc = "Absolutely nothing." /datum/reagent/drink/dreamcream - name = "Dream Cream" - id = "dreamcream" + name = REAGENT_DREAMCREAM + id = REAGENT_ID_DREAMCREAM description = "A smoothy, silky mix of honey and dairy." taste_description = "sweet, soothing dairy" color = "#fcfcc9" // rgb(252, 252, 201) - glass_name = "Dream Cream" + glass_name = REAGENT_DREAMCREAM glass_desc = "A smoothy, silky mix of honey and dairy." allergen_type = ALLERGEN_DAIRY //Made using dairy /datum/reagent/drink/soda/vilelemon - name = "Vile Lemon" - id = "vilelemon" + name = REAGENT_VILELEMON + id = REAGENT_ID_VILELEMON description = "A fizzy, sour lemonade mix." taste_description = "fizzy, sour lemon" color = "#c6c603" // rgb(198, 198, 3) - glass_name = "Vile Lemon" + glass_name = REAGENT_VILELEMON glass_desc = "A sour, fizzy drink with lemonade and lemonlime." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from lemonade and mtn wind(caffeine) /datum/reagent/drink/entdraught - name = "Ent's Draught" - id = "entdraught" + name = REAGENT_ENTDRAUGHT + id = REAGENT_ID_ENTDRAUGHT description = "A natural, earthy combination of all things peaceful." taste_description = "fresh rain and sweet memories" color = "#3a6617" // rgb(58, 102, 23) - glass_name = "Ent's Draught" + glass_name = REAGENT_ENTDRAUGHT glass_desc = "You can almost smell the tranquility emanating from this." //allergen_type = ALLERGEN_FRUIT Sorry to break the news, chief. Honey is not a fruit. /datum/reagent/drink/lovepotion - name = "Love Potion" - id = "lovepotion" + name = REAGENT_LOVEPOTION + id = REAGENT_ID_LOVEPOTION description = "Creamy strawberries and sugar, simple and sweet." taste_description = "strawberries and cream" color = "#fc8a8a" // rgb(252, 138, 138) - glass_name = "Love Potion" + glass_name = REAGENT_LOVEPOTION glass_desc = "Love me tender, love me sweet." allergen_type = ALLERGEN_FRUIT|ALLERGEN_DAIRY //Made from cream(dairy) and berryjuice(fruit) /datum/reagent/drink/oilslick - name = "Oil Slick" - id = "oilslick" + name = REAGENT_OILSLICK + id = REAGENT_ID_OILSLICK description = "A viscous, but sweet, ooze." taste_description = "honey" color = "#FDF5E6" // rgb(253,245,230) water_based = FALSE - glass_name = "Oil Slick" + glass_name = REAGENT_OILSLICK glass_desc = "A concoction that should probably be in an engine, rather than your stomach." glass_icon = DRINK_ICON_NOISY allergen_type = ALLERGEN_VEGETABLE //Made from corn oil /datum/reagent/drink/slimeslammer - name = "Slick Slimes Slammer" - id = "slimeslammer" + name = REAGENT_SLIMESLAMMER + id = REAGENT_ID_SLIMESLAMMER description = "A viscous, but savory, ooze." taste_description = "peanuts`n`slime" color = "#93604D" @@ -2623,25 +2623,25 @@ allergen_type = ALLERGEN_VEGETABLE|ALLERGEN_SEEDS //Made from corn oil and peanutbutter /datum/reagent/drink/eggnog - name = "Eggnog" - id = "eggnog" + name = REAGENT_EGGNOG + id = REAGENT_ID_EGGNOG description = "A creamy, rich beverage made out of whisked eggs, milk and sugar, for when you feel like celebrating the winter holidays." taste_description = "thick cream and vanilla" color = "#fff3c1" // rgb(255, 243, 193) - glass_name = "Eggnog" + glass_name = REAGENT_EGGNOG glass_desc = "You can't egg-nore the holiday cheer all around you" allergen_type = ALLERGEN_DAIRY|ALLERGEN_EGGS //Eggnog is made with dairy and eggs. /datum/reagent/drink/nuclearwaste - name = "Nuclear Waste" - id = "nuclearwaste" + name = REAGENT_NUCLEARWASTE + id = REAGENT_ID_NUCLEARWASTE description = "A viscous, glowing slurry." taste_description = "sour honey drops" color = "#7FFF00" // rgb(127,255,0) water_based = FALSE - glass_name = "Nuclear Waste" + glass_name = REAGENT_NUCLEARWASTE glass_desc = "Sadly, no super powers." glass_icon = DRINK_ICON_NOISY glass_special = list(DRINK_FIZZ) @@ -2651,23 +2651,23 @@ ..() if(alien == IS_DIONA) return - M.bloodstr.add_reagent("radium", 0.3) + M.bloodstr.add_reagent(REAGENT_ID_RADIUM, 0.3) /datum/reagent/drink/nuclearwaste/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() if(alien == IS_DIONA) return - M.ingested.add_reagent("radium", 0.25) + M.ingested.add_reagent(REAGENT_ID_RADIUM, 0.25) /datum/reagent/drink/sodaoil //Mixed with normal drinks to make a 'potable' version for Prometheans if mixed 1-1. Dilution is key. - name = "Soda Oil" - id = "sodaoil" + name = REAGENT_SODAOIL + id = REAGENT_ID_SODAOIL description = "A thick, bubbling soda." taste_description = "chewy water" color = "#F0FFF0" // rgb(245,255,250) water_based = FALSE - glass_name = "Soda Oil" + glass_name = REAGENT_SODAOIL glass_desc = "A pitiful sludge that looks vaguely like a soda.. if you look at it a certain way." glass_icon = DRINK_ICON_NOISY glass_special = list(DRINK_FIZZ) @@ -2692,20 +2692,20 @@ M.adjustToxLoss(removed * -2) /datum/reagent/drink/mojito - name = "Mojito" - id = "virginmojito" + name = REAGENT_VIRGINMOJITO + id = REAGENT_ID_VIRGINMOJITO description = "Mint, bubbly water, and citrus, made for sailing." taste_description = "mint and lime" color = "#FFF7B3" - glass_name = "mojito" + glass_name = REAGENT_ID_MOJITO glass_desc = "Mint, bubbly water, and citrus, made for sailing." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made with lime juice /datum/reagent/drink/sexonthebeach - name = "Virgin Sex On The Beach" - id = "virginsexonthebeach" + name = REAGENT_VIRGINSEXONTHEBEACH + id = REAGENT_ID_VIRGINSEXONTHEBEACH description = "A secret combination of orange juice and pomegranate." taste_description = "60% orange juice, 40% pomegranate" color = "#7051E3" @@ -2715,8 +2715,8 @@ allergen_type = ALLERGEN_FRUIT //Made with orange juice /datum/reagent/drink/driverspunch - name = "Driver's Punch" - id = "driverspunch" + name = REAGENT_DRIVERSPUNCH + id = REAGENT_ID_DRIVERSPUNCH description = "A fruity punch!" taste_description = "sharp, sour apples" color = "#D2BA6E" @@ -2727,8 +2727,8 @@ allergen_type = ALLERGEN_FRUIT //Made with appleade and orange juice /datum/reagent/drink/mintapplesparkle - name = "Mint Apple Sparkle" - id = "mintapplesparkle" + name = REAGENT_MINTAPPLESPARKLE + id = REAGENT_ID_MINTAPPLESPARKLE description = "Delicious appleade with a touch of mint." taste_description = "minty apples" color = "#FDDA98" @@ -2739,8 +2739,8 @@ allergen_type = ALLERGEN_FRUIT //Made with appleade /datum/reagent/drink/berrycordial - name = "Berry Cordial" - id = "berrycordial" + name = REAGENT_BERRYCORDIAL + id = REAGENT_ID_BERRYCORDIAL description = "How berry cordial of you." taste_description = "sweet chivalry" color = "#D26EB8" @@ -2751,8 +2751,8 @@ allergen_type = ALLERGEN_FRUIT //Made with berry and lemonjuice /datum/reagent/drink/tropicalfizz - name = "Tropical Fizz" - id = "tropicalfizz" + name = REAGENT_TROPICALFIZZ + id = REAGENT_ID_TROPICALFIZZ description = "One sip and you're in the bahamas." taste_description = "tropical" color = "#69375C" @@ -2764,8 +2764,8 @@ allergen_type = ALLERGEN_FRUIT //Made with several fruit juices /datum/reagent/drink/fauxfizz - name = "Faux Fizz" - id = "fauxfizz" + name = REAGENT_FAUXFIZZ + id = REAGENT_ID_FAUXFIZZ description = "One sip and you're in the bahamas... maybe." taste_description = "slightly tropical" color = "#69375C" @@ -2777,14 +2777,14 @@ allergen_type = ALLERGEN_FRUIT //made with several fruit juices /datum/reagent/drink/syrup - name = "syrup" - id = "syrup" + name = REAGENT_SYRUP + id = REAGENT_ID_SYRUP description = "A generic, sugary syrup." taste_description = "sweetness" color = "#fffbe8" cup_prefix = "extra sweet" - glass_name = "syrup" + glass_name = REAGENT_ID_SYRUP glass_desc = "That is just way too much syrup to drink on its own." allergen_type = ALLERGEN_SUGARS @@ -2796,8 +2796,8 @@ M.make_dizzy(1) /datum/reagent/drink/syrup/pumpkin - name = "pumpkin spice syrup" - id = "syrup_pumpkin" + name = REAGENT_SYRUPPUMPKIN + id = REAGENT_ID_SYRUPPUMPKIN description = "A sugary syrup that tastes of pumpkin spice." taste_description = "pumpkin spice" color = "#e0b439" @@ -2806,32 +2806,32 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT /datum/reagent/drink/syrup/caramel - name = "caramel syrup" - id = "syrup_caramel" + name = REAGENT_SYRUPCARAMEL + id = REAGENT_ID_SYRUPCARAMEL description = "A sugary syrup that tastes of caramel." taste_description = "caramel" color = "#b47921" cup_prefix = "caramel" /datum/reagent/drink/syrup/scaramel - name = "salted caramel syrup" - id = "syrup_salted_caramel" + name = REAGENT_SYRUPSALTEDCARAMEL + id = REAGENT_ID_SYRUPSALTEDCARAMEL description = "A sugary syrup that tastes of salted caramel." taste_description = "salty caramel" color = "#9f6714" cup_prefix = "salted caramel" /datum/reagent/drink/syrup/irish - name = "irish cream syrup" - id = "syrup_irish" + name = REAGENT_SYRUPIRISH + id = REAGENT_ID_SYRUPIRISH description = "A sugary syrup that tastes of a light, sweet cream." taste_description = "creaminess" color = "#ead3b0" cup_prefix = "irish" /datum/reagent/drink/syrup/almond - name = "almond syrup" - id = "syrup_almond" + name = REAGENT_SYRUPALMOND + id = REAGENT_ID_SYRUPALMOND description = "A sugary syrup that tastes of almonds." taste_description = "almonds" color = "#ffb64a" @@ -2840,16 +2840,16 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_SEEDS /datum/reagent/drink/syrup/cinnamon - name = "cinnamon syrup" - id = "syrup_cinnamon" + name = REAGENT_SYRUPCINNAMON + id = REAGENT_ID_SYRUPCINNAMON description = "A sugary syrup that tastes of cinnamon." taste_description = "cinnamon" color = "#ec612a" cup_prefix = "cinnamon" /datum/reagent/drink/syrup/pistachio - name = "pistachio syrup" - id = "syrup_pistachio" + name = REAGENT_SYRUPPISTACHIO + id = REAGENT_ID_SYRUPPISTACHIO description = "A sugary syrup that tastes of pistachio." taste_description = "pistachio" color = "#c9eb59" @@ -2858,24 +2858,24 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_SEEDS /datum/reagent/drink/syrup/vanilla - name = "vanilla syrup" - id = "syrup_vanilla" + name = REAGENT_SYRUPVANILLA + id = REAGENT_ID_SYRUPVANILLA description = "A sugary syrup that tastes of vanilla." taste_description = "vanilla" color = "#eaebd1" - cup_prefix = "vanilla" + cup_prefix = REAGENT_ID_VANILLA /datum/reagent/drink/syrup/toffee - name = "toffee syrup" - id = "syrup_toffee" + name = REAGENT_SYRUPTOFFEE + id = REAGENT_ID_SYRUPTOFFEE description = "A sugary syrup that tastes of toffee." taste_description = "toffee" color = "#aa7143" cup_prefix = "toffee" /datum/reagent/drink/syrup/cherry - name = "cherry syrup" - id = "syrup_cherry" + name = REAGENT_SYRUPCHERRY + id = REAGENT_ID_SYRUPCHERRY description = "A sugary syrup that tastes of cherries." taste_description = "cherries" color = "#ff0000" @@ -2884,26 +2884,26 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT /datum/reagent/drink/syrup/butterscotch - name = "butterscotch syrup" - id = "syrup_butterscotch" + name = REAGENT_SYRUPBUTTERSCOTCH + id = REAGENT_ID_SYRUPBUTTERSCOTCH description = "A sugary syrup that tastes of butterscotch." taste_description = "butterscotch" color = "#e6924e" cup_prefix = "butterscotch" /datum/reagent/drink/syrup/chocolate - name = "chocolate syrup" - id = "syrup_chocolate" + name = REAGENT_SYRUPCHOCOLATE + id = REAGENT_ID_SYRUPCHOCOLATE description = "A sugary syrup that tastes of chocolate." - taste_description = "chocolate" + taste_description = REAGENT_ID_CHOCOLATE color = "#873600" - cup_prefix = "chocolate" + cup_prefix = REAGENT_ID_CHOCOLATE allergen_type = ALLERGEN_SUGARS|ALLERGEN_CHOCOLATE /datum/reagent/drink/syrup/wchocolate - name = "white chocolate syrup" - id = "syrup_white_chocolate" + name = REAGENT_SYRUPWHITECHOCOLATE + id = REAGENT_ID_SYRUPWHITECHOCOLATE description = "A sugary syrup that tastes of white chocolate." taste_description = "white chocolate" color = "#c4c6a5" @@ -2912,8 +2912,8 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_CHOCOLATE /datum/reagent/drink/syrup/strawberry - name = "strawberry syrup" - id = "syrup_strawberry" + name = REAGENT_SYRUPSTRAWBERRY + id = REAGENT_ID_SYRUPSTRAWBERRY description = "A sugary syrup that tastes of strawberries." taste_description = "strawberries" color = "#ff2244" @@ -2922,8 +2922,8 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT /datum/reagent/drink/syrup/coconut - name = "coconut syrup" - id = "syrup_coconut" + name = REAGENT_SYRUPCOCONUT + id = REAGENT_ID_SYRUPCOCONUT description = "A sugary syrup that tastes of coconut." taste_description = "coconut" color = "#ffffff" @@ -2932,32 +2932,32 @@ allergen_type = ALLERGEN_SUGARS|ALLERGEN_FRUIT /datum/reagent/drink/syrup/ginger - name = "ginger syrup" - id = "syrup_ginger" + name = REAGENT_SYRUPGINGER + id = REAGENT_ID_SYRUPGINGER description = "A sugary syrup that tastes of ginger." taste_description = "ginger" color = "#d09740" cup_prefix = "ginger" /datum/reagent/drink/syrup/gingerbread - name = "gingerbread syrup" - id = "syrup_gingerbread" + name = REAGENT_SYRUPGINGERBREAD + id = REAGENT_ID_SYRUPGINGERBREAD description = "A sugary syrup that tastes of gingerbread." taste_description = "gingerbread" color = "#b6790f" cup_prefix = "gingerbread" /datum/reagent/drink/syrup/peppermint - name = "peppermint syrup" - id = "syrup_peppermint" + name = REAGENT_SYRUPPEPPERMINT + id = REAGENT_ID_SYRUPPEPPERMINT description = "A sugary syrup that tastes of peppermint." taste_description = "peppermint" color = "#9ce06e" cup_prefix = "peppermint" /datum/reagent/drink/syrup/birthday_cake - name = "birthday cake syrup" - id = "syrup_birthday" + name = REAGENT_SYRUPBIRTHDAY + id = REAGENT_ID_SYRUPBIRTHDAY description = "A sugary syrup that tastes of an overload of sweetness." taste_description = "far too much sugar" color = "#ff00e6" @@ -2968,40 +2968,40 @@ // Basic /datum/reagent/ethanol/absinthe - name = "Absinthe" - id = "absinthe" + name = REAGENT_ABSINTHE + id = REAGENT_ID_ABSINTHE description = "Watch out that the Green Fairy doesn't come for you!" taste_description = "licorice" taste_mult = 1.5 color = "#33EE00" strength = 12 - glass_name = "absinthe" + glass_name = REAGENT_ID_ABSINTHE glass_desc = "Wormwood, anise, oh my." /datum/reagent/ethanol/ale - name = "Ale" - id = "ale" + name = REAGENT_ALE + id = REAGENT_ID_ALE description = "A dark alcoholic beverage made by malted barley and yeast." taste_description = "hearty barley ale" color = "#4C3100" strength = 50 - glass_name = "ale" + glass_name = REAGENT_ID_ALE glass_desc = "A freezing pint of delicious ale" allergen_type = ALLERGEN_GRAINS //Barley is grain /datum/reagent/ethanol/beer - name = "Beer" - id = "beer" + name = REAGENT_BEER + id = REAGENT_ID_BEER description = "An alcoholic beverage made from malted grains, hops, yeast, and water." taste_description = "beer" color = "#FFD300" strength = 50 nutriment_factor = 1 - glass_name = "beer" + glass_name = REAGENT_ID_BEER glass_desc = "A freezing pint of beer" allergen_type = ALLERGEN_GRAINS //Made from grains @@ -3015,8 +3015,8 @@ M.jitteriness = max(M.jitteriness - 3, 0) /datum/reagent/ethanol/beer/lite - name = "Lite Beer" - id = "litebeer" + name = REAGENT_LITEBEER + id = REAGENT_ID_LITEBEER description = "An alcoholic beverage made from malted grains, hops, yeast, water, and water." taste_description = "bad beer" color = "#FFD300" @@ -3029,8 +3029,8 @@ allergen_type = ALLERGEN_GRAINS //Made from grains /datum/reagent/ethanol/bluecuracao - name = "Blue Curacao" - id = "bluecuracao" + name = REAGENT_BLUECURACAO + id = REAGENT_ID_BLUECURACAO description = "Exotically blue, fruity drink, distilled from oranges." taste_description = "oranges" taste_mult = 1.1 @@ -3043,22 +3043,22 @@ allergen_type = ALLERGEN_FRUIT //Made from oranges(fruit) /datum/reagent/ethanol/cognac - name = "Cognac" - id = "cognac" + name = REAGENT_COGNAC + id = REAGENT_ID_COGNAC description = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. Classy as fornication." taste_description = "rich and smooth alcohol" taste_mult = 1.1 color = "#AB3C05" strength = 15 - glass_name = "cognac" + glass_name = REAGENT_ID_COGNAC glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this." allergen_type = ALLERGEN_FRUIT //Cognac is made from wine which is made from grapes. /datum/reagent/ethanol/deadrum - name = "Deadrum" - id = "deadrum" + name = REAGENT_DEADRUM + id = REAGENT_ID_DEADRUM description = "Popular with the sailors. Not very popular with everyone else." taste_description = "butterscotch and salt" taste_mult = 1.1 @@ -3076,8 +3076,8 @@ M.dizziness +=5 /datum/reagent/ethanol/firepunch - name = "Fire Punch" - id = "firepunch" + name = REAGENT_FIREPUNCH + id = REAGENT_ID_FIREPUNCH description = "Yo ho ho and a jar of honey." taste_description = "sharp butterscotch" color = "#ECB633" @@ -3087,14 +3087,14 @@ glass_desc = "Yo ho ho and a jar of honey." /datum/reagent/ethanol/gin - name = "Gin" - id = "gin" + name = REAGENT_GIN + id = REAGENT_ID_GIN description = "It's gin. In space. I say, good sir." taste_description = "an alcoholic christmas tree" color = "#0064C6" strength = 50 - glass_name = "gin" + glass_name = REAGENT_ID_GIN glass_desc = "A crystal clear glass of Griffeater gin." allergen_type = ALLERGEN_FRUIT //Made from juniper berries @@ -3135,8 +3135,8 @@ M.make_jittery(5) /datum/reagent/ethanol/coffee/kahlua - name = "Kahlua" - id = "kahlua" + name = REAGENT_KAHLUA + id = REAGENT_ID_KAHLUA description = "A widely known, Mexican coffee-flavored liqueur. In production since 1936!" taste_description = "spiked latte" taste_mult = 1.1 @@ -3148,8 +3148,8 @@ // glass_desc = "DAMN, THIS THING LOOKS ROBUST" //If this isn't what our players should talk like, it isn't what our game should say to them. /datum/reagent/ethanol/melonliquor - name = "Melon Liquor" - id = "melonliquor" + name = REAGENT_MELONLIQUOR + id = REAGENT_ID_MELONLIQUOR description = "A relatively sweet and fruity 46 proof liquor." taste_description = "fruity alcohol" color = "#138808" // rgb: 19, 136, 8 @@ -3161,8 +3161,8 @@ allergen_type = ALLERGEN_FRUIT //Made from watermelons /datum/reagent/ethanol/melonspritzer - name = "Melon Spritzer" - id = "melonspritzer" + name = REAGENT_MELONSPRITZER + id = REAGENT_ID_MELONSPRITZER description = "Melons: Citrus style." taste_description = "sour melon" color = "#934D5D" @@ -3175,31 +3175,31 @@ allergen_type = ALLERGEN_FRUIT //Made from watermelon juice, apple juice, and lime juice /datum/reagent/ethanol/rum - name = "Rum" - id = "rum" + name = REAGENT_RUM + id = REAGENT_ID_RUM description = "Yo-ho-ho and all that." taste_description = "spiked butterscotch" taste_mult = 1.1 color = "#ECB633" strength = 15 - glass_name = "rum" + glass_name = REAGENT_ID_RUM glass_desc = "Makes you want to buy a ship and just go pillaging." /datum/reagent/ethanol/sake //Made from rice, yes. Rice is technically a grain, but also kinda a psuedo-grain, so I don't count it for grain allergies. - name = "Sake" - id = "sake" + name = REAGENT_SAKE + id = REAGENT_ID_SAKE description = "Anime's favorite drink." taste_description = "dry alcohol" color = "#DDDDDD" strength = 25 - glass_name = "sake" + glass_name = REAGENT_ID_SAKE glass_desc = "A glass of sake." /datum/reagent/ethanol/sexonthebeach - name = "Sex On The Beach" - id = "sexonthebeach" + name = REAGENT_SEXONTHEBEACH + id = REAGENT_ID_SEXONTHEBEACH description = "A concoction of vodka and a secret combination of orange juice and pomegranate." taste_description = "60% orange juice, 40% pomegranate, 100% alcohol" color = "#7051E3" @@ -3211,8 +3211,8 @@ allergen_type = ALLERGEN_FRUIT //Made from orange juice /datum/reagent/ethanol/tequila - name = "Tequila" - id = "tequilla" + name = REAGENT_TEQUILLA + id = REAGENT_ID_TEQUILLA description = "A strong and mildly flavored, Mexican produced spirit. Feeling thirsty hombre?" taste_description = "paint thinner" color = "#FFFF91" @@ -3222,15 +3222,15 @@ glass_desc = "Now all that's missing is the weird colored shades!" /datum/reagent/ethanol/thirteenloko - name = "Thirteen Loko" - id = "thirteenloko" + name = REAGENT_THIRTEENLOKO + id =REAGENT_ID_THIRTEENLOKO description = "A potent mixture of caffeine and alcohol." taste_description = "battery acid" color = "#102000" strength = 25 nutriment_factor = 1 - glass_name = "Thirteen Loko" + glass_name = REAGENT_THIRTEENLOKO glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass." allergen_type = ALLERGEN_STIMULANT //Holy shit dude. @@ -3246,27 +3246,27 @@ M.make_jittery(5) /datum/reagent/ethanol/vermouth - name = "Vermouth" - id = "vermouth" + name = REAGENT_VERMOUTH + id = REAGENT_ID_VERMOUTH description = "You suddenly feel a craving for a martini..." taste_description = "dry alcohol" taste_mult = 1.3 color = "#91FF91" // rgb: 145, 255, 145 strength = 15 - glass_name = "vermouth" + glass_name = REAGENT_ID_VERMOUTH glass_desc = "You wonder why you're even drinking this straight." allergen_type = ALLERGEN_FRUIT //Vermouth is made from wine which is made from grapes(fruit) /datum/reagent/ethanol/vodka - name = "Vodka" - id = "vodka" + name = REAGENT_VODKA + id = REAGENT_ID_VODKA description = "Number one drink AND fueling choice for Russians worldwide." taste_description = "grain alcohol" color = "#0064C8" // rgb: 0, 100, 200 strength = 15 - glass_name = "vodka" + glass_name = REAGENT_ID_VODKA glass_desc = "The glass contain wodka. Xynta." allergen_type = ALLERGEN_GRAINS //Vodka is made from grains @@ -3277,21 +3277,21 @@ M.apply_effect(max(M.radiation - 1 * removed, 0), IRRADIATE, check_protection = 0) /datum/reagent/ethanol/whiskey - name = "Whiskey" - id = "whiskey" + name = REAGENT_WHISKEY + id = REAGENT_ID_WHISKEY description = "A superb and well-aged single-malt whiskey. Damn." taste_description = "molasses" color = "#4C3100" strength = 25 - glass_name = "whiskey" + glass_name = REAGENT_ID_WHISKEY glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." allergen_type = ALLERGEN_GRAINS //Whiskey is also made from grain. /datum/reagent/ethanol/redwine - name = "Red Wine" - id = "redwine" + name = REAGENT_REDWINE + id = REAGENT_ID_REDWINE description = "An premium alchoholic beverage made from distilled grape juice." taste_description = "bitter sweetness" color = "#7E4043" // rgb: 126, 64, 67 @@ -3303,8 +3303,8 @@ allergen_type = ALLERGEN_FRUIT //Wine is made from grapes (fruit) /datum/reagent/ethanol/whitewine - name = "White Wine" - id = "whitewine" + name = REAGENT_WHITEWINE + id = REAGENT_ID_WHITEWINE description = "An premium alchoholic beverage made from fermenting of the non-coloured pulp of grapes." taste_description = "light fruity flavor" color = "#F4EFB0" // rgb: 244, 239, 176 @@ -3316,21 +3316,21 @@ allergen_type = ALLERGEN_FRUIT //Wine is made from grapes (fruit) /datum/reagent/ethanol/carnoth - name = "Carnoth" - id = "carnoth" + name = REAGENT_CARNOTH + id = REAGENT_ID_CARNOTH description = "An premium alchoholic beverage made with multiple hybridized species of grapes that give it a dark maroon coloration." taste_description = "alcoholic sweet flavor" color = "#5B0000" // rgb: 0, 100, 35 strength = 20 - glass_name = "carnoth" + glass_name = REAGENT_ID_CARNOTH glass_desc = "A very classy looking drink." allergen_type = ALLERGEN_FRUIT //Wine is made from grapes (fruit) /datum/reagent/ethanol/pwine - name = "Poison Wine" - id = "pwine" + name = REAGENT_PWINE + id = REAGENT_ID_PWINE description = "Is this even wine? Toxic! Hallucinogenic! Probably consumed in boatloads by your superiors!" color = "#000000" strength = 10 @@ -3357,26 +3357,26 @@ L.take_damage(100, 0) /datum/reagent/ethanol/wine/champagne - name = "Champagne" - id = "champagne" + name = REAGENT_CHAMPAGNE + id = REAGENT_ID_CHAMPAGNE description = "A sparkling wine made with Pinot Noir, Pinot Meunier, and Chardonnay." taste_description = "fizzy bitter sweetness" color = "#D1B166" - glass_name = "champagne" + glass_name = REAGENT_ID_CHAMPAGNE glass_desc = "An even classier looking drink." allergen_type = ALLERGEN_FRUIT //Still wine, and still made from grapes (fruit) /datum/reagent/ethanol/cider - name = "Cider" - id = "cider" + name = REAGENT_CIDER + id = REAGENT_ID_CIDER description = "Hard? Soft? No-one knows but it'll get you drunk." taste_description = "tartness" color = "#CE9C00" // rgb: 206, 156, 0 strength = 10 - glass_name = "cider" + glass_name = REAGENT_ID_CIDER glass_desc = "The second most Irish drink." glass_special = list(DRINK_FIZZ) @@ -3386,22 +3386,22 @@ /datum/reagent/ethanol/acid_spit - name = "Acid Spit" - id = "acidspit" + name = REAGENT_ACIDSPIT + id = REAGENT_ID_ACIDSPIT description = "A drink for the daring, can be deadly if incorrectly prepared!" taste_description = "bitter tang" reagent_state = LIQUID color = "#365000" strength = 30 - glass_name = "Acid Spit" + glass_name = REAGENT_ACIDSPIT glass_desc = "A drink from the company archives. Made from live aliens." allergen_type = ALLERGEN_FRUIT //Made from wine (fruit) /datum/reagent/ethanol/alliescocktail - name = "Allies Cocktail" - id = "alliescocktail" + name = REAGENT_ALLIESCOCKTAIL + id = REAGENT_ID_ALLIESCOCKTAIL description = "A drink made from your allies, not as sweet as when made from your enemies." taste_description = "bitter sweetness" color = "#D8AC45" @@ -3413,48 +3413,48 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from vodka(grain) as well as martini(vermouth(fruit) and gin(fruit)) /datum/reagent/ethanol/aloe - name = "Aloe" - id = "aloe" + name = REAGENT_ALOE + id = REAGENT_ID_ALOE description = "So very, very, very good." taste_description = "sweet and creamy" color = "#B7EA75" strength = 15 - glass_name = "Aloe" + glass_name = REAGENT_ALOE glass_desc = "Very, very, very good." allergen_type = ALLERGEN_FRUIT|ALLERGEN_DAIRY|ALLERGEN_GRAINS //Made from cream(dairy), whiskey(grains), and watermelon juice(fruit) /datum/reagent/ethanol/amasec - name = "Amasec" - id = "amasec" + name = REAGENT_AMASEC + id = REAGENT_ID_AMASEC description = "Official drink of the Gun Club!" taste_description = "dark and metallic" reagent_state = LIQUID color = "#FF975D" strength = 25 - glass_name = "Amasec" + glass_name = REAGENT_AMASEC glass_desc = "Always handy before combat!" allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from wine(fruit) and vodka(grains) /datum/reagent/ethanol/andalusia - name = "Andalusia" - id = "andalusia" + name = REAGENT_ANDALUSIA + id = REAGENT_ID_ANDALUSIA description = "A nice, strangely named drink." taste_description = "lemons" color = "#F4EA4A" strength = 15 - glass_name = "Andalusia" + glass_name = REAGENT_ANDALUSIA glass_desc = "A nice, strange named drink." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from whiskey(grains) and lemonjuice (fruit) /datum/reagent/ethanol/antifreeze - name = "Anti-freeze" - id = "antifreeze" + name = REAGENT_ANTIFREEZE + id = REAGENT_ID_ANTIFREEZE description = "Ultimate refreshment." taste_description = "ice cold vodka" color = "#56DEEA" @@ -3462,14 +3462,14 @@ adj_temp = 20 targ_temp = 330 - glass_name = "Anti-freeze" + glass_name = REAGENT_ANTIFREEZE glass_desc = "The ultimate refreshment." allergen_type = ALLERGEN_GRAINS|ALLERGEN_DAIRY //Made from vodka(grains) and cream(dairy) /datum/reagent/ethanol/atomicbomb - name = "Atomic Bomb" - id = "atomicbomb" + name = REAGENT_ATOMICBOMB + id = REAGENT_ID_ATOMICBOMB description = "Nuclear proliferation never tasted so good." taste_description = "coffee, almonds, and whiskey, with a kick" reagent_state = LIQUID @@ -3477,28 +3477,28 @@ strength = 10 druggy = 50 - glass_name = "Atomic Bomb" + glass_name = REAGENT_ATOMICBOMB glass_desc = "We cannot take legal responsibility for your actions after imbibing." allergen_type = ALLERGEN_COFFEE|ALLERGEN_DAIRY|ALLERGEN_FRUIT|ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from b52 which contains kahlua(coffee/caffeine), cognac(fruit), and irish cream(Whiskey(grains),cream(dairy)) /datum/reagent/ethanol/coffee/b52 - name = "B-52" - id = "b52" + name = REAGENT_B52 + id = REAGENT_ID_B52 description = "Kahlua, Irish cream, and cognac. You will get bombed." taste_description = "coffee, almonds, and whiskey" taste_mult = 1.3 color = "#997650" strength = 12 - glass_name = "B-52" + glass_name = REAGENT_B52 glass_desc = "Kahlua, Irish cream, and cognac. You will get bombed." allergen_type = ALLERGEN_COFFEE|ALLERGEN_DAIRY|ALLERGEN_FRUIT|ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from kahlua(coffee/caffeine), cognac(fruit), and irish cream(Whiskey(grains),cream(dairy)) /datum/reagent/ethanol/bahama_mama - name = "Bahama mama" - id = "bahama_mama" + name = REAGENT_BAHAMAMAMA + id = REAGENT_ID_BAHAMAMAMA description = "Tropical cocktail." taste_description = "lime and orange" color = "#FF7F3B" @@ -3510,8 +3510,8 @@ allergen_type = ALLERGEN_FRUIT //Made from orange juice and lime juice /datum/reagent/ethanol/bananahonk - name = "Banana Mama" - id = "bananahonk" + name = REAGENT_BANANAHONK + id = REAGENT_ID_BANANAHONK description = "A drink from " + JOB_CLOWN + " Heaven." taste_description = "bananas and sugar" nutriment_factor = 1 @@ -3524,21 +3524,21 @@ allergen_type = ALLERGEN_FRUIT|ALLERGEN_DAIRY //Made from banana juice(fruit) and cream(dairy) /datum/reagent/ethanol/barefoot - name = "Barefoot" - id = "barefoot" + name = REAGENT_BAREFOOT + id = REAGENT_ID_BAREFOOT description = "Barefoot and pregnant." taste_description = "creamy berries" color = "#FFCDEA" strength = 30 - glass_name = "Barefoot" + glass_name = REAGENT_BAREFOOT glass_desc = "Barefoot and pregnant." allergen_type = ALLERGEN_DAIRY|ALLERGEN_FRUIT //Made from berry juice (fruit), cream(dairy), and vermouth(fruit) /datum/reagent/ethanol/beepsky_smash - name = "Beepsky Smash" - id = "beepskysmash" + name = REAGENT_BEEPSKYSMASH + id = REAGENT_ID_BEEPSKYSMASH description = "Deny drinking this and prepare for THE LAW." taste_description = "whiskey and citrus" taste_mult = 2 @@ -3546,7 +3546,7 @@ color = "#404040" strength = 12 - glass_name = "Beepsky Smash" + glass_name = REAGENT_BEEPSKYSMASH glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from whiskey(grains), and limejuice(fruit) @@ -3558,86 +3558,86 @@ M.Stun(2) /datum/reagent/ethanol/bilk - name = "Bilk" - id = "bilk" + name = REAGENT_BILK + id = REAGENT_ID_BILK description = "This appears to be beer mixed with milk. Disgusting." taste_description = "sour milk" color = "#895C4C" strength = 50 nutriment_factor = 2 - glass_name = "bilk" + glass_name = REAGENT_ID_BILK glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." allergen_type = ALLERGEN_GRAINS|ALLERGEN_DAIRY //Made from milk(dairy) and beer(grains) /datum/reagent/ethanol/black_russian - name = "Black Russian" - id = "blackrussian" + name = REAGENT_BLACKRUSSIAN + id = REAGENT_ID_BLACKRUSSIAN description = "For the lactose-intolerant. Still as classy as a White Russian." taste_description = "coffee" color = "#360000" strength = 15 - glass_name = "Black Russian" + glass_name = REAGENT_BLACKRUSSIAN glass_desc = "For the lactose-intolerant. Still as classy as a White Russian." allergen_type = ALLERGEN_COFFEE|ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from vodka(grains) and kahlua(coffee/caffeine) /datum/reagent/ethanol/bloody_mary - name = "Bloody Mary" - id = "bloodymary" + name = REAGENT_BLOODYMARY + id = REAGENT_ID_BLOODYMARY description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." taste_description = "tomatoes with a hint of lime" color = "#B40000" strength = 15 - glass_name = "Bloody Mary" + glass_name = REAGENT_BLOODYMARY glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from vodka (grains), tomato juice(fruit), and lime juice(fruit) /datum/reagent/ethanol/booger - name = "Booger" - id = "booger" + name = REAGENT_BOOGER + id = REAGENT_ID_BOOGER description = "Ewww..." taste_description = "sweet 'n creamy" color = "#8CFF8C" strength = 30 - glass_name = "Booger" + glass_name = REAGENT_BOOGER glass_desc = "Ewww..." allergen_type = ALLERGEN_DAIRY|ALLERGEN_FRUIT //Made from cream(dairy), banana juice(fruit), and watermelon juice(fruit) /datum/reagent/ethanol/coffee/brave_bull //Since it's under the /coffee subtype, it already has coffee and caffeine allergens. - name = "Brave Bull" - id = "bravebull" + name = REAGENT_BRAVEBULL + id = REAGENT_ID_BRAVEBULL description = "It's just as effective as Dutch-Courage!" taste_description = "coffee and paint thinner" taste_mult = 1.1 color = "#4C3100" strength = 15 - glass_name = "Brave Bull" + glass_name = REAGENT_BRAVEBULL glass_desc = "Tequilla and coffee liquor, brought together in a mouthwatering mixture. Drink up." /datum/reagent/ethanol/changelingsting - name = "Changeling Sting" - id = "changelingsting" + name = REAGENT_CHANGELINGSTING + id = REAGENT_ID_CHANGELINGSTING description = "You take a tiny sip and feel a burning sensation..." taste_description = "constantly changing flavors" color = "#2E6671" strength = 10 - glass_name = "Changeling Sting" + glass_name = REAGENT_CHANGELINGSTING glass_desc = "A stingy drink." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from screwdriver(vodka(grains), orange juice(fruit)), lime juice(fruit), and lemon juice(fruit) /datum/reagent/ethanol/martini - name = "Classic Martini" - id = "martini" + name = REAGENT_MARTINI + id = REAGENT_ID_MARTINI description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." taste_description = "dry class" color = "#0064C8" @@ -3649,31 +3649,20 @@ allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) and vermouth(fruit) /datum/reagent/ethanol/cuba_libre - name = "Cuba Libre" - id = "cubalibre" + name = REAGENT_CUBALIBRE + id = REAGENT_ID_CUBALIBRE description = "Rum, mixed with cola and a splash of lime. Viva la revolucion." taste_description = "cola with lime" color = "#3E1B00" strength = 30 - glass_name = "Cuba Libre" + glass_name = REAGENT_CUBALIBRE glass_desc = "A classic mix of rum, cola, and lime." allergen_type = ALLERGEN_STIMULANT //Cola /datum/reagent/ethanol/rum_and_cola - name = "Rum and Cola" - id = "rumandcola" - description = "A classic mix of sugar with more sugar." - taste_description = "cola" - color = "#3E1B00" - strength = 30 - - glass_name = "Cuba Libre" - glass_desc = "A classic mix of rum, cola, and lime." - -/datum/reagent/ethanol/rum_and_cola - name = "Rum and Cola" - id = "rumandcola" + name = REAGENT_RUMANDCOLA + id = REAGENT_ID_RUMANDCOLA description = "A classic mix of sugar with more sugar." taste_description = "cola" color = "#3E1B00" @@ -3684,8 +3673,8 @@ allergen_type = ALLERGEN_STIMULANT // Cola /datum/reagent/ethanol/demonsblood - name = "Demons Blood" - id = "demonsblood" + name = REAGENT_DEMONSBLOOD + id = REAGENT_ID_DEMONSBLOOD description = "This thing makes the hair on the back of your neck stand up." taste_description = "sweet tasting iron" taste_mult = 1.5 @@ -3697,8 +3686,8 @@ allergen_type = ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from space mountain wind(fruit) and dr.gibb(caffeine) /datum/reagent/ethanol/devilskiss - name = "Devils Kiss" - id = "devilskiss" + name = REAGENT_DEVILSKISS + id = REAGENT_ID_DEVILSKISS description = "Creepy time!" taste_description = "bitter iron" color = "#A68310" @@ -3709,21 +3698,21 @@ allergen_type = ALLERGEN_COFFEE|ALLERGEN_STIMULANT //Made from kahlua (Coffee) /datum/reagent/ethanol/driestmartini - name = "Driest Martini" - id = "driestmartini" + name = REAGENT_DRIESTMARTINI + id = REAGENT_ID_DRIESTMARTINI description = "Only for the experienced. You think you see sand floating in the glass." taste_description = "a beach" nutriment_factor = 1 color = "#2E6671" strength = 12 - glass_name = "Driest Martini" + glass_name = REAGENT_DRIESTMARTINI glass_desc = "Only for the experienced. You think you see sand floating in the glass." allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) /datum/reagent/ethanol/ginfizz - name = "Gin Fizz" - id = "ginfizz" + name = REAGENT_GINFIZZ + id = REAGENT_ID_GINFIZZ description = "Refreshingly lemony, deliciously dry." taste_description = "dry, tart lemons" color = "#FFFFAE" @@ -3735,33 +3724,33 @@ allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) and lime juice(fruit) /datum/reagent/ethanol/grog - name = "Grog" - id = "grog" + name = REAGENT_GROG + id = REAGENT_ID_GROG description = "Watered-down rum, pirate approved!" taste_description = "a poor excuse for alcohol" reagent_state = LIQUID color = "#FFBB00" strength = 100 - glass_name = "grog" + glass_name = REAGENT_ID_GROG glass_desc = "A fine and cepa drink for Space." /datum/reagent/ethanol/erikasurprise - name = "Erika Surprise" - id = "erikasurprise" + name = REAGENT_ERIKASURPRISE + id = REAGENT_ID_ERIKASURPRISE description = "The surprise is, it's green!" taste_description = "tartness and bananas" color = "#2E6671" strength = 15 - glass_name = "Erika Surprise" + glass_name = REAGENT_ERIKASURPRISE glass_desc = "The surprise is, it's green!" allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from ale (grains), lime juice (fruit), whiskey(grains), banana juice(fruit) /datum/reagent/ethanol/gargle_blaster - name = "Pan-Galactic Gargle Blaster" - id = "gargleblaster" + name = REAGENT_GARGLEBLASTER + id = REAGENT_ID_GARGLEBLASTER description = "Whoah, this stuff looks volatile!" taste_description = "your brains smashed out by a lemon wrapped around a gold brick" taste_mult = 5 @@ -3770,14 +3759,14 @@ strength = 10 druggy = 15 - glass_name = "Pan-Galactic Gargle Blaster" + glass_name = REAGENT_GARGLEBLASTER glass_desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from vodka(grains), gin(fruit), whiskey(grains), cognac(fruit), and lime juice(fruit) /datum/reagent/ethanol/gintonic - name = "Gin and Tonic" - id = "gintonic" + name = REAGENT_GINTONIC + id = REAGENT_ID_GINTONIC description = "An all time classic, mild cocktail." taste_description = "mild and tart" color = "#0064C8" @@ -3789,22 +3778,22 @@ allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) /datum/reagent/ethanol/goldschlager - name = "Goldschlager" - id = "goldschlager" + name = REAGENT_GOLDSCHLAGER + id = REAGENT_ID_GOLDSCHLAGER description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." taste_description = "burning cinnamon" taste_mult = 1.3 color = "#F4E46D" strength = 15 - glass_name = "Goldschlager" + glass_name = REAGENT_GOLDSCHLAGER glass_desc = "100 proof that teen girls will drink anything with gold in it." allergen_type = ALLERGEN_GRAINS //Made from vodka(grains) /datum/reagent/ethanol/hippies_delight - name = "Hippies' Delight" - id = "hippiesdelight" + name = REAGENT_HIPPIESDELIGHT + id = REAGENT_ID_HIPPIESDELIGHT description = "You just don't get it maaaan." taste_description = "giving peace a chance" reagent_state = LIQUID @@ -3819,20 +3808,20 @@ //Also, yes. Mushrooms produce psilocybin; however, it's also still just a chemical compound, and not necessarily going to trigger a fungi allergy. /datum/reagent/ethanol/hooch - name = "Hooch" - id = "hooch" + name = REAGENT_HOOCH + id = REAGENT_ID_HOOCH description = "Either someone's failure at cocktail making or attempt in alchohol production. In any case, do you really want to drink that?" taste_description = "pure alcohol" color = "#4C3100" strength = 25 toxicity = 2 - glass_name = "Hooch" + glass_name = REAGENT_HOOCH glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." /datum/reagent/ethanol/iced_beer - name = "Iced Beer" - id = "iced_beer" + name = REAGENT_ICEDBEER + id = REAGENT_ID_ICEDBEER description = "A beer which is so cold the air around it freezes." taste_description = "refreshingly cold" color = "#FFD300" @@ -3846,21 +3835,21 @@ allergen_type = ALLERGEN_GRAINS //Made from beer(grains) /datum/reagent/ethanol/irishcarbomb - name = "Irish Car Bomb" - id = "irishcarbomb" + name = REAGENT_IRISHCARBOMB + id = REAGENT_ID_IRISHCARBOMB description = "Mmm, tastes like chocolate cake..." taste_description = "delicious anger" color = "#2E6671" strength = 15 - glass_name = "Irish Car Bomb" + glass_name = REAGENT_IRISHCARBOMB glass_desc = "An irish car bomb." allergen_type = ALLERGEN_DAIRY|ALLERGEN_GRAINS //Made from ale(grains) and irish cream(whiskey(grains), cream(dairy)) /datum/reagent/ethanol/coffee/irishcoffee - name = "Irish Coffee" - id = "irishcoffee" + name = REAGENT_IRISHCOFFEE + id = REAGENT_ID_IRISHCOFFEE description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." taste_description = "giving up on the day" color = "#4C3100" @@ -3872,8 +3861,8 @@ allergen_type = ALLERGEN_COFFEE|ALLERGEN_DAIRY|ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from Coffee(coffee/caffeine) and irish cream(whiskey(grains), cream(dairy)) /datum/reagent/ethanol/irish_cream - name = "Irish Cream" - id = "irishcream" + name = REAGENT_IRISHCREAM + id = REAGENT_ID_IRISHCREAM description = "Whiskey-imbued cream, what else would you expect from the Irish." taste_description = "creamy alcohol" color = "#DDD9A3" @@ -3885,8 +3874,8 @@ allergen_type = ALLERGEN_DAIRY|ALLERGEN_GRAINS //Made from cream(dairy) and whiskey(grains) /datum/reagent/ethanol/longislandicedtea - name = "Long Island Iced Tea" - id = "longislandicedtea" + name = REAGENT_LONGISLANDICEDTEA + id = REAGENT_ID_LONGISLANDICEDTEA description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." taste_description = "sweet tea, with a kick" color = "#895B1F" @@ -3898,60 +3887,60 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from vodka(grains), cola(caffeine) and gin(fruit) /datum/reagent/ethanol/manhattan - name = "Manhattan" - id = "manhattan" + name = REAGENT_MANHATTAN + id = REAGENT_ID_MANHATTAN description = "The Detective's undercover drink of choice. He never could stomach gin..." taste_description = "mild dryness" color = "#C13600" strength = 15 - glass_name = "Manhattan" + glass_name = REAGENT_MANHATTAN glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from whiskey(grains), and vermouth(fruit) /datum/reagent/ethanol/manhattan_proj - name = "Manhattan Project" - id = "manhattan_proj" + name = REAGENT_MANHATTANPROJ + id = REAGENT_ID_MANHATTANPROJ description = "A scientist's drink of choice, for pondering ways to blow up the station." taste_description = "death, the destroyer of worlds" color = "#C15D00" strength = 10 druggy = 30 - glass_name = "Manhattan Project" + glass_name = REAGENT_MANHATTANPROJ glass_desc = "A scientist's drink of choice, for thinking how to blow up the station." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from manhattan which is made from whiskey(grains), and vermouth(fruit) /datum/reagent/ethanol/manly_dorf - name = "The Manly Dorf" - id = "manlydorf" + name = REAGENT_MANLYDORF + id = REAGENT_ID_MANLYDORF description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." taste_description = "hair on your chest and your chin" color = "#4C3100" strength = 25 - glass_name = "The Manly Dorf" + glass_name = REAGENT_MANLYDORF glass_desc = "A manly concotion made from Ale and Beer. Intended for true men only." allergen_type = ALLERGEN_GRAINS //Made from beer(grains) and ale(grains) /datum/reagent/ethanol/margarita - name = "Margarita" - id = "margarita" + name = REAGENT_MARGARITA + id = REAGENT_ID_MARGARITA description = "On the rocks with salt on the rim. Arriba~!" taste_description = "dry and salty" color = "#8CFF8C" strength = 15 - glass_name = "margarita" + glass_name = REAGENT_ID_MARGARITA glass_desc = "On the rocks with salt on the rim. Arriba~!" allergen_type = ALLERGEN_FRUIT //Made from lime juice(fruit) /datum/reagent/ethanol/mead - name = "Mead" - id = "mead" + name = REAGENT_MEAD + id = REAGENT_ID_MEAD description = "A Viking's drink, though a cheap one." taste_description = "sweet yet alcoholic" reagent_state = LIQUID @@ -3959,31 +3948,31 @@ strength = 30 nutriment_factor = 1 - glass_name = "mead" + glass_name = REAGENT_ID_MEAD glass_desc = "A Viking's beverage, though a cheap one." /datum/reagent/ethanol/moonshine - name = "Moonshine" - id = "moonshine" + name = REAGENT_MOONSHINE + id = REAGENT_ID_MOONSHINE description = "You've really hit rock bottom now... your liver packed its bags and left last night." taste_description = "bitterness" taste_mult = 2.5 color = "#0064C8" strength = 12 - glass_name = "moonshine" + glass_name = REAGENT_ID_MOONSHINE glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night." /datum/reagent/ethanol/neurotoxin - name = "Neurotoxin" - id = "neurotoxin" + name = REAGENT_NEUROTOXIN + id = REAGENT_ID_NEUROTOXIN description = "A strong neurotoxin that puts the subject into a death-like state." taste_description = "a numbing sensation" reagent_state = LIQUID color = "#2E2E61" strength = 10 - glass_name = "Neurotoxin" + glass_name = REAGENT_NEUROTOXIN glass_desc = "A drink that is guaranteed to knock you silly." glass_icon = DRINK_ICON_NOISY glass_special = list("neuroright") @@ -3997,19 +3986,19 @@ M.Weaken(3) /datum/reagent/ethanol/patron - name = "Patron" - id = "patron" + name = REAGENT_PATRON + id = REAGENT_ID_PATRON description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." taste_description = "metallic paint thinner" color = "#585840" strength = 30 - glass_name = "Patron" + glass_name = REAGENT_PATRON glass_desc = "Drinking patron in the bar, with all the subpar ladies." /datum/reagent/ethanol/red_mead - name = "Red Mead" - id = "red_mead" + name = REAGENT_REDMEAD + id = REAGENT_ID_REDMEAD description = "The true Viking's drink! Even though it has a strange red color." taste_description = "sweet and salty alcohol" color = "#C73C00" @@ -4019,8 +4008,8 @@ glass_desc = "A true Viking's beverage, though its color is strange." /datum/reagent/ethanol/sbiten - name = "Sbiten" - id = "sbiten" + name = REAGENT_SBITEN + id = REAGENT_ID_SBITEN description = "A spicy Vodka! Might be a bit hot for the little guys!" taste_description = "hot and spice" color = "#FFA371" @@ -4028,27 +4017,27 @@ adj_temp = 50 targ_temp = 360 - glass_name = "Sbiten" + glass_name = REAGENT_SBITEN glass_desc = "A spicy mix of Vodka and Spice. Very hot." allergen_type = ALLERGEN_GRAINS //Made from vodka(grains) /datum/reagent/ethanol/screwdrivercocktail - name = "Screwdriver" - id = "screwdrivercocktail" + name = REAGENT_SCREWDRIVERCOCKTAIL + id = REAGENT_ID_SCREWDRIVERCOCKTAIL description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." taste_description = "oranges" color = "#A68310" strength = 15 - glass_name = "Screwdriver" + glass_name = REAGENT_SCREWDRIVERCOCKTAIL glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from vodka(grains) and orange juice(fruit) /datum/reagent/ethanol/silencer - name = "Silencer" - id = "silencer" + name = REAGENT_SILENCER + id = REAGENT_ID_SILENCER description = "A drink from " + JOB_MIME + " Heaven." taste_description = "a pencil eraser" taste_mult = 1.2 @@ -4056,65 +4045,65 @@ color = "#FFFFFF" strength = 12 - glass_name = "Silencer" + glass_name = REAGENT_SILENCER glass_desc = "A drink from mime Heaven." allergen_type = ALLERGEN_DAIRY //Made from cream (dairy) /datum/reagent/ethanol/singulo - name = "Singulo" - id = "singulo" + name = REAGENT_SINGULO + id = REAGENT_ID_SINGULO description = "A blue-space beverage!" taste_description = "concentrated matter" color = "#2E6671" strength = 10 - glass_name = "Singulo" + glass_name = REAGENT_SINGULO glass_desc = "A blue-space beverage." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from vodka(grains) and wine(fruit) /datum/reagent/ethanol/snowwhite - name = "Snow White" - id = "snowwhite" + name = REAGENT_SNOWWHITE + id = REAGENT_ID_SNOWWHITE description = "A cold refreshment" taste_description = "refreshing cold" color = "#FFFFFF" strength = 30 - glass_name = "Snow White" + glass_name = REAGENT_SNOWWHITE glass_desc = "A cold refreshment." allergen_type = ALLERGEN_COFFEE|ALLERGEN_FRUIT|ALLERGEN_STIMULANT //made from Pineapple juice(fruit), lemon_lime(fruit), and kahlua(coffee/caffine) /datum/reagent/ethanol/suidream - name = "Sui Dream" - id = "suidream" + name = REAGENT_SUIDREAM + id = REAGENT_ID_SUIDREAM description = "Comprised of: White soda, blue curacao, melon liquor." taste_description = "fruit" color = "#00A86B" strength = 100 - glass_name = "Sui Dream" + glass_name = REAGENT_SUIDREAM glass_desc = "A froofy, fruity, and sweet mixed drink. Understanding the name only brings shame." allergen_type = ALLERGEN_FRUIT //Made from blue curacao(fruit) and melon liquor(fruit) /datum/reagent/ethanol/syndicatebomb - name = "Syndicate Bomb" - id = "syndicatebomb" + name = REAGENT_SYNDICATEBOMB + id = REAGENT_ID_SYNDICATEBOMB description = "Tastes like terrorism!" taste_description = "strong alcohol" color = "#2E6671" strength = 10 - glass_name = "Syndicate Bomb" + glass_name = REAGENT_SYNDICATEBOMB glass_desc = "Tastes like terrorism!" allergen_type = ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from beer(grain) and whiskeycola(whiskey(grain) and cola(caffeine)) /datum/reagent/ethanol/tequilla_sunrise - name = "Tequila Sunrise" - id = "tequillasunrise" + name = REAGENT_TEQUILLASUNRISE + id = REAGENT_ID_TEQUILLASUNRISE description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~." taste_description = "oranges" color = "#FFE48C" @@ -4124,8 +4113,8 @@ glass_desc = "Oh great, now you feel nostalgic about sunrises back on Earth..." /datum/reagent/ethanol/threemileisland - name = "Three Mile Island Iced Tea" - id = "threemileisland" + name = REAGENT_THREEMILEISLAND + id = REAGENT_ID_THREEMILEISLAND description = "Made for a woman, strong enough for a man." taste_description = "dry" color = "#666340" @@ -4138,8 +4127,8 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from long island iced tea(vodka(grains) and gin(fruit)) /datum/reagent/ethanol/toxins_special - name = "Toxins Special" - id = "phoronspecial" + name = REAGENT_PHORONSPECIAL + id = REAGENT_ID_PHORONSPECIAL description = "This thing is literally on fire!" taste_description = "spicy toxins" reagent_state = LIQUID @@ -4148,14 +4137,14 @@ adj_temp = 15 targ_temp = 330 - glass_name = "Toxins Special" + glass_name = REAGENT_PHORONSPECIAL glass_desc = "Whoah, this thing is on fire!" allergen_type = ALLERGEN_FRUIT //Made from vermouth(fruit) /datum/reagent/ethanol/vodkamartini - name = "Vodka Martini" - id = "vodkamartini" + name = REAGENT_VODKAMARTINI + id = REAGENT_ID_VODKAMARTINI description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." taste_description = "shaken, not stirred" color = "#0064C8" @@ -4167,8 +4156,8 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //made from vodka(grains) and vermouth(fruit) /datum/reagent/ethanol/vodkatonic - name = "Vodka and Tonic" - id = "vodkatonic" + name = REAGENT_VODKATONIC + id = REAGENT_ID_VODKATONIC description = "For when a gin and tonic isn't Russian enough." taste_description = "tart bitterness" color = "#0064C8" // rgb: 0, 100, 200 @@ -4180,21 +4169,21 @@ allergen_type = ALLERGEN_GRAINS //Made from vodka(grains) /datum/reagent/ethanol/white_russian - name = "White Russian" - id = "whiterussian" + name = REAGENT_WHITERUSSIAN + id = REAGENT_ID_WHITERUSSIAN description = "That's just, like, your opinion, man..." taste_description = "coffee icecream" color = "#A68340" strength = 15 - glass_name = "White Russian" + glass_name = REAGENT_WHITERUSSIAN glass_desc = "A very nice looking drink. But that's just, like, your opinion, man." allergen_type = ALLERGEN_COFFEE|ALLERGEN_GRAINS|ALLERGEN_DAIRY|ALLERGEN_STIMULANT //Made from black russian(vodka(grains), kahlua(coffee/caffeine)) and cream(dairy) /datum/reagent/ethanol/whiskey_cola - name = "Whiskey Cola" - id = "whiskeycola" + name = REAGENT_WHISKEYCOLA + id = REAGENT_ID_WHISKEYCOLA description = "Whiskey, mixed with cola. Surprisingly refreshing." taste_description = "cola with an alcoholic undertone" color = "#3E1B00" @@ -4206,8 +4195,8 @@ allergen_type = ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from whiskey(grains) and cola(caffeine) /datum/reagent/ethanol/whiskeysoda - name = "Whiskey Soda" - id = "whiskeysoda" + name = REAGENT_WHISKEYSODA + id = REAGENT_ID_WHISKEYSODA description = "Ultimate refreshment." taste_description = "carbonated whiskey" color = "#EAB300" @@ -4219,8 +4208,8 @@ allergen_type = ALLERGEN_GRAINS //Made from whiskey(grains) /datum/reagent/ethanol/specialwhiskey // I have no idea what this is and where it comes from - name = "Special Blend Whiskey" - id = "specialwhiskey" + name = REAGENT_SPECIALWHISKEY + id = REAGENT_ID_SPECIALWHISKEY description = "Just when you thought regular station whiskey was good... This silky, amber goodness has to come along and ruin everything. The smell of it singes your nostrils." taste_description = "unspeakable whiskey bliss" color = "#523600" @@ -4232,8 +4221,8 @@ allergen_type = ALLERGEN_GRAINS //Whiskey(grains) /datum/reagent/ethanol/unathiliquor - name = "Redeemer's Brew" - id = "unathiliquor" + name = REAGENT_UNATHILIQUOR + id = REAGENT_ID_UNATHILIQUOR description = "This barely qualifies as a drink, and could give jet fuel a run for its money. Also known to cause feelings of euphoria and numbness." taste_description = "spiced numbness" color = "#242424" @@ -4258,219 +4247,219 @@ step(M, pick(cardinal)) /datum/reagent/ethanol/sakebomb - name = "Sake Bomb" - id = "sakebomb" + name = REAGENT_SAKEBOMB + id = REAGENT_ID_SAKEBOMB description = "Alcohol in more alcohol." taste_description = "thick, dry alcohol" color = "#FFFF7F" strength = 12 nutriment_factor = 1 - glass_name = "Sake Bomb" + glass_name = REAGENT_SAKEBOMB glass_desc = "Some sake mixed into a pint of beer." allergen_type = ALLERGEN_GRAINS //Made from beer(grains) /datum/reagent/ethanol/tamagozake - name = "Tamagozake" - id = "tamagozake" + name = REAGENT_TAMAGOZAKE + id = REAGENT_ID_TAMAGOZAKE description = "Sake, egg, and sugar. A disgusting folk cure." taste_description = "eggy booze" color = "#E8C477" strength = 30 nutriment_factor = 3 - glass_name = "Tamagozake" + glass_name = REAGENT_TAMAGOZAKE glass_desc = "An egg cracked into sake and sugar." allergen_type = ALLERGEN_EGGS //Made with eggs /datum/reagent/ethanol/ginzamary - name = "Ginza Mary" - id = "ginzamary" + name = REAGENT_GINZAMARY + id = REAGENT_ID_GINZAMARY description = "An alcoholic drink made with vodka, sake, and juices." taste_description = "spicy tomato sake" color = "#FF3232" strength = 25 - glass_name = "Ginza Mary" + glass_name = REAGENT_GINZAMARY glass_desc = "Tomato juice, vodka, and sake make something not quite completely unlike a Bloody Mary." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from vodka(grains) and tomatojuice(fruit) /datum/reagent/ethanol/tokyorose - name = "Tokyo Rose" - id = "tokyorose" + name = REAGENT_TOKYOROSE + id = REAGENT_ID_TOKYOROSE description = "A pale pink cocktail made with sake and berry juice." taste_description = "fruity booze" color = "#FA8072" strength = 35 - glass_name = "Tokyo Rose" + glass_name = REAGENT_TOKYOROSE glass_desc = "It's kinda pretty!" allergen_type = ALLERGEN_FRUIT //Made from berryjuice /datum/reagent/ethanol/saketini - name = "Saketini" - id = "saketini" + name = REAGENT_SAKETINI + id = REAGENT_ID_SAKETINI description = "For when you're too weeb for a real martini." taste_description = "dry alcohol" color = "#0064C8" strength = 15 - glass_name = "Saketini" + glass_name = REAGENT_SAKETINI glass_desc = "What are you doing drinking this outside of New Kyoto?" allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) /datum/reagent/ethanol/coffee/elysiumfacepunch - name = "Elysium Facepunch" - id = "elysiumfacepunch" + name = REAGENT_ELYSIUMFACEPUNCH + id = REAGENT_ID_ELYSIUMFACEPUNCH description = "A loathesome cocktail favored by Heaven's skeleton shift workers." taste_description = "sour coffee" color = "#8f7729" strength = 20 - glass_name = "Elysium Facepunch" + glass_name = REAGENT_ELYSIUMFACEPUNCH glass_desc = "A loathesome cocktail favored by Heaven's skeleton shift workers." allergen_type = ALLERGEN_COFFEE|ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from kahlua(Coffee/caffeine) and lemonjuice(fruit) /datum/reagent/ethanol/erebusmoonrise - name = "Erebus Moonrise" - id = "erebusmoonrise" + name = REAGENT_EREBUSMOONRISE + id = REAGENT_ID_EREBUSMOONRISE description = "A deeply alcoholic mix, popular in Nyx." taste_description = "hard alcohol" color = "#947459" strength = 10 - glass_name = "Erebus Moonrise" + glass_name = REAGENT_EREBUSMOONRISE glass_desc = "A deeply alcoholic mix, popular in Nyx." allergen_type = ALLERGEN_GRAINS //Made from whiskey(grains) and Vodka(grains) /datum/reagent/ethanol/balloon - name = "Balloon" - id = "balloon" + name = REAGENT_BALLOON + id = REAGENT_ID_BALLOON description = "A strange drink invented in the aerostats of Venus." taste_description = "strange alcohol" color = "#FAEBD7" strength = 66 - glass_name = "Balloon" + glass_name = REAGENT_BALLOON glass_desc = "A strange drink invented in the aerostats of Venus." allergen_type = ALLERGEN_DAIRY|ALLERGEN_FRUIT //Made from blue curacao(fruit) and cream(dairy) /datum/reagent/ethanol/natunabrandy - name = "Natuna Brandy" - id = "natunabrandy" + name = REAGENT_NATUNABRANDY + id = REAGENT_ID_NATUNABRANDY description = "On Natuna, they do the best with what they have." taste_description = "watered-down beer" color = "#FFFFCC" strength = 80 - glass_name = "Natuna Brandy" + glass_name = REAGENT_NATUNABRANDY glass_desc = "On Natuna, they do the best with what they have." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_GRAINS //Made from beer(grains) /datum/reagent/ethanol/euphoria - name = "Euphoria" - id = "euphoria" + name = REAGENT_EUPHORIA + id = REAGENT_ID_EUPHORIA description = "Invented by a Eutopian marketing team, this is one of the most expensive cocktails in existence." taste_description = "impossibly rich alcohol" color = "#614126" strength = 9 - glass_name = "Euphoria" + glass_name = REAGENT_EUPHORIA glass_desc = "Invented by a Eutopian marketing team, this is one of the most expensive cocktails in existence." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from specialwhiskey(grain) and cognac(fruit) /datum/reagent/ethanol/xanaducannon - name = "Xanadu Cannon" - id = "xanaducannon" + name = REAGENT_XANADUCANNON + id = REAGENT_ID_XANADUCANNON description = "Common in the entertainment districts of Titan." taste_description = "sweet alcohol" color = "#614126" strength = 50 - glass_name = "Xanadu Cannon" + glass_name = REAGENT_XANADUCANNON glass_desc = "Common in the entertainment districts of Titan." allergen_type = ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from ale(grain) and dr.gibb(caffeine) /datum/reagent/ethanol/debugger - name = "Debugger" - id = "debugger" + name = REAGENT_DEBUGGER + id = REAGENT_ID_DEBUGGER description = "From Shelf. Not for human consumption." taste_description = "oily bitterness" color = "#d3d3d3" strength = 32 - glass_name = "Debugger" + glass_name = REAGENT_DEBUGGER glass_desc = "From Shelf. Not for human consumption." allergen_type = ALLERGEN_VEGETABLE //Made from corn oil(vegetable) /datum/reagent/ethanol/spacersbrew - name = "Spacer's Brew" - id = "spacersbrew" + name = REAGENT_SPACERSBREW + id = REAGENT_ID_SPACERSBREW description = "Ethanol and orange soda. A common emergency drink on frontier colonies." taste_description = "bitter oranges" color = "#ffc04c" strength = 43 - glass_name = "Spacer's Brew" + glass_name = REAGENT_SPACERSBREW glass_desc = "Ethanol and orange soda. A common emergency drink on frontier colonies." allergen_type = ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from brownstar(orange juice(fruit) + cola(caffeine) /datum/reagent/ethanol/binmanbliss - name = "Binman Bliss" - id = "binmanbliss" + name = REAGENT_BINMANBLISS + id = REAGENT_ID_BINMANBLISS description = "A dry cocktail popular on Binma." taste_description = "very dry alcohol" color = "#c3c3c3" strength = 24 - glass_name = "Binman Bliss" + glass_name = REAGENT_BINMANBLISS glass_desc = "A dry cocktail popular on Binma." /datum/reagent/ethanol/chrysanthemum - name = "Chrysanthemum" - id = "chrysanthemum" + name = REAGENT_CHRYSANTHEMUM + id = REAGENT_ID_CHRYSANTHEMUM description = "An exotic cocktail from New Kyoto." taste_description = "fruity liquor" color = "#9999FF" strength = 35 - glass_name = "Chrysanthemum" + glass_name = REAGENT_CHRYSANTHEMUM glass_desc = "An exotic cocktail from New Kyoto." allergen_type = ALLERGEN_FRUIT //Made from melon liquor(fruit) /datum/reagent/ethanol/bitters - name = "Bitters" - id = "bitters" + name = REAGENT_BITTERS + id = REAGENT_ID_BITTERS description = "An aromatic, typically alcohol-based infusions of bittering botanticals and flavoring agents like fruit peels, spices, dried flowers, and herbs." taste_description = "sharp bitterness" color = "#9b6241" // rgb(155, 98, 65) strength = 50 - glass_name = "Bitters" + glass_name = REAGENT_BITTERS glass_desc = "An aromatic, typically alcohol-based infusions of bittering botanticals and flavoring agents like fruit peels, spices, dried flowers, and herbs." /datum/reagent/ethanol/soemmerfire - name = "Soemmer Fire" - id = "soemmerfire" + name = REAGENT_SOEMMERFIRE + id = REAGENT_ID_SOEMMERFIRE description = "A painfully hot mixed drink, for when you absolutely need to hurt right now." taste_description = "pure fire" color = "#d13b21" // rgb(209, 59, 33) strength = 25 - glass_name = "Soemmer Fire" + glass_name = REAGENT_SOEMMERFIRE glass_desc = "A painfully hot mixed drink, for when you absolutely need to hurt right now." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from manhattan(whiskey(grains), vermouth(fruit)) @@ -4482,66 +4471,66 @@ M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT /datum/reagent/ethanol/winebrandy - name = "Wine Brandy" - id = "winebrandy" + name = REAGENT_WINEBRANDY + id = REAGENT_ID_WINEBRANDY description = "A premium spirit made from distilled wine." taste_description = "very sweet dried fruit with many elegant notes" color = "#4C130B" // rgb(76,19,11) strength = 20 - glass_name = "Wine Brandy" + glass_name = REAGENT_WINEBRANDY glass_desc = "A very classy looking after-dinner drink." allergen_type = ALLERGEN_FRUIT //Made from wine, which is made from fruit /datum/reagent/ethanol/morningafter - name = "Morning After" - id = "morningafter" + name = REAGENT_MORNINGAFTER + id = REAGENT_ID_MORNINGAFTER description = "The finest hair of the dog, coming up!" taste_description = "bitter regrets" color = "#482000" // rgb(72, 32, 0) strength = 60 - glass_name = "Morning After" + glass_name = REAGENT_MORNINGAFTER glass_desc = "The finest hair of the dog, coming up!" allergen_type = ALLERGEN_GRAINS|ALLERGEN_COFFEE|ALLERGEN_STIMULANT //Made from sbiten(vodka(grain)) and coffee(coffee/caffine) /datum/reagent/ethanol/vesper - name = "Vesper" - id = "vesper" + name = REAGENT_VESPER + id = REAGENT_ID_VESPER description = "A dry martini, ice cold and well shaken." taste_description = "lemony class" color = "#cca01c" // rgb(204, 160, 28) strength = 20 - glass_name = "Vesper" + glass_name = REAGENT_VESPER glass_desc = "A dry martini, ice cold and well shaken." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from wine(fruit), vodka(grain), and gin(fruit) /datum/reagent/ethanol/rotgut - name = "Rotgut Fever Dream" - id = "rotgut" + name = REAGENT_ROTGUT + id = REAGENT_ID_ROTGUT description = "A heinous combination of clashing flavors." taste_description = "plague and coldsweats" color = "#3a6617" // rgb(58, 102, 23) strength = 10 - glass_name = "Rotgut Fever Dream" + glass_name = REAGENT_ROTGUT glass_desc = "Why are you doing this to yourself?" allergen_type = ALLERGEN_GRAINS|ALLERGEN_STIMULANT //Made from whiskey(grains), cola (caffeine) and vodka(grains) /datum/reagent/ethanol/voxdelight - name = "Vox's Delight" - id = "voxdelight" + name = REAGENT_VOXDELIGHT + id = REAGENT_ID_VOXDELIGHT description = "A dangerous combination of all things flammable. Why would you drink this?" taste_description = "corrosive death" color = "#7c003a" // rgb(124, 0, 58) strength = 10 - glass_name = "Vox's Delight" + glass_name = REAGENT_VOXDELIGHT glass_desc = "Not recommended if you enjoy having organs." /datum/reagent/ethanol/voxdelight/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -4554,66 +4543,66 @@ M.adjustToxLoss(3 * removed) /datum/reagent/ethanol/screamingviking - name = "Screaming Viking" - id = "screamingviking" + name =REAGENT_SCREAMINGVIKING + id = REAGENT_ID_SCREAMINGVIKING description = "A boozy, citrus-packed brew." taste_description = "the bartender's frustration" color = "#c6c603" // rgb(198, 198, 3) strength = 9 - glass_name = "Screaming Viking" + glass_name =REAGENT_SCREAMINGVIKING glass_desc = "A boozy, citrus-packed brew." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from martini(gin(fruit), vermouth(fruit)), vodka tonic(vodka(grain)), and lime juice(fruit) /datum/reagent/ethanol/robustin - name = "Robustin" - id = "robustin" + name = REAGENT_ROBUSTIN + id = REAGENT_ID_ROBUSTIN description = "A bootleg brew of all the worst things on station." taste_description = "cough syrup and fire" color = "#6b0145" // rgb(107, 1, 69) strength = 10 - glass_name = "Robustin" + glass_name = REAGENT_ROBUSTIN glass_desc = "A bootleg brew of all the worst things on station." allergen_type = ALLERGEN_GRAINS|ALLERGEN_DAIRY //Made from antifreeze(vodka(grains),cream(dairy)) and vodka(grains) /datum/reagent/ethanol/virginsip - name = "Virgin Sip" - id = "virginsip" + name = REAGENT_VIRGINSIP + id = REAGENT_ID_VIRGINSIP description = "A perfect martini, watered down and ruined." taste_description = "emasculation and failure" color = "#2E6671" // rgb(46, 102, 113) strength = 60 - glass_name = "Virgin Sip" + glass_name = REAGENT_VIRGINSIP glass_desc = "A perfect martini, watered down and ruined." allergen_type = ALLERGEN_FRUIT //Made from driest martini(gin(fruit)) /datum/reagent/ethanol/jellyshot - name = "Jelly Shot" - id = "jellyshot" + name = REAGENT_JELLYSHOT + id = REAGENT_ID_JELLYSHOT description = "A thick and vibrant alcoholic gel, perfect for the night life." taste_description = "thick, alcoholic cherry gel" color = "#e00b0b" // rgb(224, 11, 11) strength = 10 - glass_name = "Jelly Shot" + glass_name = REAGENT_JELLYSHOT glass_desc = "A thick and vibrant alcoholic gel, perfect for the night life." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from cherry jelly(fruit), and vodka(grains) /datum/reagent/ethanol/slimeshot - name = "Named Bullet" - id = "slimeshot" + name = REAGENT_SLIMESHOT + id = REAGENT_ID_SLIMESHOT description = "A thick and toxic slime jelly shot." taste_description = "liquified organs" color = "#6fa300" // rgb(111, 163, 0) strength = 10 - glass_name = "Named Bullet" + glass_name = REAGENT_SLIMESHOT glass_desc = "A thick slime jelly shot. You can feel your death approaching." allergen_type = ALLERGEN_GRAINS //Made from vodka(grains) @@ -4622,117 +4611,117 @@ ..() if(alien == IS_DIONA) return - M.reagents.add_reagent("slimejelly", 0.25) + M.reagents.add_reagent(REAGENT_ID_SLIMEJELLY, 0.25) /datum/reagent/ethanol/cloverclub - name = "Clover Club" - id = "cloverclub" + name = REAGENT_CLOVERCLUB + id = REAGENT_ID_CLOVERCLUB description = "A light and refreshing raspberry cocktail." taste_description = "sweet raspberry" color = "#dd00a6" // rgb(221, 0, 166) strength = 30 - glass_name = "Clover Club" + glass_name = REAGENT_CLOVERCLUB glass_desc = "A light and refreshing raspberry cocktail." allergen_type = ALLERGEN_FRUIT //Made from berry juice(fruit), lemon juice(fruit), and gin(fruit) /datum/reagent/ethanol/negroni - name = "Negroni" - id = "negroni" + name = REAGENT_NEGRONI + id = REAGENT_ID_NEGRONI description = "A dark, complicated mix of gin and campari... classy." taste_description = "summer nights and wood smoke" color = "#77000d" // rgb(119, 0, 13) strength = 25 - glass_name = "Negroni" + glass_name = REAGENT_NEGRONI glass_desc = "A dark, complicated blend, perfect for relaxing nights by the fire." allergen_type = ALLERGEN_FRUIT //Made from gin(fruit) and vermouth(fruit) /datum/reagent/ethanol/whiskeysour - name = "Whiskey Sour" - id = "whiskeysour" + name = REAGENT_WHISKEYSOUR + id = REAGENT_ID_WHISKEYSOUR description = "A smokey, refreshing lemoned whiskey." taste_description = "smoke and citrus" color = "#a0692e" // rgb(160, 105, 46) strength = 20 - glass_name = "Whiskey Sour" + glass_name = REAGENT_WHISKEYSOUR glass_desc = "A smokey, refreshing lemoned whiskey." allergen_type = ALLERGEN_GRAINS|ALLERGEN_FRUIT //Made from whiskey(grains) and lemon juice(fruit) /datum/reagent/ethanol/oldfashioned - name = "Old Fashioned" - id = "oldfashioned" + name = REAGENT_OLDFASHIONED + id = REAGENT_ID_OLDFASHIONED description = "A classic mix of whiskey and sugar... simple and direct." taste_description = "smokey, divine whiskey" color = "#774410" // rgb(119, 68, 16) strength = 15 - glass_name = "Old Fashioned" + glass_name = REAGENT_OLDFASHIONED glass_desc = "A classic mix of whiskey and sugar... simple and direct." allergen_type = ALLERGEN_GRAINS //Made from whiskey(grains) /datum/reagent/ethanol/daiquiri - name = "Daiquiri" - id = "daiquiri" + name = REAGENT_DAIQUIRI + id = REAGENT_ID_DAIQUIRI description = "Refeshing rum and citrus. Time for a tropical get away." taste_description = "refreshing citrus and rum" color = "#d1ff49" // rgb(209, 255, 73 strength = 25 - glass_name = "Daiquiri" + glass_name = REAGENT_DAIQUIRI glass_desc = "Refeshing rum and citrus. Time for a tropical get away." allergen_type = ALLERGEN_FRUIT //Made from lime juice(fruit) /datum/reagent/ethanol/mojito - name = "Mojito" - id = "mojito" + name = REAGENT_MOJITO + id = REAGENT_ID_MOJITO description = "Minty rum and citrus, made for sailing." taste_description = "minty rum and lime" color = "#d1ff49" // rgb(209, 255, 73 strength = 30 - glass_name = "Mojito" + glass_name = REAGENT_MOJITO glass_desc = "Minty rum and citrus, made for sailing." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made from lime juice(fruit) /datum/reagent/ethanol/paloma - name = "Paloma" - id = "paloma" + name = REAGENT_PALOMA + id = REAGENT_ID_PALOMA description = "Tequila and citrus, iced just right..." taste_description = "grapefruit and cold fire" color = "#ffb070" // rgb(255, 176, 112) strength = 20 - glass_name = "Paloma" + glass_name = REAGENT_PALOMA glass_desc = "Tequila and citrus, iced just right..." glass_special = list(DRINK_FIZZ) allergen_type = ALLERGEN_FRUIT //Made from orange juice(fruit) /datum/reagent/ethanol/piscosour - name = "Pisco Sour" - id = "piscosour" + name = REAGENT_PISCOSOUR + id = REAGENT_ID_PISCOSOUR description = "Wine Brandy, Lemon, and a dream. A South American classic" taste_description = "light sweetness" color = "#f9f96b" // rgb(249, 249, 107) strength = 30 - glass_name = "Pisco Sour" + glass_name = REAGENT_PISCOSOUR glass_desc = "South American bliss, served ice cold." allergen_type = ALLERGEN_FRUIT //Made from wine brandy(fruit), and lemon juice(fruit) /datum/reagent/ethanol/coldfront - name = "Cold Front" - id = "coldfront" + name = REAGENT_COLDFRONT + id = REAGENT_ID_COLDFRONT description = "Minty, rich, and painfully cold. It's a blizzard in a cup." taste_description = "biting cold" color = "#ffe8c4" // rgb(255, 232, 196) @@ -4740,26 +4729,26 @@ adj_temp = -20 targ_temp = 220 //Dangerous to certain races. Drink in moderation. - glass_name = "Cold Front" + glass_name = REAGENT_COLDFRONT glass_desc = "Minty, rich, and painfully cold. It's a blizzard in a cup." allergen_type = ALLERGEN_COFFEE|ALLERGEN_STIMULANT //Made from iced coffee(coffee) /datum/reagent/ethanol/mintjulep - name = "Mint Julep" - id = "mintjulep" + name = REAGENT_MINTJULEP + id = REAGENT_ID_MINTJULEP description = "Minty and refreshing, perfect for a hot day." taste_description = "refreshing mint" color = "#bbfc8a" // rgb(187, 252, 138) strength = 25 adj_temp = -5 - glass_name = "Mint Julep" + glass_name = REAGENT_MINTJULEP glass_desc = "Minty and refreshing, perfect for a hot day." /datum/reagent/ethanol/godsake - name = "Gods Sake" - id = "godsake" + name = REAGENT_GODSAKE + id = REAGENT_ID_GODSAKE description = "Anime's favorite drink." taste_description = "the power of god and anime" color = "#DDDDDD" @@ -4769,14 +4758,14 @@ glass_desc = "A glass of sake." /datum/reagent/ethanol/godka - name = "Godka" - id = "godka" + name = REAGENT_GODKA + id = REAGENT_ID_GODKA description = "Number one drink AND fueling choice for Russians multiverse-wide." taste_description = "russian steel and a hint of grain" color = "#0064C8" strength = 50 - glass_name = "Godka" + glass_name = REAGENT_GODKA glass_desc = "The glass is barely able to contain the wodka. Xynta." glass_special = list(DRINK_FIZZ) @@ -4801,35 +4790,35 @@ M.adjustToxLoss(adjust_tox * removed) /datum/reagent/ethanol/holywine - name = "Angel Ichor" - id = "holywine" + name = REAGENT_HOLYWINE + id = REAGENT_ID_HOLYWINE description = "A premium alcoholic beverage made from distilled angel blood." taste_description = "wings in a glass, and a hint of grape" color = "#C4921E" strength = 20 - glass_name = "Angel Ichor" + glass_name = REAGENT_HOLYWINE glass_desc = "A very pious looking drink." glass_icon = DRINK_ICON_NOISY allergen_type = ALLERGEN_FRUIT //Made from grapes(fruit) /datum/reagent/ethanol/holy_mary - name = "Holy Mary" - id = "holymary" + name = REAGENT_HOLYMARY + id = REAGENT_ID_HOLYMARY description = "A strange yet pleasurable mixture made of vodka, angel's ichor and lime juice. Or at least you THINK the yellow stuff is angel's ichor." taste_description = "grapes with a hint of lime" color = "#DCAE12" strength = 20 - glass_name = "Holy Mary" + glass_name = REAGENT_HOLYMARY glass_desc = "Angel's Ichor, mixed with Vodka and a lil' bit of lime. Tastes like liquid ascension." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from vodka(grain), holy wine(fruit), and lime juice(fruit) /datum/reagent/ethanol/angelswrath - name = "Angels Wrath" - id = "angelswrath" + name = REAGENT_ANGELSWRATH + id = REAGENT_ID_ANGELSWRATH description = "This thing makes the hair on the back of your neck stand up." taste_description = "sweet victory and sour iron" taste_mult = 1.5 @@ -4844,8 +4833,8 @@ allergen_type = ALLERGEN_FRUIT|ALLERGEN_STIMULANT //Made from space mountain wind(fruit), dr.gibb(caffine) and holy wine(fruit) /datum/reagent/ethanol/angelskiss - name = "Angels Kiss" - id = "angelskiss" + name = REAGENT_ANGELSKISS + id = REAGENT_ID_ANGELSKISS description = "Miracle time!" taste_description = "sweet forgiveness and bitter iron" color = "#AD772B" @@ -4857,21 +4846,21 @@ allergen_type = ALLERGEN_FRUIT|ALLERGEN_COFFEE|ALLERGEN_STIMULANT //Made from holy wine(fruit), and kahlua(coffee) /datum/reagent/ethanol/ichor_mead - name = "Ichor Mead" - id = "ichor_mead" + name = REAGENT_ICHORMEAD + id = REAGENT_ID_ICHORMEAD description = "A trip to Valhalla." taste_description = "valhalla" color = "#955B37" strength = 30 - glass_name = "Ichor Mead" + glass_name = REAGENT_ICHORMEAD glass_desc = "A trip to Valhalla." allergen_type = ALLERGEN_FRUIT //Made from holy wine(fruit) /datum/reagent/ethanol/schnapps_pep - name = "Peppermint Schnapps" - id = "schnapps_pep" + name = REAGENT_SCHNAPPSPEP + id = REAGENT_ID_SCHNAPPSPEP description = "Achtung, pfefferminze." taste_description = "minty alcohol" color = "#8FC468" @@ -4881,8 +4870,8 @@ glass_desc = "A glass of peppermint schnapps. It seems like it'd be better, mixed." /datum/reagent/ethanol/schnapps_pea - name = "Peach Schnapps" - id = "schnapps_pea" + name = REAGENT_SCHNAPPSPEA + id = REAGENT_ID_SCHNAPPSPEA description = "Achtung, fruchtig." taste_description = "peaches" color = "#d67d4d" @@ -4894,8 +4883,8 @@ allergen_type = ALLERGEN_FRUIT //Made from peach(fruit) /datum/reagent/ethanol/schnapps_lem - name = "Lemonade Schnapps" - id = "schnapps_lem" + name = REAGENT_SCHNAPPSLEM + id = REAGENT_ID_SCHNAPPSLEM description = "Childhood memories are not included." taste_description = "sweet, lemon-y alcohol" color = "#FFFF00" @@ -4907,8 +4896,8 @@ allergen_type = ALLERGEN_FRUIT //Made from lemons(fruit) /datum/reagent/ethanol/jager - name = "Schuss Konig" - id = "jager" + name = REAGENT_JAGER + id = REAGENT_ID_JAGER description = "A complex alcohol that leaves you feeling all warm inside." taste_description = "complex, rich alcohol" color = "#7f6906" @@ -4918,21 +4907,21 @@ glass_desc = "A glass of schusskonig digestif. Good for shooting or mixing." /datum/reagent/ethanol/fusionnaire - name = "Fusionnaire" - id = "fusionnaire" + name = REAGENT_FUSIONNAIRE + id = REAGENT_ID_FUSIONNAIRE description = "A drink for the brave." taste_description = "a painfully alcoholic lemon soda with an undertone of mint" color = "#6BB486" strength = 9 - glass_name = "fusionnaire" + glass_name = REAGENT_ID_FUSIONNAIRE glass_desc = "A relatively new cocktail, mostly served in the bars of NanoTrasen owned stations." allergen_type = ALLERGEN_FRUIT|ALLERGEN_GRAINS //Made from lemon juice(fruit), vodka(grains), and lemon schnapps(fruit) /datum/reagent/ethanol/deathbell - name = "Deathbell" - id = "deathbell" + name = REAGENT_DEATHBELL + id = REAGENT_ID_DEATHBELL description = "A successful experiment to make the most alcoholic thing possible." taste_description = "your brains smashed out by a smooth brick of hard, ice cold alcohol" color = "#9f6aff" @@ -4941,7 +4930,7 @@ adj_temp = 10 targ_temp = 330 - glass_name = "Deathbell" + glass_name = REAGENT_DEATHBELL glass_desc = "The perfect blend of the most alcoholic things a bartender can get their hands on." allergen_type = ALLERGEN_GRAINS|ALLERGEN_DAIRY|ALLERGEN_FRUIT //Made from antifreeze(vodka(grains),cream(dairy)), gargleblaster(vodka(grains),gin(fruit),whiskey(grains),cognac(fruit),lime juice(fruit)), and syndicate bomb(beer(grain),whiskeycola(whiskey(grain))) @@ -4956,8 +4945,8 @@ M.slurring = max(M.slurring, 30) /datum/reagent/nutriment/magicdust - name = "Magic Dust" - id = "magicdust" + name = REAGENT_MAGICDUST + id = REAGENT_ID_MAGICDUST description = "A dust harvested from gnomes, aptly named by pre-industrial civilizations." taste_description = "something tingly" taste_mult = 2 @@ -4972,24 +4961,24 @@ to_chat(M, span_warning("You feel like you've been gnomed...")) /datum/reagent/drink/soda/kompot - name = "Kompot" - id = "kompot" + name = REAGENT_KOMPOT + id = REAGENT_ID_KOMPOT description = "A traditional Eastern European beverage once used to preserve fruit in the 1980s" taste_description = "refreshingly sweet and fruity" color = "#ed9415" // rgb: 237, 148, 21 adj_drowsy = -1 adj_temp = -6 - glass_name = "kompot" + glass_name = REAGENT_ID_KOMPOT glass_desc = "A glass of refreshing kompot." glass_special = list(DRINK_FIZZ) /datum/reagent/ethanol/kvass - name = "Kvass" - id = "kvass" + name = REAGENT_KVASS + id = REAGENT_ID_KVASS description = "A traditional fermented Slavic and Baltic beverage commonly made from rye bread." taste_description = "a warm summer day at babushka's cabin" color = "#b78315" // rgb: 183, 131, 21 strength = 95 //It's just soda to Russians nutriment_factor = 2 - glass_name = "kvass" + glass_name = REAGENT_ID_KVASS glass_desc = "A hearty glass of Slavic brew." diff --git a/code/modules/reagents/reagents/food_drinks_vr.dm b/code/modules/reagents/reagents/food_drinks_vr.dm index 3f245ac219..388031b2fe 100644 --- a/code/modules/reagents/reagents/food_drinks_vr.dm +++ b/code/modules/reagents/reagents/food_drinks_vr.dm @@ -2,8 +2,8 @@ nutriment_factor = 10 /datum/reagent/toxin/meatcolony - name = "A colony of meat cells" - id = "meatcolony" + name = REAGENT_MEATCOLONY + id = REAGENT_ID_MEATCOLONY description = "Specialised cells designed to produce a large amount of meat once activated, whilst manufacturers have managed to stop these cells from taking over the body when ingested, it's still poisonous." taste_description = "a fibrous mess" reagent_state = LIQUID @@ -11,8 +11,8 @@ strength = 10 /datum/reagent/toxin/plantcolony - name = "A colony of plant cells" - id = "plantcolony" + name = REAGENT_PLANTCOLONY + id = REAGENT_ID_PLANTCOLONY description = "Specialised cells designed to produce a large amount of nutriment once activated, whilst manufacturers have managed to stop these cells from taking over the body when ingested, it's still poisonous." taste_description = "a fibrous mess" reagent_state = LIQUID @@ -20,8 +20,8 @@ strength = 10 /datum/reagent/nutriment/grubshake - name = "Grub shake" - id = "grubshake" + name = REAGENT_GRUBSHAKE + id = REAGENT_ID_GRUBSHAKE description = "An odd fluid made from grub guts, supposedly filling." taste_description = "sparkles" taste_mult = 1.3 @@ -32,8 +32,8 @@ M.adjust_nutrition(-20 * removed) /datum/reagent/ethanol/burnout - name = "Burnout" - id = "burnout" + name = REAGENT_BURNOUT + id = REAGENT_ID_BURNOUT description = "A bubbling orange alcoholic fluid that radiates a large amount of heat." taste_description = "powerful alcoholic inferno" color = "#cc5500" @@ -42,7 +42,7 @@ adj_temp = 10 targ_temp = 380 - glass_name = "Burnout" + glass_name = REAGENT_BURNOUT glass_desc = "A swirling brew of fluids that leaves even the glass itself hot to the touch." /datum/reagent/ethanol/burnout/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -67,8 +67,8 @@ M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"), pick(span_danger("You feel like your insides are burning!"), span_danger("You feel like your insides are on fire!"), span_danger("You feel like your belly is full of lava!"))) /datum/reagent/ethanol/monstertamer - name = "Monster Tamer" - id = "monstertamer" + name = REAGENT_MONSTERTAMER + id = REAGENT_ID_MONSTERTAMER description = "A questionably-delicious blend of a carnivore's favorite food and a potent neural depressant." taste_description = "the gross yet satisfying combination of chewing on a raw steak while downing a shot of whiskey" strength = 50 @@ -77,7 +77,7 @@ var/alt_nutriment_factor = 5 //half as much as protein since it's half protein. //using a new variable instead of nutriment_factor so we can call ..() without that adding nutrition for us without taking factors for protein into account - glass_name = "Monster Tamer" + glass_name = REAGENT_MONSTERTAMER glass_desc = "This looks like a vaguely-alcoholic slurry of meat. Gross." /datum/reagent/ethanol/monstertamer/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -115,63 +115,63 @@ M.adjust_nutrition(alt_nutriment_factor * removed) /datum/reagent/ethanol/pink_russian - name = "Pink Russian" - id = "pinkrussian" + name = REAGENT_PINKRUSSIAN + id = REAGENT_ID_PINKRUSSIAN description = "Like a White Russian but with 100% more pink!" taste_description = "strawberry icecream, with a coffee kick" color = "#d789bd" strength = 15 - glass_name = "Pink Russian" + glass_name = REAGENT_PINKRUSSIAN glass_desc = "A very pink drink, yet with strong sense of power to it." /datum/reagent/ethanol/originalsin - name = "Original Sin" - id = "originalsin" + name = REAGENT_ORIGINALSIN + id = REAGENT_ID_ORIGINALSIN description = "Angel Ichor, entirely transformed by one drop of apple juice" taste_description = "the apple Eve gave to Adam" color = "#99CC35" strength = 17 - glass_name = "Original Sin" + glass_name = REAGENT_ORIGINALSIN glass_desc = "A drink so fine, you may just risk eternal damnation!" /datum/reagent/ethanol/newyorksour - name = "New York Sour" - id = "newyorksour" + name = REAGENT_NEWYORKSOUR + id = REAGENT_ID_NEWYORKSOUR description = "Whiskey sour, with a layer of wine and egg white." taste_description = "refreshing lemoned whiskey, smoothed with wine" color = "#FFBF3C" strength = 17 - glass_name = "New York Sour" + glass_name = REAGENT_NEWYORKSOUR glass_desc = "A carefully poured three layered drink" /datum/reagent/ethanol/windgarita - name = "WND-Garita" - id = "windgarita" + name = REAGENT_WINDGARITA + id = REAGENT_ID_WINDGARITA description = "A highly questionable combination of margarita and Space Mountain Wind" taste_description = "like sin, and some tequilia" color = "#90D93D" strength = 15 - glass_name = "WND-Garita" + glass_name = REAGENT_WINDGARITA glass_desc = "Who the hell comes up with these drinks?!" /datum/reagent/ethanol/mudslide - name = "Mudslide" - id = "mudslide" + name = REAGENT_MUDSLIDE + id = REAGENT_ID_MUDSLIDE description = "Vodka, Kahlua and Irish Cream together at last." taste_description = "a mocha milkshake, with a splash of vodka." color = "#8B6338" strength = 13 - glass_name = "Mudslide" + glass_name = REAGENT_MUDSLIDE glass_desc = "A richly coloured drink, comes with a chocolate garnish!" /datum/reagent/ethanol/galacticpanic - name = "Galactic Panic Attack" - id = "galacticpanic" + name = REAGENT_GALACTICPANIC + id = REAGENT_ID_GALACTICPANIC description = "The absolute worst thing you could ever put in your body." taste_description = "an entire galaxy collasping in on itself" strength = 10 @@ -180,7 +180,7 @@ var/adj_dizzy = 10 color = "#d3785d" - glass_name = "Galactic Panic Attack" + glass_name = REAGENT_GALACTICPANIC glass_desc = "Looking into this is like staring at the stars." /datum/reagent/ethanol/galacticpanic/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -197,30 +197,30 @@ M.slurring = max(M.slurring, 30) /datum/reagent/ethanol/bulldog - name = "Space Bulldog" - id = "bulldog" + name = REAGENT_BULLDOG + id = REAGENT_ID_BULLDOG description = "An inventive kahlua recipe." taste_description = "fizzy, creamy, soda and coffee hell" strength = 30 color = "#d3785d" - glass_name = "Space Bulldog" + glass_name = REAGENT_BULLDOG glass_desc = "It looks like someone poured cola in a cup of coffee." /datum/reagent/ethanol/sbagliato - name = "Negroni Sbagliato" - id = "sbagliato" + name = REAGENT_SBAGLIATO + id = REAGENT_ID_SBAGLIATO description = "A drink invented because a bartender was too drunk." taste_description = "sweet bubbly wine and vermouth" strength = 30 color = "#d3785d" - glass_name = "Negroni Sbagliato" + glass_name = REAGENT_SBAGLIATO glass_desc = "Bubbles constantly pop up to the surface with a quiet fizz." /datum/reagent/ethanol/italiancrisis - name = "Italian Crisis" - id = "italiancrisis" + name = REAGENT_ITALIANCRISIS + id = REAGENT_ID_ITALIANCRISIS description = "This drink was concocted by a madwoman, causing the Italian Crisis of 2123." taste_description = "cola, fruit, fizz, coffee, and cream swirled together in an old boot" strength = 20 @@ -229,34 +229,34 @@ var/adj_dizzy = 0 color = "#d3785d" - glass_name = "Italian Crisis" + glass_name = REAGENT_ITALIANCRISIS glass_desc = "This drink looks like it was a mistake." /datum/reagent/ethanol/sugarrush - name = "Sweet Rush" - id = "sugarrush" + name = REAGENT_SUGARRUSH + id = REAGENT_ID_SUGARRUSH description = "A favorite drink amongst poor bartenders living in Neo Detroit." taste_description = "sweet bubblegum vodka" strength = 30 color = "#d3785d" - glass_name = "Sweet Rush" + glass_name = REAGENT_SUGARRUSH glass_desc = "This looks like it might rot your teeth out." /datum/reagent/ethanol/lotus - name = "Lotus" - id = "lotus" + name = REAGENT_LOTUS + id = REAGENT_ID_LOTUS description = "The result of making one mistake after another and trying to cover it up with sugar." taste_description = "rich, sweet fruit and even more sugar" strength = 25 color = "#d3785d" - glass_name = "Lotus" + glass_name = REAGENT_LOTUS glass_desc = "A promotional drink for a movie that only ever played in Neo Detroit theatres." /datum/reagent/ethanol/shroomjuice - name = "Dumb Shroom Juice" - id = "shroomjuice" + name = REAGENT_SHROOMJUICE + id = REAGENT_ID_SHROOMJUICE description = "The mushroom farmer didn't sort through their stock very well." taste_description = "sweet and sour citrus with a savory kick" strength = 100 @@ -265,19 +265,19 @@ var/adj_dizzy = 30 color = "#d3785d" - glass_name = "Dumb Shroom Juice" + glass_name = REAGENT_SHROOMJUICE glass_desc = "Touch fuzzy, get dizzy." /datum/reagent/ethanol/russianroulette - name = "Russian Roulette" - id = "russianroulette" + name = REAGENT_RUSSIANROULETTE + id = REAGENT_ID_RUSSIANROULETTE description = "The perfect drink for wagering your liver on a game of cards." taste_description = "coffee, vodka, cream, and a hot metal slug" strength = 30 var/adj_dizzy = 30 color = "#d3785d" - glass_name = "Russian Roulette" + glass_name = REAGENT_RUSSIANROULETTE glass_desc = "A favorite drink amongst the Pan-Slavic speaking community." /datum/reagent/ethanol/russianroulette/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -287,8 +287,8 @@ M.Stun(2) /datum/reagent/ethanol/lovemaker - name = "The Love Maker" - id = "lovemaker" + name = REAGENT_LOVEMAKER + id = REAGENT_ID_LOVEMAKER description = "A drink said to help one find true love." taste_description = "sweet fruit and honey" strength = 30 @@ -299,35 +299,35 @@ targ_temp = 360 color = "#d3785d" - glass_name = "The Love Maker" + glass_name = REAGENT_LOVEMAKER glass_desc = "A drink said to help one find the perfect fuck." /datum/reagent/ethanol/honeyshot - name = "Honey Shot" - id = "honeyshot" + name = REAGENT_HONEYSHOT + id = REAGENT_ID_HONEYSHOT description = "The perfect drink for bees." taste_description = "sweet tart grenadine flavored with honey" strength = 40 var/adj_dizzy = 10 color = "#d3785d" - glass_name = "Honey shot" + glass_name = REAGENT_HONEYSHOT glass_desc = "A glass of golden liquid." /datum/reagent/ethanol/appletini - name = "Appletini" - id = "appletini" + name = REAGENT_APPLETINI + id = REAGENT_ID_APPLETINIT description = "A classic cocktail using every grandma's favorite fruit." taste_description = "green sour apple with a hint of alcohol" strength = 45 color = "#d3785d" - glass_name = "Appletini" + glass_name = REAGENT_APPLETINI glass_desc = "The perfect fruit cocktail for a fancy night at the bar." /datum/reagent/ethanol/glowingappletini - name = "Glowing Appletini" - id = "glowingappletini" + name = REAGENT_GLOWINGAPPLETINI + id = REAGENT_ID_GLOWINGAPPLETINI description = "A new nuclear take on a pre-modern classic!" taste_description = "overwhelmingly sour apples powered by a nuclear fission reactor" strength = 30 @@ -335,12 +335,12 @@ var/adj_dizzy = 20 color = "#d3785d" - glass_name = "Glowing Appletini" + glass_name = REAGENT_GLOWINGAPPLETINI glass_desc = "The atomic option to fruity cocktails." /datum/reagent/ethanol/scsatw - name = "Slow Comfortable Screw Against the Wall" - id = "scsatw" + name = REAGENT_SCSATW + id = REAGENT_ID_SCSATW description = "The screwdriver's bigger cousin." taste_description = "smooth, savory booze and tangy orange juice" strength = 30 @@ -349,22 +349,22 @@ var/adj_dizzy = 0 color = "#d3785d" - glass_name = "Slow Comfortable Screw Against the Wall" + glass_name = REAGENT_SCSATW glass_desc = "The best accessory to daydrinking." /datum/reagent/drink/choccymilk - name = "Choccy Milk" - id = "choccymilk" + name = REAGENT_CHOCCYMILK + id = REAGENT_ID_CHOCCYMILK description = "Coco and milk, a timeless classic." taste_description = "sophisticated bittersweet chocolate mixed with silky, creamy, whole milk" color = "#d3785d" - glass_name = "Choccy Milk" + glass_name = REAGENT_CHOCCYMILK glass_desc = "The most iconic duo in the galaxy, chocolate, and milk." /datum/reagent/ethanol/redspaceflush - name = "Red Space Flush" - id = "redspaceflush" + name = REAGENT_REDSPACEFLUSH + id = REAGENT_ID_REDSPACEFLUSH description = "A drink made by imbueing the essence of redspace into the spirits." taste_description = "whiskey and rum strung out through a hellish dimensional rift" strength = 30 @@ -372,66 +372,66 @@ var/adj_dizzy = 10 color = "#d3785d" - glass_name = "Redspace Flush" + glass_name = REAGENT_REDSPACEFLUSH glass_desc = "A drink imbued with the very essence of Redspace." /datum/reagent/drink/graveyard - name = "Graveyard" - id = "graveyard" + name = REAGENT_GRAVEYARD + id = REAGENT_ID_GRAVEYARD description = "The result of taking a cup and filling it with all the drinks at the fountain." taste_description = "sugar and fizz" color = "#d3785d" - glass_name = "Graveyard" + glass_name = REAGENT_GRAVEYARD glass_desc = "Hahaha softdrink machine go pshshhhhh..." /datum/reagent/ethanol/bigbeer - name = "Giant Beer" - id = "bigbeer" + name = REAGENT_BIGBEER + id = REAGENT_ID_BIGBEER description = "Bars in Neo Detroit started to sell this drink when the city put mandatory drink limits in 2289." taste_description = "beer, but bigger" strength = 40 color = "#d3785d" - glass_name = "Giant Beer" + glass_name = REAGENT_BIGBEER glass_desc = "The Neo Detroit beer and ale cocktail, perfect for your average drunk." /datum/reagent/ethanol/manager_summoner - name = "Manager Summoner" - id = "manager_summoner" + name = REAGENT_MANAGERSUMMONER + id = REAGENT_ID_MANAGERSUMMONER description = "A horrifying cocktail for those who desperately want feel above their peers." taste_description = "bitter and sweet, with a hint of superiority" strength = 30 color = "#c9716b" - glass_name = "Manager Summoner" + glass_name = REAGENT_MANAGERSUMMONER glass_desc = "The dreaded red juice of those who insist on taking advantage of minor positions of power to make the lives of bar staff unbearable." /datum/reagent/drink/sweettea - name = "Sweet Tea" - id = "sweettea" + name = REAGENT_SWEETTEA + id = REAGENT_ID_SWEETTEA description = "Tea that is sweetened with some form of sweetener." taste_description = "tea that is sweet" color = "#d3785d" - glass_name = "Sweet Tea" + glass_name = REAGENT_SWEETTEA glass_desc = "A southern classic. Southern what? You know, southern." /datum/reagent/ethanol/unsweettea - name = "Unsweetened Tea" - id = "unsweettea" + name = REAGENT_UNSWEETTEA + id = REAGENT_ID_UNSWEETTEA description = "A sick experiment to take the sweetness out of tea after sugar has been added resulted in this." taste_description = "bland, slightly bitter, discount black tea" strength = 80 druggy = 10 color = "#d3785d" - glass_name = "Unsweetened Tea" + glass_name = REAGENT_UNSWEETTEA glass_desc = "A drink with all the calories of sweet tea, but with none of the satisfaction. Slightly psychoactive." /datum/reagent/ethanol/hairoftherat - name = "Hair of the Rat" - id = "hairoftherat" + name = REAGENT_HAIROFTHERAT + id = REAGENT_ID_HAIROFTHERAT description = "A meatier version of the monster tamer, complete with extra meat." taste_description = "meat, whiskey, ground meat, and more meat" strength = 45 @@ -440,7 +440,7 @@ var/alt_nutriment_factor = 5 //half as much as protein since it's half protein. //using a new variable instead of nutriment_factor so we can call ..() without that adding nutrition for us without taking factors for protein into account - glass_name = "Hair of the Rat" + glass_name = REAGENT_HAIROFTHERAT glass_desc = "The alcoholic equivalent of saying your burger isn't cooked rare enough." /datum/reagent/ethanol/hairoftherat/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) @@ -480,8 +480,8 @@ //////////////////////Bepis Drinks (04/29/2021)////////////////////// /datum/reagent/drink/soda/bepis_cola - name = "Bepis" - id = "bepis" + name = REAGENT_BEPIS + id = REAGENT_ID_BEPIS description = "A weird cola-like beverage." taste_description = "bepsi" reagent_state = LIQUID @@ -489,13 +489,13 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Bepis Cola" + glass_name = REAGENT_BEPIS glass_desc = "A glass of weird cola beverage." glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/buzz_fuzz - name = "Buzz Fuzz" - id = "buzz_fuzz" + name = REAGENT_BUZZFUZZ + id = REAGENT_ID_BUZZFUZZ description = "A delicious frontier beverage that's simply a Hive of Flavour!" taste_description = "carbonated honey and pollen" reagent_state = LIQUID @@ -503,13 +503,13 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Buzz Fuzz" + glass_name = REAGENT_BUZZFUZZ glass_desc = "A glass that's stinging with flavour." glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/sprited_cranberry - name = "Sprited Cranberry" - id = "sprited_cranberry" + name = REAGENT_SPRITEDCRANBERRY + id = REAGENT_ID_SPRITEDCRANBERRY description = "A winter spiced cranberry drink. Perfect for year-round consumption." taste_description = "sweet spiced cranberry" reagent_state = LIQUID @@ -517,13 +517,13 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Sprited Cranberry" + glass_name = REAGENT_SPRITEDCRANBERRY glass_desc = "A glass of sprited cranberry" glass_special = list(DRINK_FIZZ) /datum/reagent/drink/soda/shamblers - name = "Shambler's Juice" - id = "shamblers" + name = REAGENT_SHAMBLERS + id = REAGENT_ID_SHAMBLERS description = "A strange off-brand beverage that's bursting with flavor." taste_description = "carbonated metallic soda" reagent_state = LIQUID @@ -531,15 +531,15 @@ adj_drowsy = -3 adj_temp = -5 - glass_name = "Shambler's Juice" + glass_name = REAGENT_SHAMBLERS glass_desc = "A glass of something shambly" glass_special = list(DRINK_FIZZ) ////////////////START BrainzSnax Reagents//////////////// /datum/reagent/nutriment/protein/brainzsnax - name = "grey matter" - id = "brain_protein" + name = REAGENT_BRAINPROTEIN + id = REAGENT_ID_BRAINPROTEIN taste_description = "fatty, mushy meat and allspice" color = "#caa3c9" @@ -560,150 +560,150 @@ log_and_message_admins("is no longer feral.", H) /datum/reagent/nutriment/protein/brainzsnax/red - id = "red_brain_protein" + id = REAGENT_ID_REDBRAINPROTEIN taste_description = "fatty, mushy meat and cheap tomato sauce" color = "#a6898d" ////////////////END BrainzSnax Reagents//////////////// /datum/reagent/nutriment/protein_powder - name = "Protein Powder" - id = "protein_powder" + name = REAGENT_PROTEINPOWDER + id = REAGENT_ID_PROTEINPOWDER description = "Pure, powdered protein commonly used as a meal supplement." taste_description = "powdery protein" color = "#f4e6dd" /datum/reagent/nutriment/protein_shake - name = "Protein Shake" - id = "protein_shake" + name = REAGENT_PROTEINSHAKE + id = REAGENT_ID_PROTEINSHAKE description = "A mixture of water and protein commonly used as a meal supplement." taste_description = "pure protein" color = "#ebd8cb" /datum/reagent/nutriment/protein_powder/vanilla - name = "Vanilla Protein Powder" - id = "vanilla_protein_powder" + name = REAGENT_VANILLAPROTEINPOWDER + id = REAGENT_ID_VANILLAPROTEINPOWDER description = "Pure, powdered protein commonly used as a meal supplement. This one has added vanilla flavoring." taste_description = "powdery vanilla" color = "#fff7d2" /datum/reagent/nutriment/protein_shake/vanilla - name = "Vanilla Protein Shake" - id = "vanilla_protein_shake" + name = REAGENT_VANILLAPROTEINSHAKE + id = REAGENT_ID_VANILLAPROTEINSHAKER description = "A mixture of water and protein commonly used as a meal supplement. This one has added vanilla flavoring." taste_description = "vanilla" color = "#faefbc" /datum/reagent/nutriment/protein_powder/banana - name = "Banana Protein Powder" - id = "banana_protein_powder" + name = REAGENT_BANANAPROTEINPOWDER + id = REAGENT_ID_BANANAPROTEINPOWDER description = "Pure, powdered protein commonly used as a meal supplement. This one has added banana flavoring." taste_description = "powdery banana" color = "#faefbc" /datum/reagent/nutriment/protein_shake/banana - name = "Banana Protein Powder" - id = "banana_protein_shake" + name = REAGENT_BANANAPROTEINSHAKE + id = REAGENT_ID_BANANAPROTEINSHAKE description = "A mixture of water and protein commonly used as a meal supplement. This one has added banana flavoring." taste_description = "banana" color = "#e6daa1" /datum/reagent/nutriment/protein_powder/chocolate - name = "Chocolate Protein Powder" - id = "chocolate_protein_powder" + name = REAGENT_CHOCOLATEPROTEINPOWDER + id = REAGENT_ID_CHOCOLATEPROTEINPOWDER description = "Pure, powdered protein commonly used as a meal supplement. This one has added chocolate flavoring." taste_description = "powdery chocolate" color = "#865b3e" /datum/reagent/nutriment/protein_shake/chocolate - name = "Chocolate Protein Shake" - id = "chocolate_protein_shake" + name = REAGENT_CHOCOLATEPROTEINSHAKE + id = REAGENT_ID_CHOCOLATEPROTEINSHAKE description = "A mixture of water and protein commonly used as a meal supplement. This one has added chocolate flavoring." taste_description = "chocolate" color = "#644730" /datum/reagent/nutriment/protein_powder/strawberry - name = "Strawberry Protein Powder" - id = "strawberry_protein_powder" + name = REAGENT_STRAWBERRYPROTEINPOWDER + id = REAGENT_ID_STRAWBERRYPROTEINPOWDER description = "Pure, powdered protein commonly used as a meal supplement. This one has added strawberry flavoring." taste_description = "powdery strawberry" color = "#eba1a1" /datum/reagent/nutriment/protein_shake/strawberry - name = "Strawberry Protein Shake" - id = "strawberry_protein_shake" + name = REAGENT_STRAWBERRYPROTEINSHAKE + id = REAGENT_ID_STRAWBERRYPROTEINSHAKE description = "A mixture of water and protein commonly used as a meal supplement. This one has added strawberry flavoring." taste_description = "strawberry" color = "#e28585" //SOUPS. Don't use the base soup reagent. /datum/reagent/drink/soup - name = "Soup" - id = "generic_soup" + name = REAGENT_SOUP + id = REAGENT_ID_SOUP description = "An indistinct soupy mass of nominal goodness, but questionable flavour." taste_description = "upsettingly bland soup" color = "#9a9a9a" nutrition = 30 //same as base nutriment /datum/reagent/drink/soup/tomato - name = "Tomato Soup" - id = "tomato_soup" + name = REAGENT_TOMATOSOUP + id = REAGENT_ID_TOMATOSOUP description = "A thick and creamy tomato soup. Delicious! Definitely not ketchup." taste_description = "rich, creamy tomato" color = "#e4612d" allergen_type = ALLERGEN_FRUIT //tomatoes are fruit, etc. etc. /datum/reagent/drink/soup/mushroom - name = "Cream of Mushroom Soup" - id = "mushroom_soup" + name = REAGENT_MUSHROOMSOUP + id = REAGENT_ID_MUSHROOMSOUP description = "A rich, earthy mushroom soup." taste_description = "earthy mushrooms" color = "#a59a83" allergen_type = ALLERGEN_FUNGI //shrooms! /datum/reagent/drink/soup/chicken - name = "Cream of Chicken Soup" - id = "chicken_soup" + name = REAGENT_CHICKENSOUP + id = REAGENT_ID_CHICKENSOUP description = "A fairly thick, warming chicken-based soup." taste_description = "savoury chicken goodness" color = "#d4c574" allergen_type = ALLERGEN_MEAT //plain ol' chimken /datum/reagent/drink/soup/chicken_noodle - name = "Chicken Noodle Soup" - id = "chicken_noodle_soup" + name = REAGENT_CHICKENNOODLESOUP + id = REAGENT_ID_CHICKENNOODLESOUP description = "A thin chicken broth with added noodles. If you're lucky there might be some chunks of chicken and veggies in there! Maybe." taste_description = "savoury chicken-noodle goodness" color = "#a27a41" allergen_type = ALLERGEN_MEAT|ALLERGEN_GRAINS|ALLERGEN_VEGETABLE //chicken + grain-based noodles + veggie chunks /datum/reagent/drink/soup/onion - name = "Onion Soup" - id = "onion_soup" + name = REAGENT_ONIONSOUP + id = REAGENT_ID_ONIONSOUP description = "A humble staple of humanity throughout the centuries." taste_description = "caramelized onions" color = "#5d3918" allergen_type = ALLERGEN_VEGETABLE //onions are veg, right? /datum/reagent/drink/soup/vegetable - name = "Vegetable Soup" - id = "vegetable_soup" + name = REAGENT_VEGETABLESOUP + id = REAGENT_ID_VEGETABLESOUP description = "A mix of various kinds of tasty vegetables, in soup format!" taste_description = "mixed vegetables" color = "#824005" allergen_type = ALLERGEN_VEGETABLE //mixed veg /datum/reagent/drink/soup/beet - name = "Beet Soup" - id = "beet_soup" + name = REAGENT_BEETSOUP + id = REAGENT_ID_BEETSOUP description = "A hearty mix of tomatoes and beets, with a meat stock base." taste_description = "sour tomatoes and some killer beets" color = "#471b1c" allergen_type = ALLERGEN_MEAT|ALLERGEN_FRUIT|ALLERGEN_VEGETABLE //meat stock, tomatoes, and beets /datum/reagent/drink/soup/hot_and_sour - name = "Hot & Sour Soup" - id = "hot_n_sour_soup" + name = REAGENT_HOTNSOURSOUP + id = REAGENT_ID_HOTNSOURSOUP description = "A spicy tofu-based soup." taste_description = "spicy, sour tofu" color = "#5f1b06" @@ -713,8 +713,8 @@ /datum/reagent/drink/coffee/nukie - name = "Nukie" - id = "nukie" + name = REAGENT_NUKIE + id = REAGENT_ID_NUKIE description = "An extremely concentrated caffinated drink." color = "#102838" adj_temp = 0 @@ -722,70 +722,70 @@ adj_drowsy = -5 adj_sleepy = -10 - glass_name = "nukie" + glass_name = REAGENT_ID_NUKIE glass_desc = "A drink to perk you up and refresh you!" overdose = 30 taste_description = "flavourless energy" /datum/reagent/drink/coffee/nukie/peach - name = "Nukie Peach" - id = "nukie_peach" + name = REAGENT_NUKIEPEACH + id = REAGENT_ID_NUKIEPEACH color = "#ffc76e" taste_description = "battery acid with a hint of artificial peach" /datum/reagent/drink/coffee/nukie/pear - name = "Nukie Pear" - id = "nukie_pear" + name = REAGENT_NUKIEPEAR + id = REAGENT_ID_NUKIEPEAR color = "#d4c03d" taste_description = "electrostimulation with a hint of artificial pear" /datum/reagent/drink/coffee/nukie/cherry - name = "Nukie Cherry" - id = "nukie_cherry" + name = REAGENT_NUKIECHERRY + id = REAGENT_ID_NUKIECHERRY color = "#b00707" taste_description = "the rapid acceleration of tooth decay with a hint of artificial cherry" /datum/reagent/drink/coffee/nukie/melon - name = "Nukie Melon" - id = "nukie_melon" + name = REAGENT_NUKIEMELON + id = REAGENT_ID_NUKIEMELON color = "#00bf06" taste_description = "something is crawling under your skin with a hint of artificial melon" /datum/reagent/drink/coffee/nukie/banana - name = "Nukie Banana" - id = "nukie_banana" + name = REAGENT_NUKIEBANANA + id = REAGENT_ID_NUKIEBANANA color = "#ffee00" taste_description = "imminent cardiac arrest with a hint of something that doesn't really taste like banana at all but is clearly intending to be banana" /datum/reagent/drink/coffee/nukie/rose - name = "Nukie Rose" - id = "nukie_rose" + name = REAGENT_NUKIEROSE + id = REAGENT_ID_NUKIEROSE color = "#ff7df4" taste_description = "paint stripper, space cleaner and some sort of cheap perfume" /datum/reagent/drink/coffee/nukie/lemon - name = "Nukie Lemon" - id = "nukie_lemon" + name = REAGENT_NUKIELEMON + id = REAGENT_ID_NUKIELEMON color = "#c3ff00" taste_description = "something that once resembled lemon mixed thoroughly with literal toxic waste" /datum/reagent/drink/coffee/nukie/fruit - name = "Nukie Fruit" - id = "nukie_fruit" + name = REAGENT_NUKIEFRUIT + id = REAGENT_ID_NUKIEFRUIT color = "#b300ff" taste_description = "the colour purple" /datum/reagent/drink/coffee/nukie/special - name = "Nukie Limited Edition" - id = "nukie_special" + name = REAGENT_NUKIESPECIAL + id = REAGENT_ID_NUKIESPECIAL color = "#ffffff" taste_description = "sitting in your college dorm one week before your exams start, staring at a screen without anything particularly interesting on, knowing that you should really be studying, but you can put it off for another day right? Plus your friends are gonna be getting on soon and there's an event starting that you need to prep for" /datum/reagent/drink/coffee/nukie/mega - name = "Mega Nukie" - id = "nukie_mega" + name = REAGENT_NUKIEMEGA + id = REAGENT_ID_NUKIEMEGA description = "An extremely dangerously concentrated caffinated drink." color = "#102838" adj_temp = 0 @@ -793,15 +793,15 @@ adj_drowsy = -5 adj_sleepy = -10 - glass_name = "nukie" + glass_name = REAGENT_ID_NUKIE glass_desc = "A drink that might just explode your heart!" overdose = 5 taste_description = "flavourless energy" /datum/reagent/drink/coffee/nukie/mega/sight - name = "Nukie Mega Plum" - id = "nukie_mega_sight" + name = REAGENT_NUKIEMEGASIGHT + id = REAGENT_ID_NUKIEMEGASIGHT color = "#f4fc03" taste_description = "seeing beyond the margins of this world" @@ -819,8 +819,8 @@ M.add_chemical_effect(CE_DARKSIGHT, 1) /datum/reagent/drink/coffee/nukie/mega/heart //Heals you pretty damn well but damages your heart - name = "Nukie Mega Juice" - id = "nukie_mega_heart" + name = REAGENT_NUKIEMEGAHEART + id = REAGENT_ID_NUKIEMEGAHEART color = "#fc03e7" taste_description = "the end is rapidly approaching, yet remains forever far" @@ -840,8 +840,8 @@ ..() /datum/reagent/drink/coffee/nukie/mega/nega //Makes you both jittery and sleepy - name = "Nukie Nega" - id = "nukie_mega_sleep" + name = REAGENT_NUKIEMEGASLEEP + id = REAGENT_ID_NUKIEMEGASLEEP color = "#00dded" taste_description = "the void encompassing you" adj_drowsy = 0 @@ -854,8 +854,8 @@ ..() /datum/reagent/drink/coffee/nukie/mega/shock //Rapidly fills you up and even repairs your NIF, unless you don't have one in which case you'll be confused. - name = "Nukie Mega Shock" - id = "nukie_mega_shock" + name = REAGENT_NUKIEMEGASHOCK + id = REAGENT_ID_NUKIEMEGASHOCK color = "#ede500" taste_description = "a thousand volts running down your spine" @@ -875,8 +875,8 @@ /datum/reagent/drink/coffee/nukie/mega/fast //Like hyperzine, but instead of overdosing, it occassionally burns you - name = "Nukie Mega Rapid" - id = "nukie_mega_fast" + name = REAGENT_NUKIEMEGAFAST + id = REAGENT_ID_NUKIEMEGAFAST color = "#000000" taste_description = "more, more, now, quick, get yourself some more, don't stop" @@ -888,8 +888,8 @@ M.add_chemical_effect(CE_SPEEDBOOST, 1) /datum/reagent/drink/coffee/nukie/mega/high //Simultaneously makes you high and hungry - name = "Nukie Mega Sky" - id = "nukie_mega_high" + name = REAGENT_NUKIEMEGAHIGH + id = REAGENT_ID_NUKIEMEGAHIGH color = "#fafafa" taste_description = "moreishness, you could really go for a proper snack right now" @@ -931,8 +931,8 @@ M.emote(pick("twitch", "giggle")) /datum/reagent/drink/coffee/nukie/mega/shrink //Basically microcillin but for ingesting - name = "Nukie Mega Shrink" - id = "nukie_mega_shrink" + name = REAGENT_NUKIEMEGASHRINK + id = REAGENT_ID_NUKIEMEGASHRINK color = "#15ff00" taste_description = "a plastic bag floating gently on the breeze" @@ -941,8 +941,8 @@ M.resize((M.size_multiplier - 0.01), uncapped = M.has_large_resize_bounds(), aura_animation = FALSE) /datum/reagent/drink/coffee/nukie/mega/grow //Basically macrocillin but for ingesting - name = "Nukie Mega Growth" - id = "nukie_mega_growth" + name = REAGENT_NUKIEMEGAGROWTH + id = REAGENT_ID_NUKIEMEGAGROWTH color = "#90ed87" taste_description = "absurd hugeness" diff --git a/code/modules/reagents/reagents/medicine.dm b/code/modules/reagents/reagents/medicine.dm index f75c208acd..54a813dcf5 100644 --- a/code/modules/reagents/reagents/medicine.dm +++ b/code/modules/reagents/reagents/medicine.dm @@ -1,9 +1,9 @@ /* General medicine */ /datum/reagent/inaprovaline - name = "Inaprovaline" - id = "inaprovaline" - description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients. Also counteracts allergic reactions." + name = REAGENT_INAPROVALINE + id = REAGENT_ID_INAPROVALINE + description = REAGENT_INAPROVALINE + " is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients. Also counteracts allergic reactions." taste_description = "bitterness" reagent_state = LIQUID color = "#00BFFF" @@ -18,9 +18,9 @@ M.remove_chemical_effect(CE_ALLERGEN) /datum/reagent/inaprovaline/topical - name = "Inaprovalaze" - id = "inaprovalaze" - description = "Inaprovalaze is a topical variant of Inaprovaline." + name = REAGENT_INAPROVALAZE + id = REAGENT_ID_INAPROVALAZE + description = REAGENT_INAPROVALAZE + " is a topical variant of Inaprovaline." taste_description = "bitterness" reagent_state = LIQUID color = "#00BFFF" @@ -41,9 +41,9 @@ M.add_chemical_effect(CE_PAINKILLER, 12 * M.species.chem_strength_pain) /datum/reagent/bicaridine - name = "Bicaridine" - id = "bicaridine" - description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." + name = REAGENT_BICARIDINE + id = REAGENT_ID_BICARIDINE + description = REAGENT_BICARIDINE + " is an analgesic medication and can be used to treat blunt trauma." taste_description = "bitterness" taste_mult = 3 reagent_state = LIQUID @@ -77,9 +77,9 @@ O.wounds -= W /datum/reagent/bicaridine/topical - name = "Bicaridaze" - id = "bicaridaze" - description = "Bicaridaze is a topical variant of the chemical Bicaridine." + name = REAGENT_BICARIDAZE + id = REAGENT_ID_BICARIDAZE + description = REAGENT_BICARIDAZE + " is a topical variant of the chemical Bicaridine." taste_description = "bitterness" taste_mult = 3 reagent_state = LIQUID @@ -105,8 +105,8 @@ M.heal_organ_damage(6 * removed * chem_effective, 0) /datum/reagent/calciumcarbonate - name = "calcium carbonate" - id = "calciumcarbonate" + name = REAGENT_CALCIUMCARBONATE + id = REAGENT_ID_CALCIUMCARBONATE description = "Calcium carbonate is a calcium salt commonly used as an antacid." taste_description = "chalk" reagent_state = SOLID @@ -124,9 +124,9 @@ M.add_chemical_effect(CE_ANTACID, 3) /datum/reagent/kelotane - name = "Kelotane" - id = "kelotane" - description = "Kelotane is a drug used to treat burns." + name = REAGENT_KELOTANE + id = REAGENT_ID_KELOTANE + description = REAGENT_KELOTANE + " is a drug used to treat burns." taste_description = "bitterness" reagent_state = LIQUID color = "#FFA800" @@ -142,9 +142,10 @@ M.heal_organ_damage(0, 4 * removed * chem_effective) //VOREStation edit /datum/reagent/dermaline - name = "Dermaline" - id = "dermaline" - description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." + name = REAGENT_DERMALINE + id = REAGENT_ID_DERMALINE + name = REAGENT_DERMALINE + description = REAGENT_DERMALINE + " is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." taste_description = "bitterness" taste_mult = 1.5 reagent_state = LIQUID @@ -160,9 +161,9 @@ M.heal_organ_damage(0, 8 * removed * chem_effective) //VOREStation edit /datum/reagent/dermaline/topical - name = "Dermalaze" - id = "dermalaze" - description = "Dermalaze is a topical variant of the chemical Dermaline." + name = REAGENT_DERMALAZE + id = REAGENT_ID_DERMALAZE + description = REAGENT_DERMALAZE + " is a topical variant of the chemical Dermaline." taste_description = "bitterness" taste_mult = 1.5 reagent_state = LIQUID @@ -188,9 +189,9 @@ M.heal_organ_damage(0, 12 * removed * chem_effective) /datum/reagent/dylovene - name = "Dylovene" - id = "anti_toxin" - description = "Dylovene is a broad-spectrum antitoxin." + name = REAGENT_ANTITOXIN + id = REAGENT_ID_ANTITOXIN + description = REAGENT_ANTITOXIN + " is a broad-spectrum antitoxin." taste_description = "a roll of gauze" reagent_state = LIQUID color = "#00A000" @@ -210,9 +211,9 @@ M.remove_a_modifier_of_type(/datum/modifier/poisoned) /datum/reagent/carthatoline - name = "Carthatoline" - id = "carthatoline" - description = "Carthatoline is strong evacuant used to treat severe poisoning." + name = REAGENT_CARTHATOLINE + id = REAGENT_ID_CARTHATOLINE + description = REAGENT_CARTHATOLINE + " is strong evacuant used to treat severe poisoning." reagent_state = LIQUID color = "#225722" scannable = 1 @@ -245,9 +246,9 @@ st?.take_damage(removed * 2) // Causes stomach contractions, makes sense for an overdose to make it much worse. /datum/reagent/dexalin - name = "Dexalin" - id = "dexalin" - description = "Dexalin is used in the treatment of oxygen deprivation." + name = REAGENT_DEXALIN + id = REAGENT_ID_DEXALIN + description = REAGENT_DEXALIN + " is used in the treatment of oxygen deprivation." taste_description = "bitterness" reagent_state = LIQUID color = "#0080FF" @@ -267,12 +268,12 @@ else if(alien != IS_DIONA) M.adjustOxyLoss(-15 * removed * M.species.chem_strength_heal) - holder.remove_reagent("lexorin", 8 * removed) //VOREStation Edit + holder.remove_reagent(REAGENT_ID_LEXORIN, 8 * removed) //VOREStation Edit /datum/reagent/dexalinp - name = "Dexalin Plus" - id = "dexalinp" - description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." + name = REAGENT_DEXALINP + id = REAGENT_ID_DEXALINP + description = REAGENT_DEXALINP + " is used in the treatment of oxygen deprivation. It is highly effective." taste_description = "bitterness" reagent_state = LIQUID color = "#0040FF" @@ -292,12 +293,12 @@ else if(alien != IS_DIONA) M.adjustOxyLoss(-150 * removed * M.species.chem_strength_heal) - holder.remove_reagent("lexorin", 3 * removed) + holder.remove_reagent(REAGENT_ID_LEXORIN, 3 * removed) /datum/reagent/tricordrazine - name = "Tricordrazine" - id = "tricordrazine" - description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." + name = REAGENT_TRICORDRAZINE + id = REAGENT_ID_TRICORDRAZINE + description = REAGENT_TRICORDRAZINE + " is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." taste_description = "bitterness" reagent_state = LIQUID color = "#8040FF" @@ -324,9 +325,9 @@ affect_blood(M, alien, removed * 0.4) /datum/reagent/tricorlidaze - name = "Tricorlidaze" - id = "tricorlidaze" - description = "Tricorlidaze is a topical gel produced with tricordrazine and sterilizine." + name = REAGENT_TRICORLIDAZE + id = REAGENT_ID_TRICORLIDAZE + description = REAGENT_TRICORLIDAZE + " is a topical gel produced with tricordrazine and sterilizine." taste_description = "bitterness" reagent_state = SOLID color = "#B060FF" @@ -360,8 +361,8 @@ remove_self(to_produce * 5) /datum/reagent/cryoxadone - name = "Cryoxadone" - id = "cryoxadone" + name = REAGENT_CRYOXADONE + id = REAGENT_ID_CRYOXADONE description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." taste_description = "overripe bananas" reagent_state = LIQUID @@ -385,8 +386,8 @@ M.adjustToxLoss(-10 * removed * chem_effective) /datum/reagent/clonexadone - name = "Clonexadone" - id = "clonexadone" + name = REAGENT_CLONEXADONE + id = REAGENT_ID_CLONEXADONE description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." taste_description = "rotten bananas" reagent_state = LIQUID @@ -411,8 +412,8 @@ M.adjustToxLoss(-30 * removed * chem_effective) /datum/reagent/mortiferin - name = "Mortiferin" - id = "mortiferin" + name = REAGENT_MORTIFERIN + id = REAGENT_ID_MORTIFERIN description = "A liquid compound based upon those used in cloning. Utilized in cases of toxic shock. May cause liver damage." taste_description = "meat" reagent_state = LIQUID @@ -454,8 +455,8 @@ L.take_damage(rand(1,3) * removed) /datum/reagent/necroxadone - name = "Necroxadone" - id = "necroxadone" + name = REAGENT_NECROXADONE + id = REAGENT_ID_NECROXADONE description = "A liquid compound based upon that which is used in the cloning process. Utilized primarily in severe cases of toxic shock." taste_description = "meat" reagent_state = LIQUID @@ -489,8 +490,8 @@ /* Painkillers */ /datum/reagent/paracetamol - name = "Paracetamol" - id = "paracetamol" + name = REAGENT_PARACETAMOL + id = REAGENT_ID_PARACETAMOL description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." taste_description = "bitterness" reagent_state = LIQUID @@ -514,8 +515,8 @@ M.hallucination = max(M.hallucination, 2) /datum/reagent/tramadol - name = "Tramadol" - id = "tramadol" + name = REAGENT_TRAMADOL + id = REAGENT_ID_TRAMADOL description = "A simple, yet effective painkiller." taste_description = "sourness" reagent_state = LIQUID @@ -538,8 +539,8 @@ M.hallucination = max(M.hallucination, 2) /datum/reagent/oxycodone - name = "Oxycodone" - id = "oxycodone" + name = REAGENT_OXYCODONE + id = REAGENT_ID_OXYCODONE description = "An effective and very addictive painkiller." taste_description = "bitterness" reagent_state = LIQUID @@ -567,9 +568,9 @@ /* Other medicine */ /datum/reagent/synaptizine - name = "Synaptizine" - id = "synaptizine" - description = "Synaptizine is used to treat various diseases." + name = REAGENT_SYNAPTIZINE + id = REAGENT_ID_SYNAPTIZINE + description = REAGENT_SYNAPTIZINE + " is used to treat various diseases." taste_description = "bitterness" reagent_state = LIQUID color = "#99CCFF" @@ -591,15 +592,15 @@ M.AdjustParalysis(-1) M.AdjustStunned(-1) M.AdjustWeakened(-1) - holder.remove_reagent("mindbreaker", 5) + holder.remove_reagent(REAGENT_ID_MINDBREAKER, 5) M.hallucination = max(0, M.hallucination - 10) M.adjustToxLoss(10 * removed * chem_effective) // It used to be incredibly deadly due to an oversight. Not anymore! M.add_chemical_effect(CE_PAINKILLER, 20 * chem_effective * M.species.chem_strength_pain) /datum/reagent/hyperzine - name = "Hyperzine" - id = "hyperzine" - description = "Hyperzine is a highly effective, long lasting, muscle stimulant." + name = REAGENT_HYPERZINE + id = REAGENT_ID_HYPERZINE + description = REAGENT_HYPERZINE + " is a highly effective, long lasting, muscle stimulant." taste_description = "bitterness" reagent_state = LIQUID color = "#FF3300" @@ -627,9 +628,9 @@ to_chat(M, span_warning("Huh... Is this what a heart attack feels like?")) /datum/reagent/alkysine - name = "Alkysine" - id = "alkysine" - description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." + name = REAGENT_ALKYSINE + id = REAGENT_ID_ALKYSINE + description = REAGENT_ALKYSINE + " is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." taste_description = "bitterness" reagent_state = LIQUID color = "#FFFF66" @@ -651,8 +652,8 @@ M.add_chemical_effect(CE_PAINKILLER, 10 * chem_effective * M.species.chem_strength_pain) /datum/reagent/imidazoline - name = "Imidazoline" - id = "imidazoline" + name = REAGENT_IMIDAZOLINE + id = REAGENT_ID_IMIDAZOLINE description = "Heals eye damage" taste_description = "dull toxin" reagent_state = LIQUID @@ -675,8 +676,8 @@ H.sdisabilities &= ~BLIND /datum/reagent/peridaxon - name = "Peridaxon" - id = "peridaxon" + name = REAGENT_PERIDAXON + id = REAGENT_ID_PERIDAXON description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." taste_description = "bitterness" reagent_state = LIQUID @@ -708,8 +709,8 @@ M.hallucination = max(M.hallucination, 10) /datum/reagent/osteodaxon - name = "Osteodaxon" - id = "osteodaxon" + name = REAGENT_OSTEODAXON + id = REAGENT_ID_OSTEODAXON description = "An experimental drug used to heal bone fractures." reagent_state = LIQUID color = "#C9BCE3" @@ -731,8 +732,8 @@ H.AdjustWeakened(1) //Bones being regrown will knock you over /datum/reagent/myelamine - name = "Myelamine" - id = "myelamine" + name = REAGENT_MYELAMINE + id = REAGENT_ID_MYELAMINE description = "Used to rapidly clot internal hemorrhages by increasing the effectiveness of platelets." reagent_state = LIQUID color = "#4246C7" @@ -778,8 +779,8 @@ O.wounds -= W /datum/reagent/respirodaxon - name = "Respirodaxon" - id = "respirodaxon" + name = REAGENT_RESPIRODAXON + id = REAGENT_ID_RESPIRODAXON description = "Used to repair the tissue of the lungs and similar organs." taste_description = "metallic" reagent_state = LIQUID @@ -801,7 +802,7 @@ if(I.damage > 0) I.damage = max(I.damage - 4 * removed * repair_strength, 0) H.Confuse(2) - if(M.reagents.has_reagent("gastirodaxon") || M.reagents.has_reagent("peridaxon")) + if(M.reagents.has_reagent(REAGENT_ID_GASTIRODAXON) || M.reagents.has_reagent(REAGENT_ID_PERIDAXON)) if(H.losebreath >= 15 && prob(H.losebreath)) H.Stun(2) else @@ -810,8 +811,8 @@ H.losebreath = max(H.losebreath - 4, 0) /datum/reagent/gastirodaxon - name = "Gastirodaxon" - id = "gastirodaxon" + name = REAGENT_GASTIRODAXON + id = REAGENT_ID_GASTIRODAXON description = "Used to repair the tissues of the digestive system." taste_description = "chalk" reagent_state = LIQUID @@ -833,7 +834,7 @@ if(I.damage > 0) I.damage = max(I.damage - 4 * removed * repair_strength, 0) H.Confuse(2) - if(M.reagents.has_reagent("hepanephrodaxon") || M.reagents.has_reagent("peridaxon")) + if(M.reagents.has_reagent(REAGENT_ID_HEPANEPHRODAXON) || M.reagents.has_reagent(REAGENT_ID_PERIDAXON)) if(prob(10)) H.vomit(1) else if(H.nutrition > 30) @@ -842,8 +843,8 @@ H.adjustToxLoss(-10 * removed) // Carthatoline based, considering cost. /datum/reagent/hepanephrodaxon - name = "Hepanephrodaxon" - id = "hepanephrodaxon" + name = REAGENT_HEPANEPHRODAXON + id = REAGENT_ID_HEPANEPHRODAXON description = "Used to repair the common tissues involved in filtration." taste_description = "glue" reagent_state = LIQUID @@ -865,7 +866,7 @@ if(I.damage > 0) I.damage = max(I.damage - 4 * removed * repair_strength, 0) H.Confuse(2) - if(M.reagents.has_reagent("cordradaxon") || M.reagents.has_reagent("peridaxon")) + if(M.reagents.has_reagent(REAGENT_ID_CORDRADAXON) || M.reagents.has_reagent(REAGENT_ID_PERIDAXON)) if(prob(5)) H.vomit(1) else if(prob(5)) @@ -876,8 +877,8 @@ H.adjustToxLoss(-12 * removed) // Carthatoline based, considering cost. /datum/reagent/cordradaxon - name = "Cordradaxon" - id = "cordradaxon" + name = REAGENT_CORDRADAXON + id = REAGENT_ID_CORDRADAXON description = "Used to repair the specialized tissues involved in the circulatory system." taste_description = "rust" reagent_state = LIQUID @@ -899,14 +900,14 @@ if(I.damage > 0) I.damage = max(I.damage - 4 * removed * repair_strength, 0) H.Confuse(2) - if(M.reagents.has_reagent("respirodaxon") || M.reagents.has_reagent("peridaxon")) + if(M.reagents.has_reagent(REAGENT_ID_HYRONALIN) || M.reagents.has_reagent(REAGENT_ID_PERIDAXON)) H.losebreath = CLAMP(H.losebreath + 1, 0, 10) else H.adjustOxyLoss(-30 * removed) // Deals with blood oxygenation. /datum/reagent/immunosuprizine - name = "Immunosuprizine" - id = "immunosuprizine" + name = REAGENT_IMMUNOSUPRIZINE + id = REAGENT_ID_IMMUNOSUPRIZINE description = "An experimental powder believed to have the ability to prevent any organ rejection." taste_description = "flesh" reagent_state = SOLID @@ -952,7 +953,7 @@ I.rejecting = 0 I.can_reject = FALSE - if(H.reagents.has_reagent("spaceacillin") || H.reagents.has_reagent("corophizine")) // Chemicals that increase your immune system's aggressiveness make this chemical's job harder. + if(H.reagents.has_reagent(REAGENT_ID_SPACEACILLIN) || H.reagents.has_reagent(REAGENT_ID_COROPHIZINE)) // Chemicals that increase your immune system's aggressiveness make this chemical's job harder. for(var/obj/item/organ/I in organtotal) if(I.transplant_data) var/rejectmem = I.can_reject @@ -962,8 +963,8 @@ I.take_damage(1) /datum/reagent/skrellimmuno - name = "Malish-Qualem" - id = "malish-qualem" + name = REAGENT_MALISHQUALEM + id = REAGENT_ID_MALISHQUALEM description = "A strange, oily powder used by Malish-Katish to prevent organ rejection." taste_description = "mordant" reagent_state = SOLID @@ -998,7 +999,7 @@ I.rejecting = 0 I.can_reject = FALSE - if(H.reagents.has_reagent("spaceacillin") || H.reagents.has_reagent("corophizine")) + if(H.reagents.has_reagent(REAGENT_ID_SPACEACILLIN) || H.reagents.has_reagent(REAGENT_ID_COROPHIZINE)) for(var/obj/item/organ/I in organtotal) if(I.transplant_data) var/rejectmem = I.can_reject @@ -1008,9 +1009,9 @@ I.take_damage(1) /datum/reagent/ryetalyn - name = "Ryetalyn" - id = "ryetalyn" - description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." + name = REAGENT_RYETALYN + id = REAGENT_ID_RYETALYN + description = REAGENT_RYETALYN + " can cure all genetic abnomalities via a catalytic process." taste_description = "acid" reagent_state = SOLID color = "#004000" @@ -1072,8 +1073,8 @@ M.add_chemical_effect(CE_SPEEDBOOST, 1) */ /datum/reagent/ethylredoxrazine - name = "Ethylredoxrazine" - id = "ethylredoxrazine" + name = REAGENT_ETHYLREDOXRAZINE + id = REAGENT_ID_ETHYLREDOXRAZINE description = "A powerful oxidizer that reacts with ethanol." taste_description = "bitterness" reagent_state = SOLID @@ -1105,9 +1106,9 @@ R.remove_self(removed * 20) /datum/reagent/hyronalin - name = "Hyronalin" - id = "hyronalin" - description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." + name = REAGENT_HYRONALIN + id = REAGENT_ID_HYRONALIN + description = REAGENT_HYRONALIN + " is a medicinal drug used to counter the effect of radiation poisoning." taste_description = "bitterness" reagent_state = LIQUID color = "#408000" @@ -1122,9 +1123,9 @@ M.accumulated_rads = max(M.accumulated_rads - 30 * removed * M.species.chem_strength_heal, 0) /datum/reagent/arithrazine - name = "Arithrazine" - id = "arithrazine" - description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." + name = REAGENT_ARITHRAZINE + id = REAGENT_ID_ARITHRAZINE + description = REAGENT_ARITHRAZINE + " is an unstable medication used for the most extreme cases of radiation poisoning." taste_description = "bitterness" reagent_state = LIQUID color = "#008000" @@ -1143,8 +1144,8 @@ M.take_organ_damage(4 * removed, 0) /datum/reagent/spaceacillin - name = "Spaceacillin" - id = "spaceacillin" + name = REAGENT_SPACEACILLIN + id = REAGENT_ID_SPACEACILLIN description = "An all-purpose antiviral agent." taste_description = "bitterness" reagent_state = LIQUID @@ -1172,8 +1173,8 @@ affect_blood(M, alien, removed * 0.8) // Not 100% as effective as injections, though still useful. /datum/reagent/corophizine - name = "Corophizine" - id = "corophizine" + name = REAGENT_COROPHIZINE + id = REAGENT_ID_COROPHIZINE description = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses." taste_description = "burnt toast" reagent_state = LIQUID @@ -1240,8 +1241,8 @@ eo.fracture() /datum/reagent/spacomycaze - name = "Spacomycaze" - id = "spacomycaze" + name = REAGENT_SPACOMYCAZE + id = REAGENT_ID_SPACOMYCAZE description = "An all-purpose painkilling antibiotic gel." taste_description = "oil" reagent_state = SOLID @@ -1289,8 +1290,8 @@ remove_self(to_produce) /datum/reagent/sterilizine - name = "Sterilizine" - id = "sterilizine" + name = REAGENT_STERILIZINE + id = REAGENT_ID_STERILIZINE description = "Sterilizes wounds in preparation for surgery and thoroughly removes blood." taste_description = "bitterness" reagent_state = LIQUID @@ -1341,8 +1342,8 @@ remove_self(amount) /datum/reagent/leporazine - name = "Leporazine" - id = "leporazine" + name = REAGENT_LEPORAZINE + id = REAGENT_ID_LEPORAZINE description = "Leporazine can be use to stabilize an individuals body temperature." taste_description = "bitterness" reagent_state = LIQUID @@ -1363,8 +1364,8 @@ M.bodytemperature = min(temp, M.bodytemperature + (40 * TEMPERATURE_DAMAGE_COEFFICIENT)) /datum/reagent/rezadone - name = "Rezadone" - id = "rezadone" + name = REAGENT_REZADONE + id = REAGENT_ID_REZADONE description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects." taste_description = "bitterness" reagent_state = SOLID @@ -1411,8 +1412,8 @@ // This exists to cut the number of chemicals a merc borg has to juggle on their hypo. /datum/reagent/healing_nanites - name = "Restorative Nanites" - id = "healing_nanites" + name = REAGENT_HEALINGNANITES + id = REAGENT_ID_HEALINGNANITES description = "Miniature medical robots that swiftly restore bodily damage." taste_description = "metal" reagent_state = SOLID @@ -1428,8 +1429,8 @@ M.adjustCloneLoss(-2 * removed) /datum/reagent/menthol - name = "Menthol" - id = "menthol" + name = REAGENT_MENTHOL + id = REAGENT_ID_MENTHOL description = "Tastes naturally minty, and imparts a very mild numbing sensation." taste_description = "mint" reagent_state = LIQUID @@ -1439,8 +1440,8 @@ scannable = 1 /datum/reagent/earthsblood - name = "Earthsblood" - id = "earthsblood" + name = REAGENT_EARTHSBLOOD + id = REAGENT_ID_EARTHSBLOOD description = "A rare plant extract with immense, almost magical healing capabilities. Induces a potent psychoactive state, damaging neurons with prolonged use." taste_description = "honey and sunlight" reagent_state = LIQUID diff --git a/code/modules/reagents/reagents/medicine_vr.dm b/code/modules/reagents/reagents/medicine_vr.dm index 4b8e0910c0..588aec525b 100644 --- a/code/modules/reagents/reagents/medicine_vr.dm +++ b/code/modules/reagents/reagents/medicine_vr.dm @@ -1,6 +1,6 @@ /datum/reagent/adranol - name = "Adranol" - id = "adranol" + name = REAGENT_ADRANOL + id = REAGENT_ID_ADRANOL description = "A mild sedative that calms the nerves and relaxes the patient." taste_description = "milk" reagent_state = LIQUID @@ -18,8 +18,8 @@ M.make_jittery(min(-25*removed,0)) /datum/reagent/numbing_enzyme - name = "Numbing Enzyme" - id = "numbenzyme" + name = REAGENT_NUMBENZYME + id = REAGENT_ID_NUMBENZYME description = "Some sort of organic painkiller." taste_description = "sourness" reagent_state = LIQUID @@ -61,8 +61,8 @@ H.stuttering += 20 /datum/reagent/vermicetol - name = "Vermicetol" - id = "vermicetol" + name = REAGENT_VERMICETOL + id = REAGENT_ID_VERMICETOL description = "A potent chemical that treats physical damage at an exceptional rate." taste_description = "sparkles" taste_mult = 3 @@ -79,8 +79,8 @@ M.heal_organ_damage(8 * removed * chem_effective, 0) /datum/reagent/sleevingcure - name = "Resleeving Sickness Cure" - id = "sleevingcure" + name = REAGENT_SLEEVINGCURE + id = REAGENT_ID_SLEEVINGCURE description = "A rare medication provided by Vey-Med that helps counteract negative side effects of using imperfect resleeving machinery." taste_description = "chocolate peanut butter" taste_mult = 2 @@ -96,8 +96,8 @@ /datum/reagent/prussian_blue //We don't have iodine, so prussian blue we go. - name = "Prussian Blue" - id = "prussian_blue" + name = REAGENT_PRUSSIANBLUE + id = REAGENT_ID_PRUSSIANBLUE description = "Prussian Blue is a medication used to temporarily pause the effects of radiation poisoning to allow for treatment. Does not treat radiation sickness on its own." taste_description = "salt" reagent_state = SOLID @@ -113,8 +113,8 @@ M.adjustToxLoss(-10 * removed) /datum/reagent/lipozilase // The anti-nutriment that rapidly removes weight. - name = "Lipozilase" - id = "lipozilase" + name = REAGENT_LIPOZILASE + id = REAGENT_ID_LIPOZILASE description = "A chemical compound that causes a dangerously powerful fat-burning reaction." taste_description = "blandness" reagent_state = LIQUID @@ -127,8 +127,8 @@ M.weight -= 0.3 /datum/reagent/lipostipo // The drug that rapidly increases weight. - name = "Lipostipo" - id = "lipostipo" + name = REAGENT_LIPOSTIPO + id = REAGENT_ID_LIPOSTIPO description = "A chemical compound that causes a dangerously powerful fat-adding reaction." taste_description = "blubber" reagent_state = LIQUID @@ -141,8 +141,8 @@ M.weight += 0.3 /datum/reagent/polymorph - name = "Transforitine" - id = "polymorph" + name = REAGENT_POLYMORPH + id = REAGENT_ID_POLYMORPH description = "A chemical that instantly transforms the consumer into another creature." taste_description = "luck" reagent_state = LIQUID @@ -315,8 +315,8 @@ return new_mob /datum/reagent/glamour - name = "Glamour" - id = "glamour" + name = REAGENT_GLAMOUR + id = REAGENT_ID_GLAMOUR description = "This material is from somewhere else, just being near produces changes." taste_description = "change" reagent_state = LIQUID diff --git a/code/modules/reagents/reagents/modifiers.dm b/code/modules/reagents/reagents/modifiers.dm index 16ba25db54..5b8f0614cb 100644 --- a/code/modules/reagents/reagents/modifiers.dm +++ b/code/modules/reagents/reagents/modifiers.dm @@ -3,8 +3,8 @@ */ /datum/reagent/modapplying - name = "brute juice" - id = "berserkmed" + name = REAGENT_BERSERKMED + id = REAGENT_ID_BERSERKMED description = "A liquid that is capable of causing a prolonged state of heightened aggression and durability." taste_description = "metal" reagent_state = LIQUID @@ -21,8 +21,8 @@ M.add_modifier(modifier_to_add, modifier_duration, suppress_failure = TRUE) /datum/reagent/modapplying/cryofluid - name = "cryogenic slurry" - id = "cryoslurry" + name = REAGENT_CRYOSLURRY + id = REAGENT_ID_CRYOSLURRY description = "An incredibly strange liquid that rapidly absorbs thermal energy from materials it contacts." taste_description = "siberian hellscape" color = "#4CDBDB" @@ -61,8 +61,8 @@ return /datum/reagent/modapplying/vatstabilizer - name = "clone growth inhibitor" - id = "vatstabilizer" + name = REAGENT_VATSTABILIZER + id = REAGENT_ID_VATSTABILIZER description = "A compound produced by NanoTrasen using a secret blend of phoron and toxins to stop the rampant growth of a clone beyond intended states." taste_description = "sour glue" color = "#060501" diff --git a/code/modules/reagents/reagents/other.dm b/code/modules/reagents/reagents/other.dm index ec7ccb3d2d..ee6a7f7eeb 100644 --- a/code/modules/reagents/reagents/other.dm +++ b/code/modules/reagents/reagents/other.dm @@ -1,8 +1,8 @@ /* Paint and crayons */ /datum/reagent/crayon_dust - name = "Crayon dust" - id = "crayon_dust" + name = REAGENT_CRAYONDUST + id = REAGENT_ID_CRAYONDUST description = "Intensely coloured powder obtained by grinding crayons." taste_description = "powdered wax" reagent_state = LIQUID @@ -10,48 +10,48 @@ overdose = 5 /datum/reagent/crayon_dust/red - name = "Red crayon dust" - id = "crayon_dust_red" + name = REAGENT_CRAYONDUSTRED + id = REAGENT_ID_CRAYONDUSTRED color = "#FE191A" /datum/reagent/crayon_dust/orange - name = "Orange crayon dust" - id = "crayon_dust_orange" + name = REAGENT_CRAYONDUSTORANGE + id = REAGENT_ID_CRAYONDUSTORANGE color = "#FFBE4F" /datum/reagent/crayon_dust/yellow - name = "Yellow crayon dust" - id = "crayon_dust_yellow" + name = REAGENT_CRAYONDUSTYELLOW + id = REAGENT_ID_CRAYONDUSTYELLOW color = "#FDFE7D" /datum/reagent/crayon_dust/green - name = "Green crayon dust" - id = "crayon_dust_green" + name = REAGENT_CRAYONDUSTGREEN + id = REAGENT_ID_CRAYONDUSTGREEN color = "#18A31A" /datum/reagent/crayon_dust/blue - name = "Blue crayon dust" - id = "crayon_dust_blue" + name = REAGENT_CRAYONDUSTBLUE + id = REAGENT_ID_CRAYONDUSTBLUE color = "#247CFF" /datum/reagent/crayon_dust/purple - name = "Purple crayon dust" - id = "crayon_dust_purple" + name = REAGENT_CRAYONDUSTPURPLE + id = REAGENT_ID_CRAYONDUSTPURPLE color = "#CC0099" /datum/reagent/crayon_dust/grey //Mime - name = "Grey crayon dust" - id = "crayon_dust_grey" + name = REAGENT_CRAYONDUSTGREY + id = REAGENT_ID_CRAYONDUSTGREY color = "#808080" /datum/reagent/crayon_dust/brown //Rainbow - name = "Brown crayon dust" - id = "crayon_dust_brown" + name = REAGENT_CRAYONDUSTBROWN + id = REAGENT_ID_CRAYONDUSTBROWN color = "#846F35" /datum/reagent/marker_ink - name = "Marker ink" - id = "marker_ink" + name = REAGENT_MARKERINK + id = REAGENT_ID_MARKERINK description = "Intensely coloured ink used in markers." taste_description = "extremely bitter" reagent_state = LIQUID @@ -59,53 +59,53 @@ overdose = 5 /datum/reagent/marker_ink/black - name = "Black marker ink" - id = "marker_ink_black" + name = REAGENT_MARKERINKBLACK + id = REAGENT_ID_MARKERINKBLACK color = "#000000" /datum/reagent/marker_ink/red - name = "Red marker ink" - id = "marker_ink_red" + name = REAGENT_MARKERINKRED + id = REAGENT_ID_MARKERINKRED color = "#FE191A" /datum/reagent/marker_ink/orange - name = "Orange marker ink" - id = "marker_ink_orange" + name = REAGENT_MARKERINKORANGE + id = REAGENT_ID_MARKERINKORANGE color = "#FFBE4F" /datum/reagent/marker_ink/yellow - name = "Yellow marker ink" - id = "marker_ink_yellow" + name = REAGENT_MARKERINKYELLOW + id = REAGENT_ID_MARKERINKYELLOW color = "#FDFE7D" /datum/reagent/marker_ink/green - name = "Green marker ink" - id = "marker_ink_green" + name = REAGENT_MARKERINKGREEN + id = REAGENT_ID_MARKERINKGREEN color = "#18A31A" /datum/reagent/marker_ink/blue - name = "Blue marker ink" - id = "marker_ink_blue" + name = REAGENT_MARKERINKBLUE + id = REAGENT_ID_MARKERINKBLUE color = "#247CFF" /datum/reagent/marker_ink/purple - name = "Purple marker ink" - id = "marker_ink_purple" + name = REAGENT_MARKERINKPURPLE + id = REAGENT_ID_MARKERINKPURPLE color = "#CC0099" /datum/reagent/marker_ink/grey //Mime - name = "Grey marker ink" - id = "marker_ink_grey" + name = REAGENT_MARKERINKGREY + id = REAGENT_ID_MARKERINKGREY color = "#808080" /datum/reagent/marker_ink/brown //Rainbow - name = "Brown marker ink" - id = "marker_ink_brown" + name = REAGENT_MARKERINKBROWN + id = REAGENT_ID_MARKERINKBROWN color = "#846F35" /datum/reagent/paint - name = "Paint" - id = "paint" + name = REAGENT_PAINT + id = REAGENT_ID_PAINT description = "This paint will stick to almost any object." taste_description = "chalk" reagent_state = LIQUID @@ -164,8 +164,8 @@ /* Things that didn't fit anywhere else */ /datum/reagent/adminordrazine //An OP chemical for admins - name = "Adminordrazine" - id = "adminordrazine" + name = REAGENT_ADMINORDRAZINE + id = REAGENT_ID_ADMINORDRAZINE description = "It's magic. We don't have to explain it." taste_description = "bwoink" reagent_state = LIQUID @@ -232,32 +232,32 @@ O.wounds -= W /datum/reagent/gold - name = "Gold" - id = "gold" + name = REAGENT_GOLD + id = REAGENT_ID_GOLD description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." taste_description = "metal" reagent_state = SOLID color = "#F7C430" /datum/reagent/silver - name = "Silver" - id = "silver" + name = REAGENT_SILVER + id = REAGENT_ID_SILVER description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." taste_description = "metal" reagent_state = SOLID color = "#D0D0D0" /datum/reagent/platinum - name = "Platinum" - id = "platinum" + name = REAGENT_PLATINUM + id = REAGENT_ID_PLATINUM description = "Platinum is a dense, malleable, ductile, highly unreactive, precious, gray-white transition metal. It is very resistant to corrosion." taste_description = "metal" reagent_state = SOLID color = "#777777" /datum/reagent/uranium - name ="Uranium" - id = "uranium" + name = REAGENT_URANIUM + id = REAGENT_ID_URANIUM description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." taste_description = "metal" reagent_state = SOLID @@ -279,37 +279,37 @@ return /datum/reagent/hydrogen/deuterium - name = "Deuterium" - id = "deuterium" + name = REAGENT_DEUTERIUM + id = REAGENT_ID_DEUTERIUM description = "A isotope of hydrogen. It has one extra neutron, and shares all chemical characteristics with hydrogen." /datum/reagent/hydrogen/tritium - name = "Tritium" - id = "tritium" + name = REAGENT_TRITIUM + id = REAGENT_ID_SLIMEJELLY description = "A radioactive isotope of hydrogen. It has two extra neutrons, and shares all other chemical characteristics with hydrogen." /datum/reagent/lithium/lithium6 - name = "Lithium-6" - id = "lithium6" + name = REAGENT_LITHIUM6 + id = REAGENT_ID_LITHIUM6 description = "An isotope of lithium. It has 3 neutrons, but shares all chemical characteristics with regular lithium." /datum/reagent/helium/helium3 - name = "Helium-3" - id = "helium3" + name = REAGENT_HELIUM3 + id = REAGENT_ID_HELIUM3 description = "An isotope of helium. It only has one neutron, but shares all chemical characteristics with regular helium." taste_mult = 0 reagent_state = GAS color = "#808080" /datum/reagent/boron/boron11 - name = "Boron-11" - id = "boron11" + name = REAGENT_BORON11 + id = REAGENT_ID_BORON11 description = "An isotope of boron. It has 6 neutrons." taste_description = "metallic" // Apparently noone on the internet knows what boron tastes like. Or at least they won't share /datum/reagent/supermatter - name = "Supermatter" - id = "supermatter" + name = REAGENT_SUPERMATTER + id = REAGENT_ID_SUPERMATTER color = "#fffd6b" reagent_state = SOLID affects_dead = TRUE @@ -332,8 +332,8 @@ /datum/reagent/adrenaline - name = "Adrenaline" - id = "adrenaline" + name = REAGENT_ADRENALINE + id = REAGENT_ID_ADRENALINE description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output." taste_description = "bitterness" reagent_state = LIQUID @@ -348,8 +348,8 @@ M.adjustToxLoss(rand(3)) /datum/reagent/water/holywater - name = "Holy Water" - id = "holywater" + name = REAGENT_HOLYWATER + id = REAGENT_ID_HOLYWATER description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality." taste_description = "water" color = "#E0E8EF" @@ -371,8 +371,8 @@ return /datum/reagent/ammonia - name = "Ammonia" - id = "ammonia" + name = REAGENT_AMMONIA + id = REAGENT_ID_AMMONIA description = "A caustic substance commonly used in fertilizer or household cleaners." taste_description = "mordant" taste_mult = 2 @@ -380,32 +380,32 @@ color = "#404030" /datum/reagent/diethylamine - name = "Diethylamine" - id = "diethylamine" + name = REAGENT_DIETHYLAMINE + id = REAGENT_ID_DIETHYLAMINE description = "A secondary amine, mildly corrosive." - taste_description = "iron" + taste_description = REAGENT_ID_IRON reagent_state = LIQUID color = "#604030" /datum/reagent/fluorosurfactant // Foam precursor - name = "Fluorosurfactant" - id = "fluorosurfactant" + name = REAGENT_FLUOROSURFACTANT + id = REAGENT_ID_FLUOROSURFACTANT description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." taste_description = "metal" reagent_state = LIQUID color = "#9E6B38" /datum/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. - name = "Foaming agent" - id = "foaming_agent" + name = REAGENT_FOAMINGAGENT + id = REAGENT_ID_FOAMINGAGENT description = "A agent that yields metallic foam when mixed with light metal and a strong acid." taste_description = "metal" reagent_state = SOLID color = "#664B63" /datum/reagent/thermite - name = "Thermite" - id = "thermite" + name = REAGENT_THERMITE + id = REAGENT_ID_THERMITE description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." taste_description = "sweet tasting metal" reagent_state = SOLID @@ -431,8 +431,8 @@ M.adjustFireLoss(3 * removed) /datum/reagent/space_cleaner - name = "Space cleaner" - id = "cleaner" + name = REAGENT_CLEANER + id = REAGENT_ID_CLEANER description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" taste_description = "sourness" reagent_state = LIQUID @@ -512,8 +512,8 @@ H.visible_message(span_notice("[H]\'s [S.name] is put out.")) /datum/reagent/lube // TODO: spraying on borgs speeds them up - name = "Space Lube" - id = "lube" + name = REAGENT_LUBE + id = REAGENT_ID_LUBE description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." taste_description = "slime" reagent_state = LIQUID @@ -527,8 +527,8 @@ T.wet_floor(2) /datum/reagent/silicate - name = "Silicate" - id = "silicate" + name = REAGENT_SILICATE + id = REAGENT_ID_SILICATE description = "A compound that can be used to reinforce glass." taste_description = "plastic" reagent_state = LIQUID @@ -543,24 +543,24 @@ return /datum/reagent/glycerol - name = "Glycerol" - id = "glycerol" + name = REAGENT_GLYCEROL + id = REAGENT_ID_GLYCEROL description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." taste_description = "sweetness" reagent_state = LIQUID color = "#808080" /datum/reagent/nitroglycerin - name = "Nitroglycerin" - id = "nitroglycerin" + name = REAGENT_NITROGLYCERIN + id = REAGENT_ID_NITROGLYCERIN description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." taste_description = "oil" reagent_state = LIQUID color = "#808080" /datum/reagent/coolant - name = "Coolant" - id = "coolant" + name = REAGENT_COOLANT + id = REAGENT_ID_COOLANT description = "Industrial cooling substance." taste_description = "sourness" taste_mult = 1.1 @@ -576,33 +576,33 @@ var/datum/reagent/blood/coolant = H.get_blood(H.vessel) if(coolant) - H.vessel.add_reagent("blood", removed, coolant.data) + H.vessel.add_reagent(REAGENT_ID_BLOOD, removed, coolant.data) else - H.vessel.add_reagent("blood", removed) + H.vessel.add_reagent(REAGENT_ID_BLOOD, removed) H.fixblood() else ..() /datum/reagent/ultraglue - name = "Ultra Glue" - id = "glue" + name = REAGENT_GLUE + id = REAGENT_ID_GLUE description = "An extremely powerful bonding agent." taste_description = "a special education class" color = "#FFFFCC" /datum/reagent/woodpulp - name = "Wood Pulp" - id = "woodpulp" + name = REAGENT_WOODPULP + id = REAGENT_ID_WOODPULP description = "A mass of wood fibers." taste_description = "wood" reagent_state = LIQUID color = "#B97A57" /datum/reagent/luminol - name = "Luminol" - id = "luminol" + name = REAGENT_LUMINOL + id = REAGENT_ID_LUMINOL description = "A compound that interacts with blood on the molecular level." taste_description = "metal" reagent_state = LIQUID @@ -617,16 +617,16 @@ L.reveal_blood() /datum/reagent/nutriment/biomass - name = "Biomass" - id = "biomass" + name = REAGENT_BIOMASS + id = REAGENT_ID_BIOMASS description = "A slurry of compounds that contains the basic requirements for life." taste_description = "salty meat" reagent_state = LIQUID color = "#DF9FBF" /datum/reagent/mineralfluid - name = "Mineral-Rich Fluid" - id = "mineralizedfluid" + name = REAGENT_MINERALIZEDFLUID + id = REAGENT_ID_MINERALIZEDFLUID description = "A warm, mineral-rich fluid." taste_description = "salt" reagent_state = LIQUID @@ -634,8 +634,8 @@ // The opposite to healing nanites, exists to make unidentified hypos implied to have nanites not be 100% safe. /datum/reagent/defective_nanites - name = "Defective Nanites" - id = "defective_nanites" + name = REAGENT_DEFECTIVENANITES + id = REAGENT_ID_DEFECTIVENANITES description = "Miniature medical robots that are malfunctioning and cause bodily harm. Fortunately, they cannot self-replicate." taste_description = "metal" reagent_state = SOLID @@ -650,8 +650,8 @@ M.adjustCloneLoss(2 * removed) /datum/reagent/nutriment/fishbait - name = "Fish Bait" - id = "fishbait" + name = REAGENT_FISHBAIT + id = REAGENT_ID_FISHBAIT description = "A natural slurry that particularily appeals to fish." taste_description = "slimy dirt" reagent_state = LIQUID @@ -659,72 +659,72 @@ nutriment_factor = 15 /datum/reagent/carpet - name = "Liquid Carpet" - id = "liquidcarpet" + name = REAGENT_LIQUIDCARPET + id = REAGENT_ID_LIQUIDCARPET description = "Liquified carpet fibers, ready for dyeing." reagent_state = LIQUID color = "#b51d05" taste_description = "carpet" /datum/reagent/carpet/black - name = "Liquid Black Carpet" - id = "liquidcarpetb" + name = REAGENT_LIQUIDCARPETB + id = REAGENT_ID_LIQUIDCARPETB description = "Black Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#000000" taste_description = "rare and ashy carpet" /datum/reagent/carpet/blue - name = "Liquid Blue Carpet" - id = "liquidcarpetblu" + name = REAGENT_LIQUIDCARPETBLU + id = REAGENT_ID_LIQUIDCARPETBLU description = "Blue Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#3f4aee" taste_description = "commanding carpet" /datum/reagent/carpet/turquoise - name = "Liquid Turquoise Carpet" - id = "liquidcarpettur" + name = REAGENT_LIQUIDCARPETTUR + id = REAGENT_ID_LIQUIDCARPETTUR description = "Turquoise Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#0592b5" taste_description = "water-logged carpet" /datum/reagent/carpet/sblue - name = "Liquid Silver Blue Carpet" - id = "liquidcarpetsblu" + name = REAGENT_LIQUIDCARPETSBLU + id = REAGENT_ID_LIQUIDCARPETSBLU description = "Silver Blue Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#0011ff" taste_description = "sterile and medicinal carpet" /datum/reagent/carpet/clown - name = "Liquid Clown Carpet" - id = "liquidcarpetc" + name = REAGENT_LIQUIDCARPETC + id = REAGENT_ID_LIQUIDCARPETC description = "Clown Carpet Fibers.... No clowns were harmed in the making of this." reagent_state = LIQUID color = "#e925be" taste_description = "clown shoes and banana peels" /datum/reagent/carpet/purple - name = "Liquid Purple Carpet" - id = "liquidcarpetp" + name = REAGENT_LIQUIDCARPETP + id = REAGENT_ID_LIQUIDCARPETP description = "Purple Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#a614d3" taste_description = "bleeding edge carpet research" /datum/reagent/carpet/orange - name = "Liquid Orange Carpet" - id = "liquidcarpeto" + name = REAGENT_LIQUIDCARPETO + id = REAGENT_ID_LIQUIDCARPETO description = "Orange Carpet Fibers, ready for reinforcement." reagent_state = LIQUID color = "#f16e16" taste_description = "extremely overengineered carpet" /datum/reagent/essential_oil - name = "Essential Oils" - id = "essential_oil" + name = REAGENT_ESSENTIALOIL + id = REAGENT_ID_ESSENTIALOIL description = "A slurry of compounds that contains the basic requirements for life." taste_description = "a mixture of thick, sweet, salty, salty and spicy flavours that all blend together to not be very nice at all" reagent_state = LIQUID diff --git a/code/modules/reagents/reagents/other_vr.dm b/code/modules/reagents/reagents/other_vr.dm index 287f181056..7d51aa4315 100644 --- a/code/modules/reagents/reagents/other_vr.dm +++ b/code/modules/reagents/reagents/other_vr.dm @@ -1,6 +1,6 @@ /datum/reagent/advmutationtoxin - name = "Advanced Mutation Toxin" - id = "advmutationtoxin" + name = REAGENT_ADVMUTATIONTOXIN + id = REAGENT_ID_ADVMUTATIONTOXIN description = "A corruptive toxin produced by slimes. Turns the subject of the chemical into a Promethean." reagent_state = LIQUID color = "#13BC5E" @@ -31,8 +31,8 @@ torso.implants += BI /datum/reagent/nif_repair_nanites - name = "Programmed Nanomachines" - id = "nifrepairnanites" + name = REAGENT_NIFREPAIRNANITES + id = REAGENT_ID_NIFREPAIRNANITES description = "A thick grey slurry of NIF repair nanomachines." taste_description = "metallic" reagent_state = LIQUID @@ -50,8 +50,8 @@ nif.repair(removed) /datum/reagent/firefighting_foam - name = "Firefighting Foam" - id = "firefoam" + name = REAGENT_FIREFOAM + id = REAGENT_ID_FIREFOAM description = "A historical fire suppressant. Originally believed to simply displace oxygen to starve fires, it actually interferes with the combustion reaction itself. Vastly superior to the cheap water-based extinguishers found on most NT vessels." reagent_state = LIQUID color = "#A6FAFF" @@ -95,8 +95,8 @@ M.ExtinguishMob() /datum/reagent/liquid_protean - name = "Liquid protean" - id = "liquid_protean" + name = REAGENT_LIQUIDPROTEAN + id = REAGENT_ID_LIQUIDPROTEAN description = "This seems to be a small portion of a Protean creature, still slightly wiggling." taste_description = "wiggly peanutbutter" reagent_state = LIQUID @@ -124,8 +124,8 @@ //Special toxins for solargrubs /datum/reagent/grubshock - name = "200 V" //in other words a painful shock - id = "shockchem" + name = REAGENT_SHOCKCHEM //in other words a painful shock + id = REAGENT_ID_SHOCKCHEM description = "A liquid that quickly dissapates to deliver a painful shock." reagent_state = LIQUID color = "#E4EC2F" diff --git a/code/modules/reagents/reagents/toxins.dm b/code/modules/reagents/reagents/toxins.dm index c0545b8b06..51dfaf0fb7 100644 --- a/code/modules/reagents/reagents/toxins.dm +++ b/code/modules/reagents/reagents/toxins.dm @@ -1,8 +1,8 @@ /* Toxins, poisons, venoms */ /datum/reagent/toxin - name = "toxin" - id = "toxin" + name = REAGENT_TOXIN + id = REAGENT_ID_TOXIN description = "A toxic chemical." taste_description = "bitterness" taste_mult = 1.2 @@ -29,8 +29,8 @@ affect_blood(M, alien, removed * 0.2) /datum/reagent/toxin/plasticide - name = "Plasticide" - id = "plasticide" + name = REAGENT_PLASTICIDE + id = REAGENT_ID_PLASTICIDE description = "Liquid plastic, do not eat." taste_description = "plastic" reagent_state = LIQUID @@ -38,8 +38,8 @@ strength = 5 /datum/reagent/toxin/amatoxin - name = "Amatoxin" - id = "amatoxin" + name = REAGENT_AMATOXIN + id = REAGENT_ID_AMATOXIN description = "A powerful poison derived from certain species of mushroom." taste_description = "mushroom" reagent_state = LIQUID @@ -52,8 +52,8 @@ M.adjustToxLoss(max_dose * strength * removed / (max_dose * 0.2)) /datum/reagent/toxin/carpotoxin - name = "Carpotoxin" - id = "carpotoxin" + name = REAGENT_CARPOTOXIN + id = REAGENT_ID_CARPOTOXIN description = "A deadly neurotoxin produced by the dreaded space carp." taste_description = "fish" reagent_state = LIQUID @@ -65,8 +65,8 @@ M.adjustBrainLoss(strength / 4 * removed) /datum/reagent/toxin/neurotoxic_protein - name = "toxic protein" - id = "neurotoxic_protein" + name = REAGENT_NEUROTOXIC_PROTEIN + id = REAGENT_ID_NEUROTOXIC_PROTEIN description = "A weak neurotoxic chemical." taste_description = "fish" reagent_state = LIQUID @@ -89,8 +89,8 @@ //R-UST port // Produced during deuterium synthesis. Super poisonous, SUPER flammable (doesn't need oxygen to burn). /datum/reagent/toxin/hydrophoron - name = "Hydrophoron" - id = "hydrophoron" + name = REAGENT_HYDROPHORON + id = REAGENT_ID_HYDROPHORON description = "An exceptionally flammable molecule formed from deuterium synthesis." strength = 80 var/fire_mult = 30 @@ -109,9 +109,9 @@ if(!istype(T)) return ..() - T.assume_gas("phoron", CEILING(volume/2, 1), T20C) + T.assume_gas(GAS_PHORON, CEILING(volume/2, 1), T20C) for(var/turf/simulated/floor/target_tile in range(0,T)) - target_tile.assume_gas("phoron", volume/2, 400+T0C) + target_tile.assume_gas(GAS_PHORON, volume/2, 400+T0C) spawn (0) target_tile.hotspot_expose(700, 400) remove_self(volume) @@ -125,22 +125,22 @@ M.IgniteMob() /datum/reagent/toxin/lead - name = "lead" - id = "lead" + name = REAGENT_LEAD + id = REAGENT_ID_LEAD description = "Elemental Lead." color = "#273956" strength = 4 /datum/reagent/toxin/spidertoxin - name = "Spidertoxin" - id = "spidertoxin" + name = REAGENT_SPIDERTOXIN + id = REAGENT_ID_SPIDERTOXIN description = "A liquifying toxin produced by giant spiders." color = "#2CE893" strength = 5 /datum/reagent/toxin/phoron - name = "Phoron" - id = "phoron" + name = REAGENT_PHORON + id = REAGENT_ID_PHORON description = "Phoron in its liquid form." taste_mult = 1.5 reagent_state = LIQUID @@ -175,12 +175,12 @@ ..() if(!istype(T)) return - T.assume_gas("volatile_fuel", amount, T20C) + T.assume_gas(GAS_VOLATILE_FUEL, amount, T20C) remove_self(amount) /datum/reagent/toxin/cyanide //Fast and Lethal - name = "Cyanide" - id = "cyanide" + name = REAGENT_CYANIDE + id = REAGENT_ID_CYANIDE description = "A highly toxic chemical." taste_description = "almond" taste_mult = 0.6 @@ -195,8 +195,8 @@ M.Sleeping(1) /datum/reagent/toxin/mold - name = "Mold" - id = "mold" + name = REAGENT_MOLD + id = REAGENT_ID_MOLD description = "A mold is a fungus that causes biodegradation of natural materials. This variant contains mycotoxins, and is dangerous to humans." taste_description = "mold" reagent_state = SOLID @@ -208,8 +208,8 @@ M.vomit() /datum/reagent/toxin/expired_medicine - name = "Expired Medicine" - id = "expired_medicine" + name = REAGENT_EXPIREDMEDICINE + id = REAGENT_ID_EXPIREDMEDICINE description = "Some form of liquid medicine that is well beyond its shelf date. Administering it now would cause illness." taste_description = "bitterness" reagent_state = LIQUID @@ -226,8 +226,8 @@ /datum/reagent/toxin/stimm //Homemade Hyperzine - name = "Stimm" - id = "stimm" + name = REAGENT_STIMM + id = REAGENT_ID_STIMM description = "A homemade stimulant with some serious side-effects." taste_description = "sweetness" taste_mult = 1.8 @@ -257,8 +257,8 @@ to_chat(M, span_warning("Huh... Is this what a heart attack feels like?")) /datum/reagent/toxin/potassium_chloride - name = "Potassium Chloride" - id = "potassium_chloride" + name = REAGENT_POTASSIUMCHLORIDE + id = REAGENT_ID_POTASSIUMCHLORIDE description = "A delicious salt that stops the heart when injected into cardiac muscle." taste_description = "salt" reagent_state = SOLID @@ -283,8 +283,8 @@ H.Weaken(10) /datum/reagent/toxin/potassium_chlorophoride - name = "Potassium Chlorophoride" - id = "potassium_chlorophoride" + name = REAGENT_POTASSIUMCHLOROPHORIDE + id = REAGENT_ID_POTASSIUMCHLOROPHORIDE description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!" taste_description = "salt" reagent_state = SOLID @@ -306,8 +306,8 @@ M.adjustFireLoss(removed * 3) /datum/reagent/toxin/zombiepowder - name = "Zombie Powder" - id = "zombiepowder" + name = REAGENT_ZOMBIEPOWDER + id = REAGENT_ID_ZOMBIEPOWDER description = "A strong neurotoxin that puts the subject into a death-like state." taste_description = "numbness" reagent_state = SOLID @@ -333,8 +333,8 @@ return ..() /datum/reagent/toxin/lichpowder - name = "Lich Powder" - id = "lichpowder" + name = REAGENT_LICHPOWDER + id = REAGENT_ID_LICHPOWDER description = "A stablized nerve agent that puts the subject into a strange state of un-death." reagent_state = SOLID color = "#666666" @@ -362,8 +362,8 @@ return ..() /datum/reagent/toxin/fertilizer //Reagents used for plant fertilizers. - name = "fertilizer" - id = "fertilizer" + name = REAGENT_FERTILIZER + id = REAGENT_ID_FERTILIZER description = "A chemical mix good for growing plants with." taste_description = "plant food" taste_mult = 0.5 @@ -372,20 +372,20 @@ color = "#664330" /datum/reagent/toxin/fertilizer/eznutrient - name = "EZ Nutrient" - id = "eznutrient" + name = REAGENT_EZNUTRIENT + id = REAGENT_ID_EZNUTRIENT /datum/reagent/toxin/fertilizer/left4zed - name = "Left-4-Zed" - id = "left4zed" + name = REAGENT_LEFT4ZED + id = REAGENT_ID_LEFT4ZED /datum/reagent/toxin/fertilizer/robustharvest - name = "Robust Harvest" - id = "robustharvest" + name = REAGENT_ROBUSTHARVEST + id = REAGENT_ID_ROBUSTHARVEST /datum/reagent/toxin/fertilizer/tannin - name = "tannin" - id = "tannin" + name = REAGENT_TANNIN + id = REAGENT_ID_TANNIN description = "A chemical found in some plants as a natural pesticide. It may also aid in regulating growth." taste_description = "puckering" taste_mult = 1.2 @@ -401,8 +401,8 @@ ..() /datum/reagent/toxin/plantbgone - name = "Plant-B-Gone" - id = "plantbgone" + name = REAGENT_PLANTBGONE + id = REAGENT_ID_PLANTBGONE description = "A harmful toxic mixture to kill plantlife. Do not ingest!" taste_mult = 1 reagent_state = LIQUID @@ -436,8 +436,8 @@ M.adjustToxLoss(50 * removed) /datum/reagent/toxin/sifslurry - name = "Sivian Sap" - id = "sifsap" + name = REAGENT_SIFSAP + id = REAGENT_ID_SIFSAP description = "A natural slurry comprised of fluorescent bacteria native to Sif, in the Vir system." taste_description = "sour" reagent_state = LIQUID @@ -466,8 +466,8 @@ affect_blood(M, alien, removed * 0.7) /datum/reagent/acid/polyacid - name = "Polytrinic acid" - id = "pacid" + name = REAGENT_PACID + id = REAGENT_ID_PACID description = "Polytrinic acid is a an extremely corrosive chemical substance." taste_description = "acid" reagent_state = LIQUID @@ -476,8 +476,8 @@ meltdose = 4 /datum/reagent/acid/digestive - name = "Digestive acid" - id = "stomacid" + name = REAGENT_STOMACID + id = REAGENT_ID_STOMACID description = "Some form of digestive slurry." taste_description = "vomit" reagent_state = LIQUID @@ -486,8 +486,8 @@ meltdose = 30 /datum/reagent/thermite/venom - name = "Pyrotoxin" - id = "thermite_v" + name = REAGENT_THERMITEV + id = REAGENT_ID_THERMITEV description = "A biologically produced compound capable of melting steel or other metals, similarly to thermite." taste_description = "sweet chalk" reagent_state = SOLID @@ -508,8 +508,8 @@ to_chat(M, span_critical("Some of your veins rupture, the exposed blood igniting!")) /datum/reagent/condensedcapsaicin/venom - name = "Irritant toxin" - id = "condensedcapsaicin_v" + name = REAGENT_CONDENSEDCAPSAICINV + id = REAGENT_ID_CONDENSEDCAPSAICINV description = "A biological agent that acts similarly to pepperspray. This compound seems to be particularly cruel, however, capable of permeating the barriers of blood vessels." taste_description = "fire" color = "#B31008" @@ -530,8 +530,8 @@ M.eye_blurry = max(M.eye_blurry, 10) /datum/reagent/lexorin - name = "Lexorin" - id = "lexorin" + name = REAGENT_LEXORIN + id = REAGENT_ID_LEXORIN description = "Lexorin temporarily stops respiration. Causes tissue damage." taste_description = "acid" reagent_state = LIQUID @@ -558,8 +558,8 @@ M.AdjustLosebreath(1) /datum/reagent/mutagen - name = "Unstable mutagen" - id = "mutagen" + name = REAGENT_MUTAGEN + id = REAGENT_ID_MUTAGEN description = "Might cause unpredictable mutations. Keep away from children." taste_description = "slime" taste_mult = 0.9 @@ -627,8 +627,8 @@ M.apply_effect(10 * removed, IRRADIATE, 0) /datum/reagent/slimejelly - name = "Slime Jelly" - id = "slimejelly" + name = REAGENT_SLIMEJELLY + id = REAGENT_ID_SLIMEJELLY description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." taste_description = "slime" taste_mult = 1.3 @@ -652,8 +652,8 @@ M.heal_organ_damage(25 * removed, 0) /datum/reagent/soporific - name = "Soporific" - id = "stoxin" + name = REAGENT_STOXIN + id = REAGENT_ID_STOXIN description = "An effective hypnotic used to treat insomnia." taste_description = "bitterness" reagent_state = LIQUID @@ -699,8 +699,8 @@ M.drowsyness = max(M.drowsyness, 60) /datum/reagent/chloralhydrate - name = "Chloral Hydrate" - id = "chloralhydrate" + name = REAGENT_CHLORALHYDRATE + id = REAGENT_ID_CHLORALHYDRATE description = "A powerful sedative." taste_description = "bitterness" reagent_state = SOLID @@ -750,21 +750,21 @@ M.adjustOxyLoss(removed * overdose_mod) /datum/reagent/chloralhydrate/beer2 //disguised as normal beer for use by emagged brobots - name = "Beer" - id = "beer2" + name = REAGENT_BEER2 + id = REAGENT_ID_BEER2 description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be incomplete." //If the players manage to analyze this, they deserve to know something is wrong. taste_description = "beer" reagent_state = LIQUID color = "#FFD300" - glass_name = "beer" + glass_name = REAGENT_ID_BEER glass_desc = "A freezing pint of beer" /* Drugs */ /datum/reagent/serotrotium - name = "Serotrotium" - id = "serotrotium" + name = REAGENT_SEROTROTIUM + id = REAGENT_ID_SEROTROTIUM description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." taste_description = "bitterness" reagent_state = LIQUID @@ -780,8 +780,8 @@ return /datum/reagent/serotrotium/venom - name = "Serotropic venom" - id = "serotrotium_v" + name = REAGENT_SEROTROTIUMV + id = REAGENT_ID_SEROTROTIUMV description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans. This appears to be a biologically produced form, resulting in a specifically toxic nature." taste_description = "chalky bitterness" filtered_organs = list(O_SPLEEN) @@ -796,8 +796,8 @@ return ..() /datum/reagent/cryptobiolin - name = "Cryptobiolin" - id = "cryptobiolin" + name = REAGENT_CRYPTOBIOLIN + id = REAGENT_ID_CRYPTOBIOLIN description = "Cryptobiolin causes confusion and dizzyness." taste_description = "sourness" reagent_state = LIQUID @@ -820,8 +820,8 @@ M.Confuse(drug_strength * 5) /datum/reagent/impedrezene - name = "Impedrezene" - id = "impedrezene" + name = REAGENT_IMPEDREZENE + id = REAGENT_ID_IMPEDREZENE description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." taste_description = "numbness" reagent_state = LIQUID @@ -841,8 +841,8 @@ M.emote("drool") /datum/reagent/mindbreaker - name = "Mindbreaker Toxin" - id = "mindbreaker" + name = REAGENT_MINDBREAKER + id = REAGENT_ID_MINDBREAKER description = "A powerful hallucinogen, it can cause fatal effects in users." taste_description = "sourness" reagent_state = LIQUID @@ -867,8 +867,8 @@ /* Transformations */ /datum/reagent/slimetoxin - name = "Mutation Toxin" - id = "mutationtoxin" + name = REAGENT_MUTATIONTOXIN + id = REAGENT_ID_MUTATIONTOXIN description = "A corruptive toxin produced by slimes." taste_description = "sludge" reagent_state = LIQUID @@ -897,8 +897,8 @@ M.apply_effect(16 * removed, IRRADIATE, 0) /datum/reagent/aslimetoxin - name = "Docility Toxin" - id = "docilitytoxin" + name = REAGENT_DOCILITYTOXIN + id = REAGENT_ID_DOCILITYTOXIN description = "A corruptive toxin produced by slimes." taste_description = "sludge" reagent_state = LIQUID @@ -932,8 +932,8 @@ */ /datum/reagent/shredding_nanites - name = "Restorative Nanites" - id = "shredding_nanites" + name = REAGENT_SHREDDINGNANITES + id = REAGENT_ID_SHREDDINGNANITES description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be malfunctioning." taste_description = "metal" reagent_state = SOLID @@ -946,8 +946,8 @@ M.adjustOxyLoss(4 * removed) /datum/reagent/irradiated_nanites - name = "Restorative Nanites" - id = "irradiated_nanites" + name = REAGENT_IRRADIATEDNANITES + id = REAGENT_ID_IRRADIATEDNANITES description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be malfunctioning." taste_description = "metal" reagent_state = SOLID @@ -960,8 +960,8 @@ M.radiation = max(M.radiation + 5 * removed, 0) // Irradiate you. Because it's inside you. /datum/reagent/neurophage_nanites - name = "Restorative Nanites" - id = "neurophage_nanites" + name = REAGENT_NEUROPHAGENANITES + id = REAGENT_ID_NEUROPHAGENANITES description = "Miniature medical robots that swiftly restore bodily damage. These ones seem to be completely hostile." taste_description = "metal" reagent_state = SOLID @@ -975,8 +975,8 @@ M.adjustBruteLoss(2 * removed) /datum/reagent/salmonella - name = "Salmonella" - id = "salmonella" + name = REAGENT_SALMONELLA + id = REAGENT_ID_SALMONELLA description = "A nasty bacteria found in spoiled food." reagent_state = LIQUID color = "#1E4600" diff --git a/code/modules/reagents/reagents/virology.dm b/code/modules/reagents/reagents/virology.dm index 95badd9851..9a582bec19 100644 --- a/code/modules/reagents/reagents/virology.dm +++ b/code/modules/reagents/reagents/virology.dm @@ -1,6 +1,6 @@ /datum/reagent/vaccine - name = "Vaccine" - id = "vaccine" + name = REAGENT_VACCINE + id = REAGENT_ID_VACCINE color = "#C81040" taste_description = "antibodies" @@ -18,37 +18,37 @@ data |= newdatalist.Copy() /datum/reagent/mutagen/mutagenvirusfood - name = "Mutagenic agar" - id = "mutagenvirusfood" + name = REAGENT_MUTAGENVIRUSFOOD + id = REAGENT_ID_MUTAGENVIRUSFOOD description = "Mutates viruses when mixed in blood. This one seems rather alright." color = "#A3C00F" /datum/reagent/mutagen/mutagenvirusfood/sugar - name = "Sucrose agar" - id = "sugarvirusfood" + name = REAGENT_SUGARVIRUSFOOD + id = REAGENT_ID_SUGARVIRUSFOOD color = "#41B0C0" taste_mult = 1.5 /datum/reagent/medicine/adranol/adranolvirusfood - name = "Virus rations" - id = "adranolvirusfood" + name = REAGENT_ADRANOLVIRUSFOOD + id = REAGENT_ID_ADRANOLVIRUSFOOD description = "Mutates viruses when mixed in blood. This one seems rather weak." color = "#D18AA5" /datum/reagent/toxin/phoron/phoronvirusfood - name = "Phoronic virus food" - id = "phoronvirusfood" + name = REAGENT_ADRANOLVIRUSFOOD + id = REAGENT_ID_PHORONVIRUSFOOD description = "Mutates viruses when mixed in blood. This one seems to be the strongest." color = "#A69DA9" /datum/reagent/toxin/phoron/phoronvirusfood/weak - name = "Weakened phoronic virus food" - id = "weakphoronvirusfood" + name = REAGENT_WEAKPHORONVIRUSFOOD + id = REAGENT_ID_WEAKPHORONVIRUSFOOD description = "Mutates viruses when mixed in blood. This one seems to have been weakened, but still strong." color = "#CEC3C6" /datum/reagent/toxin/phoron/phoronvirusfood/sizevirusfood - name = "Sizeoxadone virus food" - id = "sizevirusfood" + name = REAGENT_SIZEVIRUSFOOD + id = REAGENT_ID_SIZEVIRUSFOOD description = "Mutates virus when mixed in blood. This is a strange size mix..." color = "#88AFDD" diff --git a/code/modules/reagents/reagents/vore_vr.dm b/code/modules/reagents/reagents/vore_vr.dm index 936f555cbc..2b0ac6706d 100644 --- a/code/modules/reagents/reagents/vore_vr.dm +++ b/code/modules/reagents/reagents/vore_vr.dm @@ -4,8 +4,8 @@ //////////////////////////// /datum/reagent/macrocillin - name = "Macrocillin" - id = "macrocillin" + name = REAGENT_MACROCILLIN + id = REAGENT_ID_MACROCILLIN description = "Glowing yellow liquid." reagent_state = LIQUID color = "#FFFF00" // rgb: 255, 255, 0 @@ -17,8 +17,8 @@ return /datum/reagent/microcillin - name = "Microcillin" - id = "microcillin" + name = REAGENT_MICROCILLIN + id = REAGENT_ID_MICROCILLIN description = "Murky purple liquid." reagent_state = LIQUID color = "#800080" @@ -31,8 +31,8 @@ /datum/reagent/normalcillin - name = "Normalcillin" - id = "normalcillin" + name = REAGENT_NORMALCILLIN + id = REAGENT_ID_NORMALCILLIN description = "Translucent cyan liquid." reagent_state = LIQUID color = "#00FFFF" @@ -48,8 +48,8 @@ /datum/reagent/sizeoxadone - name = "Sizeoxadone" - id = "sizeoxadone" + name = REAGENT_SIZEOXADONE + id = REAGENT_ID_SIZEOXADONE description = "A volatile liquid used as a precursor to size-altering chemicals. Causes dizziness if taken unprocessed." reagent_state = LIQUID color = "#1E90FF" @@ -65,8 +65,8 @@ ////////////////////////// Anti-Noms Drugs ////////////////////////// /datum/reagent/ickypak - name = "Ickypak" - id = "ickypak" + name = REAGENT_ICKYPAK + id = REAGENT_ID_ICKYPAK description = "A foul-smelling green liquid, for inducing muscle contractions to expel accidentally ingested things." reagent_state = LIQUID color = "#0E900E" @@ -87,8 +87,8 @@ B.release_specific_contents(A) /datum/reagent/unsorbitol - name = "Unsorbitol" - id = "unsorbitol" + name = REAGENT_UNSORBITOL + id = REAGENT_ID_UNSORBITOL description = "A frothy pink liquid, for causing cellular-level hetrogenous structure separation." reagent_state = LIQUID color = "#EF77E5" @@ -99,7 +99,7 @@ M.adjustHalLoss(1) if(!M.confused) M.confused = 1 M.confused = max(M.confused, 20) - M.hallucination += 15 + M.hallucination = max(M.hallucination, 20) //This used to be += 15 resulting in INFINITE HALLUCINATION for(var/obj/belly/B as anything in M.vore_organs) @@ -118,15 +118,15 @@ ////////////////////////// TF Drugs ////////////////////////// /datum/reagent/amorphorovir - name = "Amorphorovir" - id = "amorphorovir" + name = REAGENT_AMORPHOROVIR + id = REAGENT_ID_AMORPHOROVIR description = "A base medical concoction, capable of rapidly altering genetic and physical structure of the body. Requires extra processing to allow for a targeted transformation." reagent_state = LIQUID color = "#AAAAAA" /datum/reagent/androrovir - name = "Androrovir" - id = "androrovir" + name = REAGENT_ANDROROVIR + id = REAGENT_ID_ANDROROVIR description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be male." reagent_state = LIQUID color = "#00BBFF" @@ -136,7 +136,7 @@ return if(ishuman(M)) var/mob/living/carbon/human/H = M - if(M.reagents.has_reagent("gynorovir") || M.reagents.has_reagent("androgynorovir")) + if(M.reagents.has_reagent(REAGENT_ID_GYNOROVIR) || M.reagents.has_reagent(REAGENT_ID_ANDROGYNOROVIR)) H.Confuse(1) else if(!(H.gender == MALE)) @@ -146,8 +146,8 @@ span_warning("Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became male.")) /datum/reagent/gynorovir - name = "Gynorovir" - id = "gynorovir" + name = REAGENT_GYNOROVIR + id = REAGENT_ID_GYNOROVIR description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be female." reagent_state = LIQUID color = "#FF00AA" @@ -157,7 +157,7 @@ return if(ishuman(M)) var/mob/living/carbon/human/H = M - if(M.reagents.has_reagent("androrovir") || M.reagents.has_reagent("androgynorovir")) + if(M.reagents.has_reagent(REAGENT_ID_ANDROROVIR) || M.reagents.has_reagent(REAGENT_ID_ANDROGYNOROVIR)) H.Confuse(1) else if(!(H.gender == FEMALE)) @@ -167,8 +167,8 @@ span_warning("Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became female.")) /datum/reagent/androgynorovir - name = "Androgynorovir" - id = "androgynorovir" + name = REAGENT_ANDROGYNOROVIR + id = REAGENT_ID_ANDROGYNOROVIR description = "A medical concoction, capable of rapidly altering genetic and physical structure of the body. This one seems to realign the target's gender to be mixed." reagent_state = LIQUID color = "#6600FF" @@ -178,7 +178,7 @@ return if(ishuman(M)) var/mob/living/carbon/human/H = M - if(M.reagents.has_reagent("gynorovir") || M.reagents.has_reagent("androrovir")) + if(M.reagents.has_reagent(REAGENT_ID_GYNOROVIR) || M.reagents.has_reagent(REAGENT_ID_ANDROROVIR)) H.Confuse(1) else if(!(H.gender == PLURAL)) @@ -191,8 +191,8 @@ ////////////////////////// Misc Drugs ////////////////////////// /datum/reagent/drugs/rainbow_toxin /// Replaces Space Drugs. - name = "Rainbow Toxin" - id = "rainbowtoxin" + name = REAGENT_RAINBOWTOXIN + id = REAGENT_ID_RAINBOWTOXIN description = "Known for providing a euphoric high, this psychoactive drug is often injected into unknowing prey by serpents and other fanged beasts. Highly valuable and frequently sought after by hypno-enthusiasts and party-goers." taste_description = "mixed euphoria" taste_mult = 0.8 //You ARE going to taste this! @@ -212,8 +212,8 @@ ..() /datum/reagent/paralysis_toxin - name = "Tetrodotoxin" - id = "paralysistoxin" + name = REAGENT_PARALYSISTOXIN + id = REAGENT_ID_PARALYSISTOXIN description = "A potent toxin commonly found in a plethora of species. When exposed to the toxin, causes extreme, paralysis for a prolonged period, with only essential functions of the body being unhindered. Commonly used by covert operatives and used as a crowd control tool." taste_description = "bitterness" reagent_state = LIQUID @@ -227,8 +227,8 @@ M.AdjustWeakened(5) //Stand in for paralyze so you can still talk/emote/see /datum/reagent/pain_enzyme - name = "Pain Enzyme" - id = "painenzyme" + name = REAGENT_PAINENZYME + id = REAGENT_ID_PAINENZYME description = "An enzyme found in a variety of species. When exposed to the toxin, will cause severe, agonizing pain. The effects can last for hours depending on the dose. Only known cure is an equally strong painkiller or dialysis." taste_description = "sourness" reagent_state = LIQUID diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index c31597b6e9..23ce1f00d0 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -311,18 +311,18 @@ // if(!ai) // AI can't pull flush handle // if(flush) - // dat += "Disposal handle: Disengage Engaged" + // dat += "Disposal handle: Disengage Engaged" // else - // dat += "Disposal handle: Disengaged Engage" + // dat += "Disposal handle: Disengaged Engage" - // dat += "

    Eject contents
    " + // dat += "

    Eject contents
    " // if(mode <= 0) - // dat += "Pump: Off On
    " + // dat += "Pump: Off On
    " // else if(mode == 1) - // dat += "Pump: Off On (pressurizing)
    " + // dat += "Pump: Off On (pressurizing)
    " // else - // dat += "Pump: Off On (idle)
    " + // dat += "Pump: Off On (idle)
    " // var/per = 100* air_contents.return_pressure() / (SEND_PRESSURE) diff --git a/code/modules/research/designs/bag_of_holding.dm b/code/modules/research/designs/bag_of_holding.dm index 7fcb67a04a..da4935a21b 100644 --- a/code/modules/research/designs/bag_of_holding.dm +++ b/code/modules/research/designs/bag_of_holding.dm @@ -36,7 +36,7 @@ desc = "Considerably more utilitarian than the Bag of Holding, the Trashbag of Holding is a janitor's best friend." id = "trashbag_holding" req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 5) - materials = list("gold" = 2000, "diamond" = 1000, "uranium" = 250) + materials = list(MAT_GOLD = 2000, MAT_DIAMOND = 1000, MAT_URANIUM = 250) build_path = /obj/item/storage/bag/trash/holding sort_string = "QAAAC" @@ -45,17 +45,17 @@ desc = "Somehow compresses the storage of a backpack into a pouch-sized container!" id = "pouch_holding" req_tech = list(TECH_BLUESPACE = 3, TECH_MATERIAL = 5) - materials = list("gold" = 3000, "diamond" = 2000, "uranium" = 250) + materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 2000, MAT_URANIUM = 250) build_path = /obj/item/storage/pouch/holding sort_string = "QAAAD" - + /datum/design/item/boh/belt_holding_med name = "Medical Belt of Holding" desc = "A belt that uses localized bluespace pockets to hold more items than expected!" id = "belt_holding_med" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) - materials = list("gold" = 3000, "diamond" = 2000, "titanium" = 500) + materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 2000, MAT_TITANIUM = 500) build_path = /obj/item/storage/belt/medical/holding sort_string = "QAAAE" @@ -64,7 +64,6 @@ desc = "A belt that uses localized bluespace pockets to hold more items than expected!" id = "belt_holding_utility" req_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 6) - materials = list("gold" = 3000, "diamond" = 2000, "titanium" = 500) + materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 2000, MAT_TITANIUM = 500) build_path = /obj/item/storage/belt/utility/holding sort_string = "QAAAF" - \ No newline at end of file diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index bb9d2a5342..80a1e20e56 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -6,7 +6,7 @@ CIRCUITS BELOW build_type = IMPRINTER req_tech = list(TECH_DATA = 2) materials = list(MAT_GLASS = 2000) - chemicals = list("sacid" = 20) + chemicals = list(REAGENT_ID_SACID = 20) time = 5 /datum/design/circuit/AssembleDesignName() @@ -522,7 +522,7 @@ CIRCUITS BELOW id = "durand_main" req_tech = list(TECH_DATA = 4) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) - chemicals = list("sacid" = 20) + chemicals = list(REAGENT_ID_SACID = 20) build_path = /obj/item/circuitboard/mecha/durand/main sort_string = "NAADA" @@ -531,7 +531,7 @@ CIRCUITS BELOW id = "durand_peri" req_tech = list(TECH_DATA = 4) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) - chemicals = list("sacid" = 20) + chemicals = list(REAGENT_ID_SACID = 20) build_path = /obj/item/circuitboard/mecha/durand/peripherals sort_string = "NAADB" @@ -540,7 +540,7 @@ CIRCUITS BELOW id = "durand_targ" req_tech = list(TECH_DATA = 4, TECH_COMBAT = 2) materials = list(MAT_GLASS = 2000, MAT_GRAPHITE = 1250) - chemicals = list("sacid" = 20) + chemicals = list(REAGENT_ID_SACID = 20) build_path = /obj/item/circuitboard/mecha/durand/targeting sort_string = "NAADC" diff --git a/code/modules/research/designs/circuits/disks.dm b/code/modules/research/designs/circuits/disks.dm index a386479cb9..21a17f5fcd 100644 --- a/code/modules/research/designs/circuits/disks.dm +++ b/code/modules/research/designs/circuits/disks.dm @@ -3,7 +3,7 @@ build_type = IMPRINTER req_tech = list(TECH_DATA = 3) materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 1000) - chemicals = list("pacid" = 10) + chemicals = list(REAGENT_ID_PACID = 10) time = 5 /datum/design/circuit/disk/AssembleDesignName() diff --git a/code/modules/research/designs/uncommented.dm b/code/modules/research/designs/uncommented.dm index 68b3a2c70c..f537bd2cd5 100644 --- a/code/modules/research/designs/uncommented.dm +++ b/code/modules/research/designs/uncommented.dm @@ -19,7 +19,7 @@ id = "rust_core_control" req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20) build_path = "/obj/item/circuitboard/rust_core_control" /datum/design/rust_fuel_control @@ -28,7 +28,7 @@ id = "rust_fuel_control" req_tech = list("programming" = 4, "engineering" = 4) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20) build_path = "/obj/item/circuitboard/rust_fuel_control" /datum/design/rust_fuel_port @@ -37,7 +37,7 @@ id = "rust_fuel_port" req_tech = list("engineering" = 4, "materials" = 5) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_URANIUM = 3000) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20, MAT_URANIUM = 3000) build_path = "/obj/item/module/rust_fuel_port" /datum/design/rust_fuel_compressor @@ -46,7 +46,7 @@ id = "rust_fuel_compressor" req_tech = list("materials" = 6, "phorontech" = 4) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 1000) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20, MAT_PHORON = 3000, MAT_DIAMOND = 1000) build_path = "/obj/item/module/rust_fuel_compressor" /datum/design/rust_core @@ -55,7 +55,7 @@ id = "pacman" req_tech = list(bluespace = 3, phorontech = 4, magnets = 5, powerstorage = 6) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_DIAMOND = 2000) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20, MAT_PHORON = 3000, MAT_DIAMOND = 2000) build_path = "/obj/item/circuitboard/rust_core" /datum/design/rust_injector @@ -64,6 +64,6 @@ id = "pacman" req_tech = list(powerstorage = 3, engineering = 4, phorontech = 4, materials = 6) build_type = IMPRINTER - materials = list(MAT_GLASS = 2000, "sacid" = 20, MAT_PHORON = 3000, MAT_URANIUM = 2000) + materials = list(MAT_GLASS = 2000, REAGENT_ID_SACID = 20, MAT_PHORON = 3000, MAT_URANIUM = 2000) build_path = "/obj/item/circuitboard/rust_core" */ diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 66eece8efc..6646793975 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -538,7 +538,7 @@ req_tech = list(TECH_BLUESPACE = 10, TECH_MAGNET = 5) build_path = /obj/item/mecha_parts/mecha_equipment/teleporter -/datum/design/item/mecha/teleporter +/datum/design/item/mecha/cloak name = "Cloaking Device" desc = "A device that renders the exosuit invisible to the naked eye, though not to thermal detection. Uses large amounts of energy." id = "mech_cloaking" diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm index 50c779a22b..7518d62dc9 100644 --- a/code/modules/resleeving/computers.dm +++ b/code/modules/resleeving/computers.dm @@ -289,7 +289,7 @@ set_temp("Error: Not enough [MAT_STEEL] in SynthFab.", "danger") active_br = null return - else if(spod.stored_material["glass"] < spod.body_cost) + else if(spod.stored_material[MAT_GLASS] < spod.body_cost) set_temp("Error: Not enough glass in SynthFab.", "danger") active_br = null return diff --git a/code/modules/resleeving/documents.dm b/code/modules/resleeving/documents.dm index ea1accfd02..9326f8786c 100644 --- a/code/modules/resleeving/documents.dm +++ b/code/modules/resleeving/documents.dm @@ -27,7 +27,7 @@

    Foreword: A Licensed Technology

    This message must remain attached to all documentation regarding Nanotrasen Resleeving Technology.
    - All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Vey Medical. It should only be used in the ways set forth in this guide. + All Nanotrasen Resleeving Technology (NRT) is licensed to Nanotrasen by Vey-Medical. It should only be used in the ways set forth in this guide. Special consideration to the moral and ethical use of this technology should be undertaken before applying it in the field. Make sure you understand the technology fully before using the machinery.
    Contents diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm index 6a11ff6083..1ddb06f193 100644 --- a/code/modules/resleeving/infocore_records.dm +++ b/code/modules/resleeving/infocore_records.dm @@ -88,7 +88,7 @@ var/sizemult var/weight var/aflags - var/breath_type = "oxygen" + var/breath_type = GAS_O2 /datum/transhuman/body_record/New(var/copyfrom, var/add_to_db = 0, var/ckeylock = 0) ..() diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index b64d94af48..e57410bd40 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -73,10 +73,10 @@ I.digitize() //Give breathing equipment if needed - if(current_project.breath_type != "oxygen") + if(current_project.breath_type != GAS_O2) H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) var/obj/item/tank/tankpath - if(current_project.breath_type == "phoron") + if(current_project.breath_type == GAS_PHORON) tankpath = /obj/item/tank/vox else tankpath = text2path("/obj/item/tank/" + current_project.breath_type) @@ -162,8 +162,8 @@ occupant.adjustBrainLoss(-(CEILING((0.5*heal_rate), 1))) //So clones don't die of oxyloss in a running pod. - if(occupant.reagents.get_reagent_amount("inaprovaline") < 30) - occupant.reagents.add_reagent("inaprovaline", 60) + if(occupant.reagents.get_reagent_amount(REAGENT_ID_INAPROVALINE) < 30) + occupant.reagents.add_reagent(REAGENT_ID_INAPROVALINE, 60) //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! occupant.adjustOxyLoss(-4) @@ -271,7 +271,7 @@ if(!istype(BR) || busy) return 0 - if(stored_material[MAT_STEEL] < body_cost || stored_material["glass"] < body_cost) + if(stored_material[MAT_STEEL] < body_cost || stored_material[MAT_GLASS] < body_cost) return 0 current_project = BR @@ -373,7 +373,7 @@ //Machine specific stuff at the end stored_material[MAT_STEEL] -= body_cost - stored_material["glass"] -= body_cost + stored_material[MAT_GLASS] -= body_cost busy = 0 update_icon() diff --git a/code/modules/scripting/IDE.dm b/code/modules/scripting/IDE.dm index 13b2c46257..ccf0a29209 100644 --- a/code/modules/scripting/IDE.dm +++ b/code/modules/scripting/IDE.dm @@ -11,7 +11,7 @@ var/tcscode=winget(src, "tcscode", "text") var/msg="[mob.name] is adding script to server [Server]: [tcscode]" log_misc(msg) - message_admins("[mob.name] has uploaded a NTLS script to [Machine.SelectedServer] ([mob.x],[mob.y],[mob.z] - JMP)",0,1) + message_admins("[mob.name] has uploaded a NTLS script to [Machine.SelectedServer] ([mob.x],[mob.y],[mob.z] - JMP)",0,1) Server.setcode( tcscode ) // this actually saves the code from input to the server src << output(null, "tcserror") // clear the errors else diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index 307570a01e..4409bdcda1 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -88,17 +88,17 @@ if(screen == 1) dat += "Select an event to trigger:" user << browse(dat, "window=keycard_auth;size=500x250") if(screen == 2) dat += "Please swipe your card to authorize the following event: [event]" - dat += "

    Back" + dat += "

    Back" user << browse(dat, "window=keycard_auth;size=500x250") return diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 79c79d82ad..1e1ac99bb8 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -458,17 +458,17 @@ var/total_moles = environment.total_moles if(total_moles) - var/o2_level = environment.gas["oxygen"]/total_moles - var/n2_level = environment.gas["nitrogen"]/total_moles - var/co2_level = environment.gas["carbon_dioxide"]/total_moles - var/phoron_level = environment.gas["phoron"]/total_moles + var/o2_level = environment.gas[GAS_O2]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) aircontents = list(\ "pressure" = "[round(pressure,0.1)]",\ - "nitrogen" = "[round(n2_level*100,0.1)]",\ - "oxygen" = "[round(o2_level*100,0.1)]",\ - "carbon_dioxide" = "[round(co2_level*100,0.1)]",\ - "phoron" = "[round(phoron_level*100,0.01)]",\ + GAS_N2 = "[round(n2_level*100,0.1)]",\ + GAS_O2 = "[round(o2_level*100,0.1)]",\ + GAS_CO2 = "[round(co2_level*100,0.1)]",\ + GAS_PHORON = "[round(phoron_level*100,0.01)]",\ "other" = "[round(unknown_level, 0.01)]",\ "temp" = "[round(environment.temperature-T0C,0.1)]",\ "reading" = TRUE\ diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 7b75f82277..b8b1f29a4a 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -133,7 +133,7 @@ return 0 var/obj/item/reagent_containers/container = tool - if(!container.reagents.has_reagent("peridaxon")) + if(!container.reagents.has_reagent(REAGENT_ID_PERIDAXON)) return 0 if(!hasorgans(target)) diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 0973230b13..ab5551855b 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -238,6 +238,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/fix_organ_robotic //For artificial organs + + priority = 2 surgery_name = "Fix Robotic Organ" allowed_tools = list( /obj/item/stack/nanopaste = 100, \ @@ -371,6 +373,8 @@ /////////////////////////////////////////////////////////////// /datum/surgery_step/robotics/attach_organ_robotic + + priority = 2 surgery_name = "Attach Robotic Organ" allowed_procs = list(IS_SCREWDRIVER = 100) diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 22b67b1902..f2326d4b46 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -20,7 +20,7 @@ color = "#CCCCCC" /obj/structure/table/marble/New() - material = get_material_by_name("marble") + material = get_material_by_name(MAT_MARBLE) ..() /obj/structure/table/reinforced @@ -46,7 +46,7 @@ color = "#824B28" /obj/structure/table/wooden_reinforced/New() - material = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) reinforced = get_material_by_name(MAT_STEEL) ..() @@ -55,7 +55,7 @@ color = "#824B28" /obj/structure/table/woodentable/New() - material = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) ..() /obj/structure/table/sifwoodentable @@ -63,7 +63,7 @@ color = "#824B28" /obj/structure/table/sifwoodentable/New() - material = get_material_by_name("alien wood") + material = get_material_by_name(MAT_SIFWOOD) ..() /obj/structure/table/sifwooden_reinforced @@ -71,7 +71,7 @@ color = "#824B28" /obj/structure/table/sifwooden_reinforced/New() - material = get_material_by_name("alien wood") + material = get_material_by_name(MAT_SIFWOOD) reinforced = get_material_by_name(MAT_STEEL) ..() @@ -80,14 +80,14 @@ color = "#42291a" /obj/structure/table/hardwoodtable/Initialize(mapload) - material = get_material_by_name("hardwood") + material = get_material_by_name(MAT_HARDWOOD) return ..() /obj/structure/table/gamblingtable icon_state = "gamble_preview" /obj/structure/table/gamblingtable/New() - material = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) carpeted = 1 ..() @@ -97,7 +97,7 @@ alpha = 77 // 0.3 * 255 /obj/structure/table/glass/New() - material = get_material_by_name("glass") + material = get_material_by_name(MAT_GLASS) ..() /obj/structure/table/borosilicate @@ -106,7 +106,7 @@ alpha = 77 /obj/structure/table/borosilicate/New() - material = get_material_by_name("borosilicate glass") + material = get_material_by_name(MAT_PGLASS) ..() /obj/structure/table/holotable @@ -164,7 +164,7 @@ color = "#CCCCCC" /obj/structure/table/bench/marble/New() - material = get_material_by_name("marble") + material = get_material_by_name(MAT_MARBLE) ..() /* /obj/structure/table/bench/reinforced @@ -190,7 +190,7 @@ color = "#824B28" /obj/structure/table/bench/wooden_reinforced/New() - material = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) reinforced = get_material_by_name(MAT_STEEL) ..() */ @@ -199,7 +199,7 @@ color = "#824B28" /obj/structure/table/bench/wooden/New() - material = get_material_by_name("wood") + material = get_material_by_name(MAT_WOOD) ..() /obj/structure/table/bench/sifwooden @@ -207,7 +207,7 @@ color = "#824B28" /obj/structure/table/bench/sifwooden/New() - material = get_material_by_name("alien wood") + material = get_material_by_name(MAT_SIFWOOD) ..() /obj/structure/table/bench/sifwooden/padded @@ -228,7 +228,7 @@ alpha = 77 // 0.3 * 255 /obj/structure/table/bench/glass/New() - material = get_material_by_name("glass") + material = get_material_by_name(MAT_GLASS) ..() /* diff --git a/code/modules/telesci/gps_advanced.dm b/code/modules/telesci/gps_advanced.dm index e06c7f6071..9d206b1258 100644 --- a/code/modules/telesci/gps_advanced.dm +++ b/code/modules/telesci/gps_advanced.dm @@ -39,7 +39,7 @@ if(emped) t += "ERROR" else - t += "
    Set Tag " + t += "
    Set Tag " t += "
    Tag: [gpstag]" for(var/obj/item/gps/advanced/G in GPS_list) diff --git a/code/modules/tgui/modules/admin/player_notes.dm b/code/modules/tgui/modules/admin/player_notes.dm index f198f00d44..cd73dfc0bd 100644 --- a/code/modules/tgui/modules/admin/player_notes.dm +++ b/code/modules/tgui/modules/admin/player_notes.dm @@ -195,7 +195,7 @@ PlayerNotesPageLegacy(1, filter) /datum/admins/proc/PlayerNotesPageLegacy(page, filter) - var/dat = span_bold("Player notes") + " - Apply Filter


    " + var/dat = span_bold("Player notes") + " - Apply Filter
    " var/savefile/S=new("data/player_notes.sav") var/list/note_keys S >> note_keys @@ -228,13 +228,13 @@ upper_bound = min(upper_bound, note_keys.len) for(var/index = lower_bound, index <= upper_bound, index++) var/t = note_keys[index] - dat += "[t]" + dat += "[t]" dat += "
    " // Display a footer to select different pages for(var/index = 1, index <= number_pages, index++) - dat += "[index] " + dat += "[index] " if(index == page) dat = span_bold(dat) @@ -281,12 +281,12 @@ update_file = 1 dat += "[I.content] by [I.author] ([I.rank]) on [I.timestamp] " if(I.author == usr.key || I.author == "Adminbot" || ishost(usr)) - dat += "Remove" + dat += "Remove" dat += "

    " if(update_file) info << infos dat += "
    " - dat += "Add Comment
    " + dat += "Add Comment
    " dat += "" usr << browse(dat, "window=adminplayerinfo;size=480x480") diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index 5e410b9e6c..3ffd787f42 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -122,7 +122,7 @@ var/g_skin = hex2num(copytext(new_skin, 4, 6)) var/b_skin = hex2num(copytext(new_skin, 6, 8)) if(owner.change_skin_color(r_skin, g_skin, b_skin)) - update_dna(ui.user, owner) + update_dna(owner) changed_hook(APPEARANCECHANGER_CHANGED_SKINCOLOR) return 1 if("hair") diff --git a/code/modules/tgui/modules/supermatter_monitor.dm b/code/modules/tgui/modules/supermatter_monitor.dm index 0e0aed4f1b..618f1e99cd 100644 --- a/code/modules/tgui/modules/supermatter_monitor.dm +++ b/code/modules/tgui/modules/supermatter_monitor.dm @@ -57,10 +57,10 @@ data["SM_EPR"] = active.get_epr() //data["SM_EPR"] = active.get_epr() if(air.total_moles) - data["SM_gas_O2"] = round(100*air.gas["oxygen"]/air.total_moles,0.01) - data["SM_gas_CO2"] = round(100*air.gas["carbon_dioxide"]/air.total_moles,0.01) - data["SM_gas_N2"] = round(100*air.gas["nitrogen"]/air.total_moles,0.01) - data["SM_gas_PH"] = round(100*air.gas["phoron"]/air.total_moles,0.01) + data["SM_gas_O2"] = round(100*air.gas[GAS_O2]/air.total_moles,0.01) + data["SM_gas_CO2"] = round(100*air.gas[GAS_CO2]/air.total_moles,0.01) + data["SM_gas_N2"] = round(100*air.gas[GAS_N2]/air.total_moles,0.01) + data["SM_gas_PH"] = round(100*air.gas[GAS_PHORON]/air.total_moles,0.01) data["SM_gas_N2O"] = round(100*air.gas["sleeping_agent"]/air.total_moles,0.01) else data["SM_gas_O2"] = 0 @@ -105,4 +105,4 @@ . = TRUE /datum/tgui_module/supermatter_monitor/ntos - ntos = TRUE \ No newline at end of file + ntos = TRUE diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index 5acbaa887a..ad5675d092 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -106,7 +106,10 @@ strict_mode = TRUE, fancy = user.client.prefs.tgui_fancy, assets = list( - get_asset_datum(/datum/asset/simple/tgui), + // FIXME: Delete this when 516 is required! + user.client.byond_version >= 516 \ + ? get_asset_datum(/datum/asset/simple/tgui_edge) \ + : get_asset_datum(/datum/asset/simple/tgui), )) else window.send_message("ping") diff --git a/code/modules/tgui_panel/external.dm b/code/modules/tgui_panel/external.dm index a4c8855fca..8912eb8c12 100644 --- a/code/modules/tgui_panel/external.dm +++ b/code/modules/tgui_panel/external.dm @@ -19,22 +19,19 @@ // Failed to fix, using tgalert as fallback action = tgalert(src, "Did that work?", "", "Yes", "No, switch to old ui") if (action == "No, switch to old ui") - winset(src, "output", "on-show=&is-disabled=0&is-visible=1") - winset(src, "browseroutput", "is-disabled=1;is-visible=0") + winset(src, "legacy_output_selector", "left=output_legacy") log_tgui(src, "Failed to fix.", context = "verb/fix_tgui_panel") /client/proc/nuke_chat() // Catch all solution (kick the whole thing in the pants) - winset(src, "output", "on-show=&is-disabled=0&is-visible=1") - winset(src, "browseroutput", "is-disabled=1;is-visible=0") + winset(src, "legacy_output_selector", "left=output_legacy") if(!tgui_panel || !istype(tgui_panel)) log_tgui(src, "tgui_panel datum is missing", context = "verb/fix_tgui_panel") tgui_panel = new(src) tgui_panel.initialize(force = TRUE) // Force show the panel to see if there are any errors - winset(src, "output", "is-disabled=1&is-visible=0") - winset(src, "browseroutput", "is-disabled=0;is-visible=1") + winset(src, "legacy_output_selector", "left=output_browser") // TODO: Remove version check with 516 if(byond_version >= 516) if(prefs?.read_preference(/datum/preference/toggle/browser_dev_tools)) diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm index 9e98e9a4d8..6bd4b09613 100644 --- a/code/modules/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui_panel/tgui_panel.dm @@ -63,7 +63,7 @@ */ /datum/tgui_panel/proc/on_initialize_timed_out() // Currently does nothing but sending a message to old chat. - // SEND_TEXT(client, span_userdanger("Failed to load fancy chat, click HERE to attempt to reload it.")) + // SEND_TEXT(client, span_userdanger("Failed to load fancy chat, click HERE to attempt to reload it.")) /** * private diff --git a/code/modules/vehicles/boat.dm b/code/modules/vehicles/boat.dm index e3f10fc897..36395e63c0 100644 --- a/code/modules/vehicles/boat.dm +++ b/code/modules/vehicles/boat.dm @@ -51,7 +51,7 @@ /obj/item/oar/New(newloc, material_name) ..(newloc) if(!material_name) - material_name = "wood" + material_name = MAT_WOOD material = get_material_by_name("[material_name]") if(!material) qdel(src) @@ -61,7 +61,7 @@ /obj/vehicle/boat/New(newloc, material_name) ..(newloc) if(!material_name) - material_name = "wood" + material_name = MAT_WOOD material = get_material_by_name("[material_name]") if(!material) qdel(src) diff --git a/code/modules/vore/eating/belly_import.dm b/code/modules/vore/eating/belly_import.dm index d13389b579..3fb41309e0 100644 --- a/code/modules/vore/eating/belly_import.dm +++ b/code/modules/vore/eating/belly_import.dm @@ -715,10 +715,8 @@ if(istext(belly_data["belly_sprite_to_affect"])) var/new_belly_sprite_to_affect = sanitize(belly_data["belly_sprite_to_affect"],MAX_MESSAGE_LEN,0,0,0) if(new_belly_sprite_to_affect) - if(ishuman(host)) - var/mob/living/carbon/human/H = host - if (new_belly_sprite_to_affect in H.vore_icon_bellies) - new_belly.belly_sprite_to_affect = new_belly_sprite_to_affect + if (new_belly_sprite_to_affect in host.vore_icon_bellies) + new_belly.belly_sprite_to_affect = new_belly_sprite_to_affect if(istext(belly_data["undergarment_chosen"])) var/new_undergarment_chosen = sanitize(belly_data["undergarment_chosen"],MAX_MESSAGE_LEN,0,0,0) @@ -728,7 +726,6 @@ new_belly.undergarment_chosen = U.name break - /* Not implemented on virgo var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[new_belly.undergarment_chosen] var/invalid_if_none = TRUE for(var/datum/category_item/underwear/U in UWC.items) @@ -749,7 +746,6 @@ if(istext(belly_data["undergarment_color"])) var/new_undergarment_color = sanitize_hexcolor(belly_data["undergarment_color"],new_belly.undergarment_color) new_belly.undergarment_color = new_undergarment_color - */ /* These don't seem to actually be available yet if(istext(belly_data["tail_to_change_to"])) var/new_tail_to_change_to = sanitize(belly_data["tail_to_change_to"],MAX_MESSAGE_LEN,0,0,0) @@ -1179,8 +1175,6 @@ new_belly.items_preserved.Cut() // new_belly.update_internal_overlay() // Signal not implemented! - if(ishuman(host)) - var/mob/living/carbon/human/H = host - H.update_fullness() + host.update_fullness() host.updateVRPanel() unsaved_changes = TRUE diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 562052241a..c4c445534e 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -9,11 +9,6 @@ // Parent type of all the various "belly" varieties. // -#define DM_FLAG_VORESPRITE_TAIL 0x2 -#define DM_FLAG_VORESPRITE_MARKING 0x4 -#define DM_FLAG_VORESPRITE_ARTICLE 0x8 - - /obj/belly name = "belly" // Name of this location desc = "It's a belly! You're in it!" // Flavor text description of inside sight/sound/smells/feels. @@ -69,11 +64,12 @@ var/belly_overall_mult = 1 //Multiplier applied ontop of any other specific multipliers - var/vore_sprite_flags = DM_FLAG_VORESPRITE_ARTICLE + var/vore_sprite_flags = DM_FLAG_VORESPRITE_BELLY var/tmp/static/list/vore_sprite_flag_list= list( - "Normal Belly Sprite" = DM_FLAG_VORESPRITE_ARTICLE, + "Normal Belly Sprite" = DM_FLAG_VORESPRITE_BELLY, //"Tail adjustment" = DM_FLAG_VORESPRITE_TAIL, //"Marking addition" = DM_FLAG_VORESPRITE_MARKING + "Undergarment addition" = DM_FLAG_VORESPRITE_ARTICLE, ) var/affects_vore_sprites = FALSE var/count_absorbed_prey_for_sprite = TRUE @@ -91,6 +87,8 @@ var/tail_extra_overlay = FALSE var/tail_extra_overlay2 = FALSE var/undergarment_chosen = "Underwear, bottom" + var/undergarment_if_none + var/undergarment_color = COLOR_GRAY // Generally just used by AI var/autotransferchance = 0 // % Chance of prey being autotransferred to transfer location @@ -236,7 +234,10 @@ "belly_sprite_to_affect", "health_impacts_size", "count_items_for_sprite", - "item_multiplier" + "item_multiplier", + "undergarment_chosen", + "undergarment_if_none", + "undergarment_color" ) if (save_digest_mode == 1) @@ -310,9 +311,7 @@ if(M.ai_holder) M.ai_holder.handle_eaten() - if (istype(owner, /mob/living/carbon/human)) - var/mob/living/carbon/human/hum = owner - hum.update_fullness() + owner.update_fullness() // Intended for simple mobs if(!owner.client && autotransferlocation && autotransferchance > 0) @@ -332,9 +331,9 @@ L.toggle_hud_vis() if((L.stat != DEAD) && L.ai_holder) L.ai_holder.go_wake() - if (istype(owner, /mob/living/carbon/human)) - var/mob/living/carbon/human/hum = owner - hum.update_fullness() + owner.update_fullness() + return + /obj/belly/proc/vore_fx(mob/living/L) @@ -626,7 +625,7 @@ var/mob/living/carbon/human/Pred = owner if(ishuman(M)) var/mob/living/carbon/human/Prey = M - Prey.bloodstr.del_reagent("numbenzyme") + Prey.bloodstr.del_reagent(REAGENT_ID_NUMBENZYME) Prey.bloodstr.trans_to_holder(Pred.bloodstr, Prey.bloodstr.total_volume, 0.5, TRUE) // Copy=TRUE because we're deleted anyway Prey.ingested.trans_to_holder(Pred.bloodstr, Prey.ingested.total_volume, 0.5, TRUE) // Therefore don't bother spending cpu Prey.touching.trans_to_holder(Pred.bloodstr, Prey.touching.total_volume, 0.5, TRUE) // On updating the prey's reagents @@ -640,6 +639,10 @@ if(G) G.forceMove(src) qdel(M) + if(isanimal(owner)) + owner.update_icon() + else + owner.update_fullness() // Handle a mob being absorbed /obj/belly/proc/absorb_living(mob/living/M) @@ -689,6 +692,8 @@ owner.updateVRPanel() if(isanimal(owner)) owner.update_icon() + else + owner.update_fullness() // Finally, if they're to be sent to a special pudge belly, send them there if(transferlocation_absorb) var/obj/belly/dest_belly @@ -717,6 +722,8 @@ owner.updateVRPanel() if(isanimal(owner)) owner.update_icon() + else + owner.update_fullness() ///////////////////////////////////////////////////////////////////////// /obj/belly/proc/handle_absorb_langs() @@ -802,10 +809,8 @@ var/sound/struggle_snuggle var/sound/struggle_rustle = sound(get_sfx("rustle")) - if(resist_triggers_animation && affects_vore_sprites) - var/mob/living/carbon/human/O = owner - if(istype(O)) - O.vore_belly_animation() + if((vore_sprite_flags & DM_FLAG_VORESPRITE_BELLY) && (owner.vore_capacity_ex[belly_sprite_to_affect] >= 1) /*&& !private_struggle*/ && resist_triggers_animation && affects_vore_sprites) + owner.vs_animate(belly_sprite_to_affect) if(is_wet) if(!fancy_vore) @@ -1013,8 +1018,6 @@ I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color) items_preserved -= content owner.updateVRPanel() - if(isanimal(owner)) - owner.update_icon() for(var/mob/living/M in contents) M.updateVRPanel() owner.update_icon() @@ -1105,6 +1108,9 @@ dupe.health_impacts_size = health_impacts_size dupe.count_items_for_sprite = count_items_for_sprite dupe.item_multiplier = item_multiplier + dupe.undergarment_chosen = undergarment_chosen + dupe.undergarment_if_none = undergarment_if_none + dupe.undergarment_color = undergarment_color //// Object-holding variables //struggle_messages_outside - strings @@ -1315,10 +1321,14 @@ if(M.absorbed) fullness_to_add *= absorbed_multiplier if(health_impacts_size) - fullness_to_add *= M.health / M.getMaxHealth() - belly_fullness += fullness_to_add - if(count_liquid_for_sprite) - belly_fullness += (reagents.total_volume / 100) * liquid_multiplier + if(ishuman(M)) + fullness_to_add *= (M.health + 100) / (M.getMaxHealth() + 100) + else + fullness_to_add *= M.health / M.getMaxHealth() + if(fullness_to_add > 0) + belly_fullness += fullness_to_add + /*if(count_liquid_for_sprite) + belly_fullness += (reagents.total_volume / 100) * liquid_multiplier*/// Not yet implemented here if(count_items_for_sprite) for(var/obj/item/I in src) var/fullness_to_add = 0 @@ -1333,7 +1343,7 @@ else if(I.w_class == ITEMSIZE_HUGE) fullness_to_add = ITEMSIZE_COST_HUGE else - fullness_to_add = ITEMSIZE_COST_NO_CONTAINER + fullness_to_add = I.w_class fullness_to_add /= 32 belly_fullness += fullness_to_add * item_multiplier belly_fullness *= size_factor_for_sprite diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm index f3ac184b8d..54c2ff9c10 100644 --- a/code/modules/vore/eating/bellymodes_datum_vr.dm +++ b/code/modules/vore/eating/bellymodes_datum_vr.dm @@ -36,9 +36,7 @@ GLOBAL_LIST_INIT(digest_modes, list()) SEND_SOUND(L, sound(get_sfx("fancy_death_prey"))) B.handle_digestion_death(L) if(!L) - if (istype(B.owner, /mob/living/carbon/human)) - var/mob/living/carbon/human/howner = B.owner - howner.update_fullness() + B.owner.update_fullness() if(!B.fancy_vore) return list("to_update" = TRUE, "soundToPlay" = sound(get_sfx("classic_death_sounds"))) return list("to_update" = TRUE, "soundToPlay" = sound(get_sfx("fancy_death_pred"))) @@ -66,9 +64,7 @@ GLOBAL_LIST_INIT(digest_modes, list()) var/difference = B.owner.size_multiplier / L.size_multiplier if(B.health_impacts_size) - if (istype(B.owner, /mob/living/carbon/human)) - var/mob/living/carbon/human/howner = B.owner - howner.update_fullness() + B.owner.update_fullness() consider_healthbar(L, old_health, B.owner) @@ -123,6 +119,9 @@ GLOBAL_LIST_INIT(digest_modes, list()) /datum/digest_mode/drain/shrink/process_mob(obj/belly/B, mob/living/L) if(L.size_multiplier > B.shrink_grow_size) L.resize(L.size_multiplier - 0.01) // Shrink by 1% per tick + if(L.size_multiplier <= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped shrinking. + to_chat(B.owner, span_vnotice("You feel [L] get as small as you would like within your [lowertext(B.name)].")) + B.owner.update_fullness() . = ..() /datum/digest_mode/grow @@ -132,6 +131,9 @@ GLOBAL_LIST_INIT(digest_modes, list()) /datum/digest_mode/grow/process_mob(obj/belly/B, mob/living/L) if(L.size_multiplier < B.shrink_grow_size) L.resize(L.size_multiplier + 0.01) // Shrink by 1% per tick + if(L.size_multiplier >= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped growing. + to_chat(B.owner, span_vnotice("You feel [L] get as big as you would like within your [lowertext(B.name)].")) + B.owner.update_fullness() /datum/digest_mode/drain/sizesteal id = DM_SIZE_STEAL @@ -139,7 +141,12 @@ GLOBAL_LIST_INIT(digest_modes, list()) /datum/digest_mode/drain/sizesteal/process_mob(obj/belly/B, mob/living/L) if(L.size_multiplier > B.shrink_grow_size && B.owner.size_multiplier < 2) //Grow until either pred is large or prey is small. B.owner.resize(B.owner.size_multiplier + 0.01) //Grow by 1% per tick. + if(B.owner.size_multiplier >= 2) // Adds some feedback so the pred knows they can't grow anymore. + to_chat(B.owner, span_notice("You feel you have grown as much as you can.")) L.resize(L.size_multiplier - 0.01) //Shrink by 1% per tick + if(L.size_multiplier <= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped shrinking. + to_chat(B.owner, span_notice("You feel [L] get as small as you would like within your [lowertext(B.name)].")) + B.owner.update_fullness() . = ..() /datum/digest_mode/heal @@ -157,11 +164,15 @@ GLOBAL_LIST_INIT(digest_modes, list()) if(O.brute_dam > 0 || O.burn_dam > 0) //Making sure healing continues until fixed. O.heal_damage(0.5, 0.5, 0, 1) // Less effective healing as able to fix broken limbs B.owner.adjust_nutrition(-5) // More costly for the pred, since metals and stuff + if(B.health_impacts_size) + B.owner.update_fullness() if(L.health < L.maxHealth) L.adjustToxLoss(-2) L.adjustOxyLoss(-2) L.adjustCloneLoss(-1) B.owner.adjust_nutrition(-1) // Normal cost per old functionality + if(B.health_impacts_size) + B.owner.update_fullness() if(B.owner.nutrition > 90 && (L.health < L.maxHealth) && !H.isSynthetic()) L.adjustBruteLoss(-2.5) L.adjustFireLoss(-2.5) @@ -169,6 +180,8 @@ GLOBAL_LIST_INIT(digest_modes, list()) L.adjustOxyLoss(-5) L.adjustCloneLoss(-1.25) B.owner.adjust_nutrition(-2) + if(B.health_impacts_size) + B.owner.update_fullness() if(L.nutrition <= 400) L.adjust_nutrition(1) else if(B.owner.nutrition > 90 && (L.nutrition <= 400)) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 95ee35c879..a866b3a805 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -164,8 +164,8 @@ //Numbing flag if(mode_flags & DM_FLAG_NUMBING) - if(H.bloodstr.get_reagent_amount("numbenzyme") < 2) - H.bloodstr.add_reagent("numbenzyme",4) + if(H.bloodstr.get_reagent_amount(REAGENT_ID_NUMBENZYME) < 2) + H.bloodstr.add_reagent(REAGENT_ID_NUMBENZYME,4) //Thickbelly flag if((mode_flags & DM_FLAG_THICKBELLY) && !H.muffled) diff --git a/code/modules/vore/eating/exportpanel_vr.dm b/code/modules/vore/eating/exportpanel_vr.dm index 03df144bcc..718e3c9e05 100644 --- a/code/modules/vore/eating/exportpanel_vr.dm +++ b/code/modules/vore/eating/exportpanel_vr.dm @@ -154,6 +154,24 @@ for(var/msg in B.secondary_transfer_messages_prey) belly_data["secondary_transfer_messages_prey"] += msg + /* Not yet implemented on virgo + belly_data["primary_autotransfer_messages_owner"] = list() + for(var/msg in B.primary_autotransfer_messages_owner) + belly_data["primary_autotransfer_messages_owner"] += msg + + belly_data["primary_autotransfer_messages_prey"] = list() + for(var/msg in B.primary_autotransfer_messages_prey) + belly_data["primary_autotransfer_messages_prey"] += msg + + belly_data["secondary_autotransfer_messages_owner"] = list() + for(var/msg in B.secondary_autotransfer_messages_owner) + belly_data["secondary_autotransfer_messages_owner"] += msg + + belly_data["secondary_autotransfer_messages_prey"] = list() + for(var/msg in B.secondary_autotransfer_messages_prey) + belly_data["secondary_autotransfer_messages_prey"] += msg + */ + belly_data["digest_chance_messages_owner"] = list() for(var/msg in B.digest_chance_messages_owner) belly_data["digest_chance_messages_owner"] += msg @@ -262,6 +280,7 @@ belly_data["digest_clone"] = B.digest_clone belly_data["can_taste"] = B.can_taste + // belly_data["is_feedable"] = B.is_feedable // Not yet implemented on virgo belly_data["contaminates"] = B.contaminates belly_data["contamination_flavor"] = B.contamination_flavor belly_data["contamination_color"] = B.contamination_color @@ -272,8 +291,25 @@ belly_data["emote_active"] = B.emote_active belly_data["emote_time"] = B.emote_time belly_data["shrink_grow_size"] = B.shrink_grow_size + /* Not yet implemented on virgo + belly_data["vorespawn_blacklist"] = B.vorespawn_blacklist + belly_data["vorespawn_whitelist"] = B.vorespawn_whitelist + belly_data["vorespawn_absorbed"] = B.vorespawn_absorbed + */ belly_data["egg_type"] = B.egg_type + /* Not yet implemented on virgo + belly_data["egg_name"] = B.egg_name + belly_data["egg_size"] = B.egg_size + */ belly_data["selective_preference"] = B.selective_preference + /* Not yet implemented on virgo + belly_data["recycling"] = B.recycling + belly_data["storing_nutrition"] = B.storing_nutrition + belly_data["entrance_logs"] = B.entrance_logs + belly_data["item_digest_logs"] = B.item_digest_logs + belly_data["eating_privacy_local"] = B.eating_privacy_local + belly_data["private_struggle"] = B.private_struggle + */ // Sounds belly_data["is_wet"] = B.is_wet @@ -281,16 +317,58 @@ belly_data["fancy_vore"] = B.fancy_vore belly_data["vore_sound"] = B.vore_sound belly_data["release_sound"] = B.release_sound + /* Not yet implemented on virgo + belly_data["sound_volume"] = B.sound_volume + belly_data["noise_freq"] = B.noise_freq + */ + + // Visuals + belly_data["affects_vore_sprites"] = B.affects_vore_sprites + var/list/sprite_flags = list() + for(var/flag_name in B.vore_sprite_flag_list) + if(B.vore_sprite_flags & B.vore_sprite_flag_list[flag_name]) + sprite_flags.Add(flag_name) + belly_data["vore_sprite_flags"] = sprite_flags + belly_data["count_absorbed_prey_for_sprite"] = B.count_absorbed_prey_for_sprite + belly_data["absorbed_multiplier"] = B.absorbed_multiplier + // belly_data["count_liquid_for_sprite"] = B.count_liquid_for_sprite // Not yet implemented on virgo + // belly_data["liquid_multiplier"] = B.liquid_multiplier // Not yet implemented on virgo + belly_data["count_items_for_sprite"] = B.count_items_for_sprite + belly_data["item_multiplier"] = B.item_multiplier + belly_data["health_impacts_size"] = B.health_impacts_size + belly_data["resist_triggers_animation"] = B.resist_triggers_animation + belly_data["size_factor_for_sprite"] = B.size_factor_for_sprite + belly_data["belly_sprite_to_affect"] = B.belly_sprite_to_affect + belly_data["undergarment_chosen"] = B.undergarment_chosen + belly_data["undergarment_if_none"] = B.undergarment_if_none + belly_data["undergarment_color"] = B.undergarment_color + //belly_data["tail_to_change_to"] = B.tail_to_change_to + //belly_data["tail_colouration"] = B.tail_colouration + //belly_data["tail_extra_overlay"] = B.tail_extra_overlay + //belly_data["tail_extra_overlay2"] = B.tail_extra_overlay2 + + // Visuals (Belly Fullscreens Preview and Coloring) + /* Not yet implemented on virgo + belly_data["belly_fullscreen_color"] = B.belly_fullscreen_color + belly_data["belly_fullscreen_color2"] = B.belly_fullscreen_color2 + belly_data["belly_fullscreen_color3"] = B.belly_fullscreen_color3 + belly_data["belly_fullscreen_color4"] = B.belly_fullscreen_color4 + belly_data["belly_fullscreen_alpha"] = B.belly_fullscreen_alpha + belly_data["colorization_enabled"] = B.colorization_enabled + */ // Visuals (Vore FX) belly_data["disable_hud"] = B.disable_hud + // belly_data["belly_fullscreen"] = B.belly_fullscreen // Not yet implemented on virgo // Interactions belly_data["escapable"] = B.escapable belly_data["escapechance"] = B.escapechance belly_data["escapechance_absorbed"] = B.escapechance_absorbed - belly_data["escapetime"] = B.escapetime + belly_data["escapetime"] = B.escapetime/10 + + // belly_data["belchchance"] = B.belchchance // Not yet implemented on virgo belly_data["transferchance"] = B.transferchance belly_data["transferlocation"] = B.transferlocation @@ -301,6 +379,122 @@ belly_data["absorbchance"] = B.absorbchance belly_data["digestchance"] = B.digestchance + // Interactions (Auto-Transfer) + /* Not yet implemented on virgo + belly_data["autotransferchance"] = B.autotransferchance + belly_data["autotransferwait"] = B.autotransferwait/10 + belly_data["autotransferlocation"] = B.autotransferlocation + belly_data["autotransferextralocation"] = B.autotransferextralocation + belly_data["autotransfer_enabled"] = B.autotransfer_enabled + belly_data["autotransferchance_secondary"] = B.autotransferchance_secondary + belly_data["autotransferlocation_secondary"] = B.autotransferlocation_secondary + belly_data["autotransferextralocation_secondary"] = B.autotransferextralocation_secondary + belly_data["autotransfer_min_amount"] = B.autotransfer_min_amount + belly_data["autotransfer_max_amount"] = B.autotransfer_max_amount + var/list/at_whitelist = list() + for(var/flag_name in B.autotransfer_flags_list) + if(B.autotransfer_whitelist & B.autotransfer_flags_list[flag_name]) + at_whitelist.Add(flag_name) + belly_data["autotransfer_whitelist"] = at_whitelist + var/list/at_blacklist = list() + for(var/flag_name in B.autotransfer_flags_list) + if(B.autotransfer_blacklist & B.autotransfer_flags_list[flag_name]) + at_blacklist.Add(flag_name) + belly_data["autotransfer_blacklist"] = at_blacklist + var/list/at_whitelist_items = list() + for(var/flag_name in B.autotransfer_flags_list_items) + if(B.autotransfer_whitelist_items & B.autotransfer_flags_list_items[flag_name]) + at_whitelist_items.Add(flag_name) + belly_data["autotransfer_whitelist_items"] = at_whitelist_items + var/list/at_blacklist_items = list() + for(var/flag_name in B.autotransfer_flags_list_items) + if(B.autotransfer_blacklist_items & B.autotransfer_flags_list_items[flag_name]) + at_blacklist_items.Add(flag_name) + belly_data["autotransfer_blacklist_items"] = at_blacklist_items + var/list/at_secondary_whitelist = list() + for(var/flag_name in B.autotransfer_flags_list) + if(B.autotransfer_secondary_whitelist & B.autotransfer_flags_list[flag_name]) + at_secondary_whitelist.Add(flag_name) + belly_data["autotransfer_secondary_whitelist"] = at_secondary_whitelist + var/list/at_secondary_blacklist = list() + for(var/flag_name in B.autotransfer_flags_list) + if(B.autotransfer_secondary_blacklist & B.autotransfer_flags_list[flag_name]) + at_secondary_blacklist.Add(flag_name) + belly_data["autotransfer_secondary_blacklist"] = at_secondary_blacklist + var/list/at_secondary_whitelist_items = list() + for(var/flag_name in B.autotransfer_flags_list_items) + if(B.autotransfer_secondary_whitelist_items & B.autotransfer_flags_list_items[flag_name]) + at_secondary_whitelist_items.Add(flag_name) + belly_data["autotransfer_secondary_whitelist_items"] = at_secondary_whitelist_items + var/list/at_secondary_blacklist_items = list() + for(var/flag_name in B.autotransfer_flags_list_items) + if(B.autotransfer_secondary_blacklist_items & B.autotransfer_flags_list_items[flag_name]) + at_secondary_blacklist_items.Add(flag_name) + belly_data["autotransfer_secondary_blacklist_items"] = at_secondary_blacklist_items + + // Liquid Options + belly_data["show_liquids"] = B.show_liquids + belly_data["reagentbellymode"] = B.reagentbellymode + belly_data["reagent_chosen"] = B.reagent_chosen + belly_data["reagent_name"] = B.reagent_name + belly_data["reagent_transfer_verb"] = B.reagent_transfer_verb + belly_data["gen_time_display"] = B.gen_time_display + belly_data["custom_max_volume"] = B.custom_max_volume + belly_data["vorefootsteps_sounds"] = B.vorefootsteps_sounds + belly_data["liquid_overlay"] = B.liquid_overlay + belly_data["max_liquid_level"] = B.max_liquid_level + belly_data["reagent_toches"] = B.reagent_touches + belly_data["mush_overlay"] = B.mush_overlay + belly_data["mush_color"] = B.mush_color + belly_data["mush_alpha"] = B.mush_alpha + belly_data["max_mush"] = B.max_mush + belly_data["min_mush"] = B.min_mush + belly_data["item_mush_val"] = B.item_mush_val + belly_data["custom_reagentcolor"] = B.custom_reagentcolor + belly_data["custom_reagentalpha"] = B.custom_reagentalpha + belly_data["metabolism_overlay"] = B.metabolism_overlay + belly_data["metabolism_mush_ratio"] = B.metabolism_mush_ratio + belly_data["max_ingested"] = B.max_ingested + belly_data["custom_ingested_color"] = B.custom_ingested_color + belly_data["custom_ingested_alpha"] = B.custom_ingested_alpha + + var/list/reagent_flags = list() + for(var/flag_name in B.reagent_mode_flag_list) + if(B.reagent_mode_flags & B.reagent_mode_flag_list[flag_name]) + reagent_flags.Add(flag_name) + belly_data["reagent_mode_flag_list"] = reagent_flags + */ + data["bellies"] += list(belly_data) + // Liquid Messages + /* Not yet implemented on virgo + belly_data["show_fullness_messages"] = B.show_fullness_messages + belly_data["liquid_fullness1_messages"] = B.liquid_fullness1_messages + belly_data["liquid_fullness2_messages"] = B.liquid_fullness2_messages + belly_data["liquid_fullness3_messages"] = B.liquid_fullness3_messages + belly_data["liquid_fullness4_messages"] = B.liquid_fullness4_messages + belly_data["liquid_fullness5_messages"] = B.liquid_fullness5_messages + + belly_data["fullness1_messages"] = list() + for(var/msg in B.fullness1_messages) + belly_data["fullness1_messages"] += msg + + belly_data["fullness2_messages"] = list() + for(var/msg in B.fullness2_messages) + belly_data["fullness2_messages"] += msg + + belly_data["fullness3_messages"] = list() + for(var/msg in B.fullness3_messages) + belly_data["fullness3_messages"] += msg + + belly_data["fullness4_messages"] = list() + for(var/msg in B.fullness4_messages) + belly_data["fullness4_messages"] += msg + + belly_data["fullness5_messages"] = list() + for(var/msg in B.fullness5_messages) + belly_data["fullness5_messages"] += msg + */ + return data diff --git a/code/modules/vore/eating/living_bellies.dm b/code/modules/vore/eating/living_bellies.dm new file mode 100644 index 0000000000..e21936da7c --- /dev/null +++ b/code/modules/vore/eating/living_bellies.dm @@ -0,0 +1,36 @@ +/mob/proc/update_fullness(var/returning = FALSE) + if(!returning) + if(updating_fullness) + return + updating_fullness = TRUE + spawn(2) + updating_fullness = FALSE + src.update_fullness(TRUE) + return + var/list/new_fullness = list() + vore_fullness = 0 + for(var/belly_class in vore_icon_bellies) + new_fullness[belly_class] = 0 + for(var/obj/belly/B as anything in vore_organs) + if(DM_FLAG_VORESPRITE_BELLY & B.vore_sprite_flags) + new_fullness[B.belly_sprite_to_affect] += B.GetFullnessFromBelly() + if(istype(src, /mob/living/carbon/human) && DM_FLAG_VORESPRITE_ARTICLE & B.vore_sprite_flags) + if(!new_fullness[B.undergarment_chosen]) + new_fullness[B.undergarment_chosen] = 1 + new_fullness[B.undergarment_chosen] += B.GetFullnessFromBelly() + new_fullness[B.undergarment_chosen + "-ifnone"] = B.undergarment_if_none + new_fullness[B.undergarment_chosen + "-color"] = B.undergarment_color + for(var/belly_class in vore_icon_bellies) + new_fullness[belly_class] /= size_multiplier //Divided by pred's size so a macro mob won't get macro belly from a regular prey. + new_fullness[belly_class] *= belly_size_multiplier // Some mobs are small even at 100% size. Let's account for that. + new_fullness[belly_class] = round(new_fullness[belly_class], 1) // Because intervals of 0.25 are going to make sprite artists cry. + vore_fullness_ex[belly_class] = min(vore_capacity_ex[belly_class], new_fullness[belly_class]) + vore_fullness += new_fullness[belly_class] + if(vore_fullness < 0) + vore_fullness = 0 + vore_fullness = min(vore_capacity, vore_fullness) + updating_fullness = FALSE + return new_fullness + +/mob/living/proc/vs_animate(var/belly_to_animate) + return diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index b568f1b319..208cd04e4f 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -319,12 +319,9 @@ nutrition_messages = P.nutrition_messages weight_message_visible = P.weight_message_visible weight_messages = P.weight_messages + vore_sprite_color = P.vore_sprite_color allow_mind_transfer = P.allow_mind_transfer - - if (istype(src, /mob/living/carbon/human)) - src:vore_sprite_color = P.vore_sprite_color - if(bellies) if(isliving(src)) var/mob/living/L = src @@ -556,7 +553,7 @@ SetSleeping(0) //Wake up instantly if asleep for(var/mob/living/simple_mob/SA in range(10)) LAZYSET(SA.prey_excludes, src, world.time) - log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(B.owner)] ([B.owner ? "JMP" : "null"])") + log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(B.owner)] ([B.owner ? "JMP" : "null"])") if(!ishuman(B.owner)) B.owner.update_icons() @@ -570,14 +567,14 @@ if(confirm != "Okay" || loc != belly) return //Actual escaping - log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(pred)] (BORG) ([pred ? "JMP" : "null"])") + log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(pred)] (BORG) ([pred ? "JMP" : "null"])") belly.go_out(src) //Just force-ejects from the borg as if they'd clicked the eject button. //You're in an AI hologram! else if(istype(loc, /obj/effect/overlay/aiholo)) var/obj/effect/overlay/aiholo/holo = loc holo.drop_prey() //Easiest way - log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(holo.master)] (AI HOLO) ([holo ? "JMP" : "null"])") + log_and_message_admins("[key_name(src)] used the OOC escape button to get out of [key_name(holo.master)] (AI HOLO) ([holo ? "JMP" : "null"])") //You're in a capture crystal! ((It's not vore but close enough!)) else if(iscapturecrystal(loc)) @@ -791,8 +788,8 @@ /datum/gas_mixture/belly_air/New() . = ..() gas = list( - "oxygen" = 21, - "nitrogen" = 79) + GAS_O2 = 21, + GAS_N2 = 79) /datum/gas_mixture/belly_air/vox volume = 2500 @@ -802,7 +799,7 @@ /datum/gas_mixture/belly_air/vox/New() . = ..() gas = list( - "phoron" = 100) + GAS_PHORON = 100) /datum/gas_mixture/belly_air/zaddat volume = 2500 @@ -812,7 +809,7 @@ /datum/gas_mixture/belly_air/zaddat/New() . = ..() gas = list( - "oxygen" = 100) + GAS_O2 = 100) /datum/gas_mixture/belly_air/nitrogen_breather volume = 2500 @@ -822,7 +819,7 @@ /datum/gas_mixture/belly_air/nitrogen_breather/New() . = ..() gas = list( - "nitrogen" = 100) + GAS_N2 = 100) /mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey) @@ -1044,20 +1041,20 @@ //List in list, define by material property of ore in code/mining/modules/ore.dm. //50 nutrition = 5 ore to get 250 nutrition. 250 is the beginning of the 'well fed' range. var/list/rock_munch = list( - MAT_URANIUM = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), - "hematite" = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), - "carbon" = list("nutrition" = 15, "remark" = "Utterly bitter, crunching down on [O] only makes you long for better things. But a snack's a snack...", "WTF" = FALSE), - "marble" = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger.", "WTF" = FALSE), - "sand" = list("nutrition" = 0, "remark" = "You crunch on [O] but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets.", "WTF" = FALSE), - MAT_PHORON = list("nutrition" = 30, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), - MAT_SILVER = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), - MAT_GOLD = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), - MAT_DIAMOND = list("nutrition" = 50, "remark" = "The heavenly taste of [O] almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), - "platinum" = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), - MAT_METALHYDROGEN = list("nutrition" = 30, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), - "rutile" = list("nutrition" = 50, "remark" = "A little... angular, you savour the light but chewy [O], finishing it quickly.", "WTF" = FALSE), - MAT_VERDANTIUM = list("nutrition" = 50, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment.", "WTF" = FALSE), - MAT_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum.", "WTF" = FALSE) + ORE_URANIUM = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horribly tangy and sour flavour radiating through your mouth. It goes down all the same.", "WTF" = FALSE), + ORE_HEMATITE = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), + ORE_CARBON = list("nutrition" = 15, "remark" = "Utterly bitter, crunching down on [O] only makes you long for better things. But a snack's a snack...", "WTF" = FALSE), + ORE_MARBLE = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger.", "WTF" = FALSE), + ORE_SAND = list("nutrition" = 0, "remark" = "You crunch on [O] but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets.", "WTF" = FALSE), + ORE_PHORON = list("nutrition" = 30, "remark" = "Crunching [O] to dust between your jaw you find pleasant, comforting warmth filling your mouth that briefly spreads down the throat to your chest as you swallow.", "WTF" = FALSE), + ORE_SILVER = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging.", "WTF" = FALSE), + ORE_GOLD = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger.", "WTF" = FALSE), + ORE_DIAMOND = list("nutrition" = 50, "remark" = "The heavenly taste of [O] almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly.", "WTF" = FALSE), + ORE_PLATINUM = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), + ORE_MHYDROGEN = list("nutrition" = 30, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), + ORE_RUTILE = list("nutrition" = 50, "remark" = "A little... angular, you savour the light but chewy [O], finishing it quickly.", "WTF" = FALSE), + ORE_VERDANTIUM = list("nutrition" = 50, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment.", "WTF" = FALSE), + ORE_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum.", "WTF" = FALSE) ) if(O.material in rock_munch) nom = rock_munch[O.material] @@ -1085,18 +1082,18 @@ MAT_PLASTITANIUM = list("nutrition" = 60, "remark" = "A glorious marriage of richness and mildly sour with cool refreshing finish. [O] practically begs to be savoured, lingering on the palate long enough to tempt another bite.", "WTF" = FALSE), MAT_PLASTITANIUMGLASS = list("nutrition" = 25, "remark" = "After some work, you grind [O] down with a satisfying crunch to unleash a sublime mixture of mildly sour richness and cooling refreshment. It readily entices you for another bite.", "WTF" = FALSE), MAT_GLASS = list("nutrition" = 0, "remark" = "All crunch and nothing more, you effortlessly grind [O] down to find it only wets your appetite and dries the throat.", "WTF" = FALSE), - "rglass" = list("nutrition" = 5, "remark" = "With a satisfying crunch, you grind [O] down with ease. It is barely palatable with a subtle metallic tang.", "WTF" = FALSE), - MAT_BOROSILICATE = list("nutrition" = 10, "remark" = "With a satisfying crunch, you grind [O] down with ease and find it somewhat palatable due to a subtle but familiar rush of phoronic warmth.", "WTF" = FALSE), - "reinforced borosilicate glass" = list("nutrition" = 15, "remark" = "With a satisfying crunch, you grind [O] down. It is quite palatable due to a subtle metallic tang and familiar rush of phoronic warmth.", "WTF" = FALSE), + MAT_RGLASS = list("nutrition" = 5, "remark" = "With a satisfying crunch, you grind [O] down with ease. It is barely palatable with a subtle metallic tang.", "WTF" = FALSE), + MAT_PGLASS = list("nutrition" = 10, "remark" = "With a satisfying crunch, you grind [O] down with ease and find it somewhat palatable due to a subtle but familiar rush of phoronic warmth.", "WTF" = FALSE), + MAT_RPGLASS = list("nutrition" = 15, "remark" = "With a satisfying crunch, you grind [O] down. It is quite palatable due to a subtle metallic tang and familiar rush of phoronic warmth.", "WTF" = FALSE), MAT_GRAPHITE = list("nutrition" = 30, "remark" = "Satisfyingly metallic with a mildly savoury tartness, you chew [O] until its flavour is no more but are left longing for another.", "WTF" = FALSE), MAT_OSMIUM = list("nutrition" = 45, "remark" = "Successive bites serve to almost chill your palate, a rush of rich and mildly sour flavour unlocked with the grinding of your powerful jaws. Delectable.", "WTF" = FALSE), MAT_METALHYDROGEN = list("nutrition" = 35, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly.", "WTF" = FALSE), - "platinum" = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), + MAT_PLATINUM = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectable.", "WTF" = FALSE), MAT_IRON = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite.", "WTF" = FALSE), MAT_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum.", "WTF" = FALSE), MAT_VERDANTIUM = list("nutrition" = 55, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment.", "WTF" = FALSE), MAT_MORPHIUM = list("nutrition" = 75, "remark" = "The question, the answer and the taste: It all floods your mouth and your mind to momentarily overwhelm the senses. What the hell was that? Your mouth and throat are left tingling for a while.", "WTF" = 10), - "alienalloy" = list("nutrition" = 120, "remark" = "Working hard for so long to rend the material apart has left your jaw sore, but a veritable explosion of mind boggling indescribable flavour is unleashed. Completely alien sensations daze and overwhelm you while it feels like an interdimensional rift opened in your mouth, briefly numbing your face.", "WTF" = 15) + MAT_ALIENALLOY = list("nutrition" = 120, "remark" = "Working hard for so long to rend the material apart has left your jaw sore, but a veritable explosion of mind boggling indescribable flavour is unleashed. Completely alien sensations daze and overwhelm you while it feels like an interdimensional rift opened in your mouth, briefly numbing your face.", "WTF" = 15) ) if(O.default_type in refined_taste) var/obj/item/stack/material/stack = O.split(1) //A little off the top. @@ -1168,8 +1165,8 @@ if(custom_link) . += "Custom link: " + span_linkify("[custom_link]") if(ooc_notes) - . += "OOC Notes: \[View\] - \[Print\]" - . += "\[Mechanical Vore Preferences\]" + . += "OOC Notes: \[View\] - \[Print\]" + . += "\[Mechanical Vore Preferences\]" /mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call diff --git a/code/modules/vore/eating/mob_vr.dm b/code/modules/vore/eating/mob_vr.dm index 5a3d89cd30..0594c4d8e7 100644 --- a/code/modules/vore/eating/mob_vr.dm +++ b/code/modules/vore/eating/mob_vr.dm @@ -53,3 +53,18 @@ "They have a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs.", "They are incredibly obese. Their massive potbelly sags over their waistline while their fat ass would probably require two chairs to sit down comfortably!", "They are so morbidly obese, you wonder how they can even stand, let alone waddle around the station. They can't get any fatter without being immobilized.") + + var/vore_capacity = 0 // Maximum capacity, -1 for unlimited + var/vore_capacity_ex = list("stomach" = 0) //expanded list of capacities + var/vore_fullness = 0 // How "full" the belly is (controls icons) + var/list/vore_fullness_ex = list("stomach" = 0) // Expanded list of fullness + var/belly_size_multiplier = 1 + var/vore_sprite_multiply = list("stomach" = FALSE, "taur belly" = FALSE) + var/vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") + + var/list/vore_icon_bellies = list("stomach") + var/updating_fullness = FALSE + var/obj/belly/previewing_belly + + var/vore_icons = 0 // Bitfield for which fields we have vore icons for. + var/vore_eyes = FALSE // For mobs with fullness specific eye overlays. diff --git a/code/modules/vore/eating/silicon_vr.dm b/code/modules/vore/eating/silicon_vr.dm index 0ef778f829..a96e3de0ed 100644 --- a/code/modules/vore/eating/silicon_vr.dm +++ b/code/modules/vore/eating/silicon_vr.dm @@ -99,7 +99,7 @@ . += "[flavor_text]" if(master.ooc_notes) - . += span_deptradio("OOC Notes:") + "\[View\] - \[Print\]" + . += span_deptradio("OOC Notes:") + "\[View\] - \[Print\]" // Allow dissipating ai holograms by attacking them /obj/effect/overlay/aiholo/attack_hand(mob/living/user) diff --git a/code/modules/vore/eating/simple_animal_vr.dm b/code/modules/vore/eating/simple_animal_vr.dm index b6eb8840b3..a75aa55f28 100644 --- a/code/modules/vore/eating/simple_animal_vr.dm +++ b/code/modules/vore/eating/simple_animal_vr.dm @@ -3,6 +3,12 @@ var/swallowTime = (3 SECONDS) //How long it takes to eat its prey in 1/10 of a second. The default is 3 seconds. var/list/prey_excludes = null //For excluding people from being eaten. +/mob/living/simple_mob/insidePanel() //On-demand belly loading. + if(vore_active && !voremob_loaded) + voremob_loaded = TRUE + init_vore() + ..() + // // Simple nom proc for if you get ckey'd into a simple_mob mob! Avoids grabs. // @@ -11,6 +17,10 @@ set category = "Abilities.Vore" // Moving this to abilities from IC as it's more fitting there set desc = "Since you can't grab, you get a verb!" + if(vore_active && !voremob_loaded) // On-demand belly loading. + voremob_loaded = TRUE + init_vore() + if(stat != CONSCIOUS) return // Verbs are horrifying. They don't call overrides. So we're stuck with this. @@ -23,6 +33,13 @@ feed_grabbed_to_self(src,T) update_icon() +/mob/living/simple_mob/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay) + if(vore_active && !voremob_loaded && pred == src) //Only init your own bellies. + voremob_loaded = TRUE + init_vore() + belly = vore_selected + return ..() + // // Simple proc for animals to have their digestion toggled on/off externally // Added as a verb in /mob/living/simple_mob/init_vore() if vore is enabled for this mob. diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index 492389b267..0eda2da683 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -71,6 +71,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/pickup_pref = TRUE var/vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") + var/vore_sprite_multiply = list("stomach" = FALSE, "taur belly" = FALSE) var/allow_mind_transfer = FALSE var/list/belly_prefs = list() @@ -122,6 +123,11 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE // /proc/is_vore_predator(mob/living/O) if(istype(O,/mob/living)) + if(istype(O,/mob/living/simple_mob)) //On-demand belly loading. + var/mob/living/simple_mob/SM = O + if(SM.vore_active && !SM.voremob_loaded) + SM.voremob_loaded = TRUE + SM.init_vore() if(O.vore_organs.len > 0) return TRUE diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index b690ab20f2..18dd73a64d 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -249,12 +249,15 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", "resist_animation" = selected.resist_triggers_animation, "voresprite_size_factor" = selected.size_factor_for_sprite, "belly_sprite_to_affect" = selected.belly_sprite_to_affect, - "belly_sprite_option_shown" = istype(host, /mob/living/carbon/human) ? (LAZYLEN(host:vore_icon_bellies) >= 1 ? TRUE : FALSE) : FALSE, // TODO: FIX THIS (It won't be fixed) + "belly_sprite_option_shown" = LAZYLEN(host.vore_icon_bellies) >= 1 ? TRUE : FALSE, "tail_option_shown" = istype(host, /mob/living/carbon/human), "tail_to_change_to" = selected.tail_to_change_to, "tail_colouration" = selected.tail_colouration, "tail_extra_overlay" = selected.tail_extra_overlay, - "tail_extra_overlay2" = selected.tail_extra_overlay2 + "tail_extra_overlay2" = selected.tail_extra_overlay2, + "undergarment_chosen" = selected.undergarment_chosen, + "undergarment_if_none" = selected.undergarment_if_none || "None", + "undergarment_color" = selected.undergarment_color ) var/list/addons = list() @@ -671,19 +674,19 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", unsaved_changes = TRUE return TRUE if("set_vs_color") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/belly_choice = tgui_input_list(ui.user, "Which vore sprite are you going to edit the color of?", "Vore Sprite Color", hhost.vore_icon_bellies) - var/newcolor = input(ui.user, "Choose a color.", "", hhost.vore_sprite_color[belly_choice]) as color|null + var/belly_choice = tgui_input_list(ui.user, "Which vore sprite are you going to edit the color of?", "Vore Sprite Color", host.vore_icon_bellies) + if(belly_choice) + var/newcolor = input(ui.user, "Choose a color.", "", host.vore_sprite_color[belly_choice]) as color|null if(newcolor) - hhost.vore_sprite_color[belly_choice] = newcolor - var/multiply = tgui_input_list(ui.user, "Set the color to be applied multiplicatively or additively? Currently in [hhost.vore_sprite_multiply[belly_choice] ? "Multiply" : "Add"]", "Vore Sprite Color", list("Multiply", "Add")) + host.vore_sprite_color[belly_choice] = newcolor + var/multiply = tgui_input_list(ui.user, "Set the color to be applied multiplicatively or additively? Currently in [host.vore_sprite_multiply[belly_choice] ? "Multiply" : "Add"]", "Vore Sprite Color", list("Multiply", "Add")) if(multiply == "Multiply") - hhost.vore_sprite_multiply[belly_choice] = TRUE + host.vore_sprite_multiply[belly_choice] = TRUE else if(multiply == "Add") - hhost.vore_sprite_multiply[belly_choice] = FALSE - hhost.update_icons_body() - return TRUE + host.vore_sprite_multiply[belly_choice] = FALSE + host.update_icons_body() + unsaved_changes = TRUE + return TRUE /datum/vore_look/proc/pick_from_inside(mob/user, params) var/atom/movable/target = locate(params["pick"]) @@ -803,7 +806,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", var/atom/movable/target = locate(params["pick"]) if(!(target in host.vore_selected)) return TRUE // Not in our X anymore, update UI - var/list/available_options = list("Examine", "Eject", "Move", "Transfer") + var/list/available_options = list("Examine", "Eject", "Launch", "Move", "Transfer") if(ishuman(target)) available_options += "Transform" available_options += "Health Check" @@ -831,6 +834,16 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected.release_specific_contents(target) return TRUE + if("Launch") + if(host.stat) + to_chat(user, span_warning("You can't do that in your state!")) + return TRUE + + host.vore_selected.release_specific_contents(target) + target.throw_at(get_edge_target_turf(host, host.dir), 3, 1, host) + host.visible_message(span_danger("[host] launches [target]!")) + return TRUE + if("Move") if(host.stat) to_chat(user,span_warning("You can't do that in your state!")) @@ -1453,7 +1466,9 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", list("Sleeper", "Vorebelly", "Both")) if(belly_choice == null) return FALSE - host.vore_selected.silicon_belly_overlay_preference = belly_choice + for (var/belly in host.vore_organs) + var/obj/belly/B = belly + B.silicon_belly_overlay_preference = belly_choice host.update_icon() . = TRUE if("b_belly_mob_mult") @@ -1759,97 +1774,125 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", host.vore_selected = host.vore_organs[1] . = TRUE if("b_belly_sprite_to_affect") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/belly_choice = tgui_input_list(user, "Which belly sprite do you want your [lowertext(hhost.vore_selected.name)] to affect?","Select Region", hhost.vore_icon_bellies) - if(!belly_choice) //They cancelled, no changes - return FALSE + var/belly_choice = tgui_input_list(user, "Which belly sprite do you want your [lowertext(host.vore_selected.name)] to affect?","Select Region", host.vore_icon_bellies) + if(!belly_choice) //They cancelled, no changes + return FALSE + else + host.vore_selected.belly_sprite_to_affect = belly_choice + if(isanimal(host)) + host.update_icon() else - hhost.vore_selected.belly_sprite_to_affect = belly_choice - hhost.update_fullness() - . = TRUE + host.update_fullness() + . = TRUE if("b_affects_vore_sprites") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - hhost.vore_selected.affects_vore_sprites = !hhost.vore_selected.affects_vore_sprites - hhost.update_fullness() - . = TRUE + host.vore_selected.affects_vore_sprites = !host.vore_selected.affects_vore_sprites + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE if("b_count_absorbed_prey_for_sprites") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - hhost.vore_selected.count_absorbed_prey_for_sprite = !hhost.vore_selected.count_absorbed_prey_for_sprite - hhost.update_fullness() - . = TRUE + host.vore_selected.count_absorbed_prey_for_sprite = !host.vore_selected.count_absorbed_prey_for_sprite + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE if("b_absorbed_multiplier") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/absorbed_multiplier_input = input(user, "Set the impact absorbed prey's size have on your vore sprite. 1 means no scaling, 0.5 means absorbed prey count half as much, 2 means absorbed prey count double. (Range from 0.1 - 3)", "Absorbed Multiplier") as num|null - if(!isnull(absorbed_multiplier_input)) - hhost.vore_selected.absorbed_multiplier = CLAMP(absorbed_multiplier_input, 0.1, 3) - hhost.update_fullness() - . = TRUE - if("b_count_items_for_sprites") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - hhost.vore_selected.count_items_for_sprite = !hhost.vore_selected.count_items_for_sprite - hhost.update_fullness() - . = TRUE - if("b_item_multiplier") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/item_multiplier_input = input(user, "Set the impact items will have on your vore sprite. 1 means a belly with 8 normal-sized items will count as 1 normal sized prey-thing's worth, 0.5 means items count half as much, 2 means items count double. (Range from 0.1 - 10)", "Item Multiplier") as num|null - if(!isnull(item_multiplier_input)) - hhost.vore_selected.item_multiplier = CLAMP(item_multiplier_input, 0.1, 10) - hhost.update_fullness() - . = TRUE - if("b_health_impacts_size") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - hhost.vore_selected.health_impacts_size = !hhost.vore_selected.health_impacts_size - hhost.update_fullness() - . = TRUE - if("b_resist_animation") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - hhost.vore_selected.resist_triggers_animation = !hhost.vore_selected.resist_triggers_animation - . = TRUE - if("b_size_factor_sprites") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/size_factor_input = input(user, "Set the impact all belly content's collective size has on your vore sprite. 1 means no scaling, 0.5 means content counts half as much, 2 means contents count double. (Range from 0.1 - 3)", "Size Factor") as num|null - if(!isnull(size_factor_input)) - hhost.vore_selected.size_factor_for_sprite = CLAMP(size_factor_input, 0.1, 3) - hhost.update_fullness() - . = TRUE - if("b_tail_to_change_to") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/tail_choice = tgui_input_list(user, "Which tail sprite do you want to use when your [lowertext(host.vore_selected.name)] is filled?","Select Sprite", global.tail_styles_list) - if(!tail_choice) //They cancelled, no changes - return FALSE + var/absorbed_multiplier_input = input(user, "Set the impact absorbed prey's size have on your vore sprite. 1 means no scaling, 0.5 means absorbed prey count half as much, 2 means absorbed prey count double. (Range from 0.1 - 3)", "Absorbed Multiplier") as num|null + if(!isnull(absorbed_multiplier_input)) + host.vore_selected.absorbed_multiplier = CLAMP(absorbed_multiplier_input, 0.1, 3) + if(isanimal(host)) + host.update_icon() else - hhost.vore_selected.tail_to_change_to = tail_choice - . = TRUE + host.update_fullness() + . = TRUE + if("b_count_items_for_sprites") + host.vore_selected.count_items_for_sprite = !host.vore_selected.count_items_for_sprite + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE + if("b_item_multiplier") + var/item_multiplier_input = input(user, "Set the impact items will have on your vore sprite. 1 means a belly with 8 normal-sized items will count as 1 normal sized prey-thing's worth, 0.5 means items count half as much, 2 means items count double. (Range from 0.1 - 10)", "Item Multiplier") as num|null + if(!isnull(item_multiplier_input)) + host.vore_selected.item_multiplier = CLAMP(item_multiplier_input, 0.1, 10) + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE + if("b_health_impacts_size") + host.vore_selected.health_impacts_size = !host.vore_selected.health_impacts_size + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE + if("b_resist_animation") + host.vore_selected.resist_triggers_animation = !host.vore_selected.resist_triggers_animation + . = TRUE + if("b_size_factor_sprites") + var/size_factor_input = input(user, "Set the impact all belly content's collective size has on your vore sprite. 1 means no scaling, 0.5 means content counts half as much, 2 means contents count double. (Range from 0.1 - 3)", "Size Factor") as num|null + if(!isnull(size_factor_input)) + host.vore_selected.size_factor_for_sprite = CLAMP(size_factor_input, 0.1, 3) + if(isanimal(host)) + host.update_icon() + else + host.update_fullness() + . = TRUE + if("b_vore_sprite_flags") + var/list/menu_list = host.vore_selected.vore_sprite_flag_list.Copy() + var/toggle_vs_flag = tgui_input_list(user, "Toggle Vore Sprite Modes", "Mode Choice", menu_list) + if(!toggle_vs_flag) + return FALSE + host.vore_selected.vore_sprite_flags ^= host.vore_selected.vore_sprite_flag_list[toggle_vs_flag] + . = TRUE + if("b_undergarment_choice") + var/datum/category_group/underwear/undergarment_choice = tgui_input_list(user, "Which undergarment do you want to enable when your [lowertext(host.vore_selected.name)] is filled?","Select Undergarment Class", global_underwear.categories) + if(!undergarment_choice) //They cancelled, no changes + return FALSE + else + host.vore_selected.undergarment_chosen = undergarment_choice.name + host.update_fullness() + . = TRUE + if("b_undergarment_if_none") + var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[host.vore_selected.undergarment_chosen] + var/datum/category_item/underwear/selected_underwear = tgui_input_list(user, "If no undergarment is equipped, which undergarment style do you want to use?","Select Underwear Style",UWC.items,host.vore_selected.undergarment_if_none) + if(!selected_underwear) //They cancelled, no changes + return FALSE + else + host.vore_selected.undergarment_if_none = selected_underwear + host.update_fullness() + host.updateVRPanel() + if("b_undergarment_color") + var/newcolor = input(user, "Choose a color.", "", host.vore_selected.undergarment_color) as color|null + if(newcolor) + host.vore_selected.undergarment_color = newcolor + host.update_fullness() + . = TRUE + if("b_tail_to_change_to") + var/tail_choice = tgui_input_list(user, "Which tail sprite do you want to use when your [lowertext(host.vore_selected.name)] is filled?","Select Sprite", global.tail_styles_list) + if(!tail_choice) //They cancelled, no changes + return FALSE + else + host.vore_selected.tail_to_change_to = tail_choice + . = TRUE if("b_tail_color") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/newcolor = input(user, "Choose tail color.", "", hhost.vore_selected.tail_colouration) as color|null - if(newcolor) - hhost.vore_selected.tail_colouration = newcolor - . = TRUE + var/newcolor = input(user, "Choose tail color.", "", host.vore_selected.tail_colouration) as color|null + if(newcolor) + host.vore_selected.tail_colouration = newcolor + . = TRUE if("b_tail_color2") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/newcolor = input(user, "Choose tail secondary color.", "", hhost.vore_selected.tail_extra_overlay) as color|null - if(newcolor) - hhost.vore_selected.tail_extra_overlay = newcolor - . = TRUE + var/newcolor = input(user, "Choose tail secondary color.", "", host.vore_selected.tail_extra_overlay) as color|null + if(newcolor) + host.vore_selected.tail_extra_overlay = newcolor + . = TRUE if("b_tail_color3") - if (istype(host, /mob/living/carbon/human)) - var/mob/living/carbon/human/hhost = host - var/newcolor = input(user, "Choose tail tertiary color.", "", hhost.vore_selected.tail_extra_overlay2) as color|null - if(newcolor) - hhost.vore_selected.tail_extra_overlay2 = newcolor - . = TRUE + var/newcolor = input(user, "Choose tail tertiary color.", "", host.vore_selected.tail_extra_overlay2) as color|null + if(newcolor) + host.vore_selected.tail_extra_overlay2 = newcolor + . = TRUE if(.) unsaved_changes = TRUE diff --git a/code/modules/vore/fluffstuff/custom_implants_vr.dm b/code/modules/vore/fluffstuff/custom_implants_vr.dm index 1ad8493b1d..fcb225609c 100644 --- a/code/modules/vore/fluffstuff/custom_implants_vr.dm +++ b/code/modules/vore/fluffstuff/custom_implants_vr.dm @@ -1,8 +1,8 @@ //WickedTempest: Chakat Tempest /obj/item/implant/reagent_generator/tempest - generated_reagents = list("milk" = 2) - reagent_name = "milk" + generated_reagents = list(REAGENT_ID_MILK = 2) + reagent_name = REAGENT_ID_MILK usable_volume = 1000 empty_message = list("Your breasts are almost completely drained!") @@ -19,8 +19,8 @@ //Hottokeeki: Belle Day /obj/item/implant/reagent_generator/belle - generated_reagents = list("milk" = 2) - reagent_name = "milk" + generated_reagents = list(REAGENT_ID_MILK = 2) + reagent_name = REAGENT_ID_MILK usable_volume = 5000 empty_message = list("Your breasts and or udder feel almost completely drained!", "You're feeling a liittle on the empty side...") @@ -39,8 +39,8 @@ /obj/item/implant/reagent_generator/eldi name = "lactation implant" desc = "This is an implant that allows the user to lactate." - generated_reagents = list("milk" = 2) - reagent_name = "milk" + generated_reagents = list(REAGENT_ID_MILK = 2) + reagent_name = REAGENT_ID_MILK usable_volume = 1000 empty_message = list("Your breasts feel unusually empty.", "Your chest feels lighter - your milk supply is empty!", "Your milk reserves have run dry.", "Your grateful nipples ache as the last of your milk leaves them.") @@ -56,7 +56,7 @@ //Vorrarkul: Theodora Lindt /obj/item/implant/reagent_generator/vorrarkul - generated_reagents = list("chocolate_milk" = 2) + generated_reagents = list(REAGENT_ID_CHOCOLATEMILK = 2) reagent_name = "chocalate milk" usable_volume = 1000 @@ -73,8 +73,8 @@ //Lycanthorph: Savannah Dixon /obj/item/implant/reagent_generator/savannah - generated_reagents = list("milk" = 2) - reagent_name = "milk" + generated_reagents = list(REAGENT_ID_MILK = 2) + reagent_name = REAGENT_ID_MILK usable_volume = 1000 empty_message = list("Your nipples are sore from being milked!", "Your breasts feel drained, milk is no longer leaking from your nipples!") @@ -95,7 +95,7 @@ /obj/item/implant/reagent_generator/roiz name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." - generated_reagents = list("egg" = 2) + generated_reagents = list(REAGENT_ID_EGG = 2) usable_volume = 500 transfer_amount = 50 @@ -164,7 +164,7 @@ /obj/item/implant/reagent_generator/jasmine name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." - generated_reagents = list("egg" = 2) + generated_reagents = list(REAGENT_ID_EGG = 2) usable_volume = 500 transfer_amount = 50 @@ -233,7 +233,7 @@ /obj/item/implant/reagent_generator/yonra name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." - generated_reagents = list("egg" = 2) + generated_reagents = list(REAGENT_ID_EGG = 2) usable_volume = 500 transfer_amount = 50 @@ -308,7 +308,7 @@ /obj/item/reagent_containers/food/snacks/egg/teshari/New() ..() - reagents.add_reagent("egg", 10) + reagents.add_reagent(REAGENT_ID_EGG, 10) bitesize = 2 /obj/item/reagent_containers/food/snacks/egg/teshari/tesh2 @@ -318,7 +318,7 @@ /obj/item/implant/reagent_generator/rischi name = "egg laying implant" desc = "This is an implant that allows the user to lay eggs." - generated_reagents = list("egg" = 2) + generated_reagents = list(REAGENT_ID_EGG = 2) usable_volume = 3000 //They requested 1 egg every ~30 minutes. transfer_amount = 3000 @@ -385,8 +385,8 @@ /* /obj/item/implant/reagent_generator/pumila_nectar //Bugged. Two implants at once messes things up. - generated_reagents = list("honey" = 2) - reagent_name = "honey" + generated_reagents = list(REAGENT_ID_HONEY = 2) + reagent_name = REAGENT_ID_HONEY usable_volume = 5000 empty_message = list("You appear to be all out of nectar", "You feel as though you are lacking a majority of your nectar.") @@ -411,7 +411,7 @@ /obj/item/reagent_containers/food/snacks/egg/roiz/New() ..() - reagents.add_reagent("egg", 9) + reagents.add_reagent(REAGENT_ID_EGG, 9) bitesize = 2 /obj/item/reagent_containers/food/snacks/egg/roiz/attackby(obj/item/W as obj, mob/user as mob) @@ -441,7 +441,7 @@ /obj/item/reagent_containers/food/snacks/friedegg/roiz/New() ..() - reagents.add_reagent("protein", 9) + reagents.add_reagent(REAGENT_ID_PROTEIN, 9) bitesize = 2 /obj/item/reagent_containers/food/snacks/boiledegg/roiz @@ -453,7 +453,7 @@ /obj/item/reagent_containers/food/snacks/boiledegg/roiz/New() ..() - reagents.add_reagent("protein", 6) + reagents.add_reagent(REAGENT_ID_PROTEIN, 6) bitesize = 2 /obj/item/reagent_containers/food/snacks/chocolateegg/roiz @@ -463,14 +463,14 @@ icon_state = "chocolateegg_roiz" filling_color = "#7D5F46" nutriment_amt = 3 - nutriment_desc = list("chocolate" = 5) + nutriment_desc = list(REAGENT_ID_CHOCOLATE = 5) volume = 18 /obj/item/reagent_containers/food/snacks/chocolateegg/roiz/New() ..() - reagents.add_reagent("sugar", 6) - reagents.add_reagent("coco", 6) - reagents.add_reagent("milk", 2) + reagents.add_reagent(REAGENT_ID_SUGAR, 6) + reagents.add_reagent(REAGENT_ID_COCO, 6) + reagents.add_reagent(REAGENT_ID_MILK, 2) bitesize = 2 //SilverTalisman: Evian diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 79c18b3aa0..826e049f62 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -1156,7 +1156,7 @@ /obj/item/reagent_containers/food/drinks/flask/vacuumflask/fluff/viktor/Initialize() . = ..() - reagents.add_reagent("pwine", 60) + reagents.add_reagent(REAGENT_ID_PWINE, 60) //RadiantAurora: Tiemli Kroto /obj/item/clothing/glasses/welding/tiemgogs @@ -1271,8 +1271,8 @@ /obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask/Initialize() . = ..() - reagents.add_reagent("tea", 40) - reagents.add_reagent("milk", 20) + reagents.add_reagent(REAGENT_ID_TEA, 40) + reagents.add_reagent(REAGENT_ID_MILK, 20) /obj/item/reagent_containers/food/drinks/glass2/fluff/claraflask/update_icon() ..() @@ -1377,7 +1377,7 @@ desc = "A mostly decorative knife made from thin ceramic and toothed with large black fangs. Printed on the flat is an eight-armed cross, like an asterisk with an extra stroke, ringed by a calligraphy-style crescent." attack_verb = list("mauled", "bit", "sawed", "butchered") dulled = 1 - default_material = "glass" + default_material = MAT_GLASS //Ashling - Antoinette deKaultieste @@ -1392,7 +1392,7 @@ desc = "A small bottle of finely ground poppyseed and mixed dried berries." icon = 'icons/obj/chemical.dmi' icon_state = "bottle3" - prefill = list("bicaridine" = 30, "nutriment" = 30) + prefill = list(REAGENT_ID_BICARIDINE = 30, REAGENT_ID_NUTRIMENT = 30) /obj/item/clothing/accessory/storage/ritualharness/fluff/antoinette/Initialize() . = ..() diff --git a/code/modules/vore/smoleworld/smoleworld_vr.dm b/code/modules/vore/smoleworld/smoleworld_vr.dm index eca90161f5..7e43c79a21 100644 --- a/code/modules/vore/smoleworld/smoleworld_vr.dm +++ b/code/modules/vore/smoleworld/smoleworld_vr.dm @@ -423,7 +423,7 @@ icon_state = "sp_moon" bitesize = 1 nutriment_amt = 2 - nutriment_desc = list("sugar" = 2) + nutriment_desc = list(REAGENT_ID_SUGAR = 2) drop_sound = 'sound/items/drop/basketball.ogg' /obj/item/reagent_containers/food/snacks/snackplanet/virgo3b diff --git a/code/modules/vote/vote_datum.dm b/code/modules/vote/vote_datum.dm index 9a3597ae4c..ebdaf6e596 100644 --- a/code/modules/vote/vote_datum.dm +++ b/code/modules/vote/vote_datum.dm @@ -118,7 +118,7 @@ return null /datum/vote/proc/announce(start_text, var/time = vote_time) - to_chat(world, span_lightpurple("Type vote or click here to place your vote. \ + to_chat(world, span_lightpurple("Type vote or click here to place your vote. \ You have [time/10] seconds to vote.")) world << sound('sound/ambience/alarm4.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) diff --git a/code/modules/vote/vote_verb.dm b/code/modules/vote/vote_verb.dm index f9bff81282..b8479cbe95 100644 --- a/code/modules/vote/vote_verb.dm +++ b/code/modules/vote/vote_verb.dm @@ -1,5 +1,5 @@ /client/verb/vote() - set category = "OOC" + set category = "OOC.Game" set name = "Vote" if(SSvote.active_vote) diff --git a/code/modules/xenoarcheaology/effect_master.dm b/code/modules/xenoarcheaology/effect_master.dm index a886201ed7..f6954f4090 100644 --- a/code/modules/xenoarcheaology/effect_master.dm +++ b/code/modules/xenoarcheaology/effect_master.dm @@ -296,16 +296,16 @@ for(var/datum/artifact_effect/my_effect in my_effects) if (istype(W, /obj/item/reagent_containers)) - if(W.reagents.has_reagent("hydrogen", 1) || W.reagents.has_reagent("water", 1)) + if(W.reagents.has_reagent(REAGENT_ID_HYDROGEN, 1) || W.reagents.has_reagent(REAGENT_ID_WATER, 1)) if(my_effect.trigger == TRIGGER_WATER) my_effect.ToggleActivate() - else if(W.reagents.has_reagent("sacid", 1) || W.reagents.has_reagent("pacid", 1) || W.reagents.has_reagent("diethylamine", 1)) + else if(W.reagents.has_reagent(REAGENT_ID_SACID, 1) || W.reagents.has_reagent(REAGENT_ID_PACID, 1) || W.reagents.has_reagent(REAGENT_ID_DIETHYLAMINE, 1)) if(my_effect.trigger == TRIGGER_ACID) my_effect.ToggleActivate() - else if(W.reagents.has_reagent("phoron", 1) || W.reagents.has_reagent("thermite", 1)) + else if(W.reagents.has_reagent(REAGENT_ID_PHORON, 1) || W.reagents.has_reagent(REAGENT_ID_THERMITE, 1)) if(my_effect.trigger == TRIGGER_VOLATILE) my_effect.ToggleActivate() - else if(W.reagents.has_reagent("toxin", 1) || W.reagents.has_reagent("cyanide", 1) || W.reagents.has_reagent("amatoxin", 1) || W.reagents.has_reagent("neurotoxin", 1)) + else if(W.reagents.has_reagent(REAGENT_ID_TOXIN, 1) || W.reagents.has_reagent(REAGENT_ID_CYANIDE, 1) || W.reagents.has_reagent(REAGENT_ID_AMATOXIN, 1) || W.reagents.has_reagent(REAGENT_ID_NEUROTOXIN, 1)) if(my_effect.trigger == TRIGGER_TOXIN) my_effect.ToggleActivate() else if(istype(W,/obj/item/melee/baton) && W:status ||\ @@ -327,10 +327,10 @@ /datum/component/artifact_master/proc/on_reagent() var/datum/reagent/Touching = args[2] - var/list/water = list("hydrogen", "water") - var/list/acid = list("sacid", "pacid", "diethylamine") - var/list/volatile = list("phoron","thermite") - var/list/toxic = list("toxin","cyanide","amatoxin","neurotoxin") + var/list/water = list(REAGENT_ID_HYDROGEN, REAGENT_ID_WATER) + var/list/acid = list(REAGENT_ID_SACID, REAGENT_ID_PACID, REAGENT_ID_DIETHYLAMINE) + var/list/volatile = list(REAGENT_ID_PHORON,REAGENT_ID_THERMITE) + var/list/toxic = list(REAGENT_ID_TOXIN,REAGENT_ID_CYANIDE,REAGENT_ID_AMATOXIN,REAGENT_ID_NEUROTOXIN) for(var/datum/artifact_effect/my_effect in my_effects) if(Touching.id in water) @@ -387,13 +387,13 @@ else if(env.temperature > 375) trigger_hot = 1 - if(env.gas["phoron"] >= 10) + if(env.gas[GAS_PHORON] >= 10) trigger_phoron = 1 - if(env.gas["oxygen"] >= 10) + if(env.gas[GAS_O2] >= 10) trigger_oxy = 1 - if(env.gas["carbon_dioxide"] >= 10) + if(env.gas[GAS_CO2] >= 10) trigger_co2 = 1 - if(env.gas["nitrogen"] >= 10) + if(env.gas[GAS_N2] >= 10) trigger_nitro = 1 for(var/datum/artifact_effect/my_effect in my_effects) diff --git a/code/modules/xenoarcheaology/effects/gasco2.dm b/code/modules/xenoarcheaology/effects/gasco2.dm index 5543517dac..a99ce0af03 100644 --- a/code/modules/xenoarcheaology/effects/gasco2.dm +++ b/code/modules/xenoarcheaology/effects/gasco2.dm @@ -13,11 +13,11 @@ if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("carbon_dioxide", rand(2, 15)) + holder_loc.assume_gas(GAS_CO2, rand(2, 15)) /datum/artifact_effect/gasco2/DoEffectAura() var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("carbon_dioxide", pick(0, 0, 0.1, rand())) + holder_loc.assume_gas(GAS_CO2, pick(0, 0, 0.1, rand())) diff --git a/code/modules/xenoarcheaology/effects/gasnitro.dm b/code/modules/xenoarcheaology/effects/gasnitro.dm index e076ff3aa3..66fd4452b6 100644 --- a/code/modules/xenoarcheaology/effects/gasnitro.dm +++ b/code/modules/xenoarcheaology/effects/gasnitro.dm @@ -13,11 +13,11 @@ if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("nitrogen", rand(2, 15)) + holder_loc.assume_gas(GAS_N2, rand(2, 15)) /datum/artifact_effect/gasnitro/DoEffectAura() var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("nitrogen", pick(0, 0, 0.1, rand())) + holder_loc.assume_gas(GAS_N2, pick(0, 0, 0.1, rand())) diff --git a/code/modules/xenoarcheaology/effects/gasoxy.dm b/code/modules/xenoarcheaology/effects/gasoxy.dm index 798154e38a..f18447dfe1 100644 --- a/code/modules/xenoarcheaology/effects/gasoxy.dm +++ b/code/modules/xenoarcheaology/effects/gasoxy.dm @@ -11,11 +11,11 @@ if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("oxygen", rand(2, 15)) + holder_loc.assume_gas(GAS_O2, rand(2, 15)) /datum/artifact_effect/gasoxy/DoEffectAura() var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("oxygen", pick(0, 0, 0.1, rand())) + holder_loc.assume_gas(GAS_O2, pick(0, 0, 0.1, rand())) diff --git a/code/modules/xenoarcheaology/effects/gasphoron.dm b/code/modules/xenoarcheaology/effects/gasphoron.dm index 66cdee98c2..be6eca75be 100644 --- a/code/modules/xenoarcheaology/effects/gasphoron.dm +++ b/code/modules/xenoarcheaology/effects/gasphoron.dm @@ -13,11 +13,11 @@ if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("phoron", rand(2, 15)) + holder_loc.assume_gas(GAS_PHORON, rand(2, 15)) /datum/artifact_effect/gasphoron/DoEffectAura() var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("phoron", pick(0, 0, 0.1, rand())) + holder_loc.assume_gas(GAS_PHORON, pick(0, 0, 0.1, rand())) diff --git a/code/modules/xenoarcheaology/effects/gassleeping.dm b/code/modules/xenoarcheaology/effects/gassleeping.dm index a77ca5b88d..f5a7ff7c33 100644 --- a/code/modules/xenoarcheaology/effects/gassleeping.dm +++ b/code/modules/xenoarcheaology/effects/gassleeping.dm @@ -11,11 +11,11 @@ if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("nitrous_oxide", rand(2, 15)) + holder_loc.assume_gas(GAS_N2O, rand(2, 15)) /datum/artifact_effect/gassleeping/DoEffectAura() var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) - holder_loc.assume_gas("nitrous_oxide", pick(0, 0, 0.1, rand())) + holder_loc.assume_gas(GAS_N2O, pick(0, 0, 0.1, rand())) diff --git a/code/modules/xenoarcheaology/effects/heal.dm b/code/modules/xenoarcheaology/effects/heal.dm index db0cf9d05e..6b6ea9b259 100644 --- a/code/modules/xenoarcheaology/effects/heal.dm +++ b/code/modules/xenoarcheaology/effects/heal.dm @@ -1,5 +1,5 @@ /datum/artifact_effect/heal - name = "heal" + name = XENO_CHEM_HEAL effect_type = EFFECT_ORGANIC effect_color = "#4649ff" @@ -17,7 +17,7 @@ if(affecting && istype(affecting)) affecting.heal_damage(25 * weakness, 25 * weakness) //H:heal_organ_damage(25, 25) - H.vessel.add_reagent("blood",5) + H.vessel.add_reagent(REAGENT_ID_BLOOD,5) H.adjust_nutrition(50 * weakness) H.adjustBrainLoss(-25 * weakness) H.radiation -= min(H.radiation, 25 * weakness) diff --git a/code/modules/xenoarcheaology/finds/finds_defines.dm b/code/modules/xenoarcheaology/finds/finds_defines.dm index f827435155..d02022eb7e 100644 --- a/code/modules/xenoarcheaology/finds/finds_defines.dm +++ b/code/modules/xenoarcheaology/finds/finds_defines.dm @@ -1,13 +1,13 @@ var/global/list/responsive_carriers = list( - "carbon", - "potassium", - "hydrogen", - "nitrogen", - "mercury", - "iron", - "chlorine", - "phosphorus", - "phoron") + REAGENT_ID_CARBON, + REAGENT_ID_POTASSIUM, + REAGENT_ID_HYDROGEN, + REAGENT_ID_NITROGEN, + REAGENT_ID_MERCURY, + REAGENT_ID_IRON, + REAGENT_ID_CHLORINE, + REAGENT_ID_PHOSPHORUS, + REAGENT_ID_PHORON) var/global/list/finds_as_strings = list( "Trace organic cells", @@ -23,16 +23,16 @@ var/global/list/finds_as_strings = list( /proc/get_responsive_reagent(var/find_type) switch(find_type) if(ARCHAEO_BOWL, ARCHAEO_URN, ARCHAEO_CUTLERY, ARCHAEO_STATUETTE, ARCHAEO_INSTRUMENT, ARCHAEO_HANDCUFFS, ARCHAEO_BEARTRAP, ARCHAEO_LIGHTER, ARCHAEO_BOX, ARCHAEO_GASTANK, ARCHAEO_PEN, ARCHAEO_UNKNOWN) - return "mercury" + return REAGENT_ID_MERCURY if(ARCHAEO_COIN, ARCHAEO_KNIFE, ARCHAEO_TOOL, ARCHAEO_METAL, ARCHAEO_CLAYMORE, ARCHAEO_RODS, ARCHAEO_KATANA, ARCHAEO_LASER, ARCHAEO_GUN) - return "iron" + return REAGENT_ID_IRON if(ARCHAEO_CRYSTAL, ARCHAEO_SHARD, ARCHAEO_SOULSTONE) - return "nitrogen" + return REAGENT_ID_NITROGEN if(ARCHAEO_CULTBLADE, ARCHAEO_TELEBEACON, ARCHAEO_CULTROBES, ARCHAEO_STOCKPARTS) - return "potassium" + return REAGENT_ID_POTASSIUM if(ARCHAEO_FOSSIL, ARCHAEO_SHELL, ARCHAEO_PLANT, ARCHAEO_REMAINS_HUMANOID, ARCHAEO_REMAINS_ROBOT, ARCHAEO_REMAINS_XENO, ARCHAEO_GASMASK) - return "carbon" - return "phoron" + return REAGENT_ID_CARBON + return REAGENT_ID_PHORON /proc/get_random_digsite_type() return pick(100;DIGSITE_GARDEN, 95;DIGSITE_ANIMAL, 90;DIGSITE_HOUSE, 85;DIGSITE_TECHNICAL, 85;DIGSITE_MIDDEN, 80;DIGSITE_TEMPLE, 75;DIGSITE_WAR) diff --git a/code/modules/xenoarcheaology/finds/special.dm b/code/modules/xenoarcheaology/finds/special.dm index 0abe25ca7f..0892dd4ebc 100644 --- a/code/modules/xenoarcheaology/finds/special.dm +++ b/code/modules/xenoarcheaology/finds/special.dm @@ -8,7 +8,7 @@ /obj/item/reagent_containers/glass/replenishing/Initialize() . = ..() START_PROCESSING(SSobj, src) - spawning_id = pick("blood","holywater","lube","stoxin","ethanol","ice","glycerol","fuel","cleaner") + spawning_id = pick(REAGENT_ID_BLOOD,REAGENT_ID_HOLYWATER,REAGENT_ID_LUBE,REAGENT_ID_STOXIN,REAGENT_ID_ETHANOL,REAGENT_ID_ICE,REAGENT_ID_GLYCEROL,REAGENT_ID_FUEL,REAGENT_ID_CLEANER) /obj/item/reagent_containers/glass/replenishing/process() reagents.add_reagent(spawning_id, 0.3) diff --git a/code/modules/xenoarcheaology/sampling.dm b/code/modules/xenoarcheaology/sampling.dm index d00e86bd8d..1a224238a1 100644 --- a/code/modules/xenoarcheaology/sampling.dm +++ b/code/modules/xenoarcheaology/sampling.dm @@ -19,7 +19,7 @@ var/age_billion = 0 var/artifact_id = "" var/artifact_distance = -1 - var/source_mineral = "chlorine" + var/source_mineral = REAGENT_ID_CHLORINE var/list/find_presence = list() /datum/geosample/New(var/turf/simulated/mineral/container) @@ -47,10 +47,10 @@ source_mineral = container.mineral.xarch_source_mineral if(prob(75)) - find_presence["phosphorus"] = rand(1, 500) / 100 + find_presence[REAGENT_ID_PHOSPHORUS] = rand(1, 500) / 100 if(prob(25)) - find_presence["mercury"] = rand(1, 500) / 100 - find_presence["chlorine"] = rand(500, 2500) / 100 + find_presence[REAGENT_ID_MERCURY] = rand(1, 500) / 100 + find_presence[REAGENT_ID_CHLORINE] = rand(500, 2500) / 100 for(var/datum/find/F in container.finds) var/responsive_reagent = get_responsive_reagent(F.find_type) diff --git a/code/modules/xenoarcheaology/tools/coolant_tank.dm b/code/modules/xenoarcheaology/tools/coolant_tank.dm index 2975cf0749..acb776a657 100644 --- a/code/modules/xenoarcheaology/tools/coolant_tank.dm +++ b/code/modules/xenoarcheaology/tools/coolant_tank.dm @@ -7,7 +7,7 @@ /obj/structure/reagent_dispensers/coolanttank/Initialize() . = ..() - reagents.add_reagent("coolant", 1000) + reagents.add_reagent(REAGENT_ID_COOLANT, 1000) /obj/structure/reagent_dispensers/coolanttank/bullet_act(var/obj/item/projectile/Proj) if(Proj.get_structure_damage()) diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index 5e8065ab9b..47dff61520 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -46,18 +46,18 @@ /obj/machinery/radiocarbon_spectrometer/New() ..() create_reagents(500) - coolant_reagents_purity["water"] = 0.5 - coolant_reagents_purity["icecoffee"] = 0.6 - coolant_reagents_purity["icetea"] = 0.6 - coolant_reagents_purity["milkshake"] = 0.6 - coolant_reagents_purity["leporazine"] = 0.7 - coolant_reagents_purity["kelotane"] = 0.7 - coolant_reagents_purity["sterilizine"] = 0.7 - coolant_reagents_purity["dermaline"] = 0.7 - coolant_reagents_purity["hyperzine"] = 0.8 - coolant_reagents_purity["cryoxadone"] = 0.9 - coolant_reagents_purity["coolant"] = 1 - coolant_reagents_purity["adminordrazine"] = 2 + coolant_reagents_purity[REAGENT_ID_WATER] = 0.5 + coolant_reagents_purity[REAGENT_ID_ICECOFFEE] = 0.6 + coolant_reagents_purity[REAGENT_ID_ICETEA] = 0.6 + coolant_reagents_purity[REAGENT_ID_MILKSHAKE] = 0.6 + coolant_reagents_purity[REAGENT_ID_LEPORAZINE] = 0.7 + coolant_reagents_purity[REAGENT_ID_KELOTANE] = 0.7 + coolant_reagents_purity[REAGENT_ID_STERILIZINE] = 0.7 + coolant_reagents_purity[REAGENT_ID_DERMALINE] = 0.7 + coolant_reagents_purity[REAGENT_ID_HYPERZINE] = 0.8 + coolant_reagents_purity[REAGENT_ID_CRYOXADONE] = 0.9 + coolant_reagents_purity[REAGENT_ID_COOLANT] = 1 + coolant_reagents_purity[REAGENT_ID_ADMINORDRAZINE] = 2 /obj/machinery/radiocarbon_spectrometer/attackby(var/obj/I as obj, var/mob/user as mob) if(scanning) diff --git a/code/modules/xenobio/items/extracts.dm b/code/modules/xenobio/items/extracts.dm index 98783dff9f..c00a0615eb 100644 --- a/code/modules/xenobio/items/extracts.dm +++ b/code/modules/xenobio/items/extracts.dm @@ -73,7 +73,7 @@ name = "Slime Spawn" id = "m_spawn" result = null - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/grey @@ -86,7 +86,7 @@ name = "Slime Monkey" id = "m_monkey" result = null - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/grey @@ -96,10 +96,10 @@ ..() /decl/chemical_reaction/instant/slime/grey_slimejelly - name = "Slime Jelly" + name = REAGENT_SLIMEJELLY id = "m_jelly" - result = "slimejelly" - required_reagents = list("peridaxon" = 5) + result = REAGENT_ID_SLIMEJELLY + required_reagents = list(REAGENT_ID_PERIDAXON = 5) result_amount = 15 required = /obj/item/slime_extract/grey @@ -116,8 +116,8 @@ // 'Duplicates' liquid metals, consuming itself in the process. /datum/reagent/toxin/metamorphic_metal - name = "Metamorphic Metal" - id = "metamorphic" + name = REAGENT_METAMORPHIC + id = REAGENT_ID_METAMORPHIC description = "A strange metallic liquid which can rearrange itself to take the form of other metals it touches." taste_description = "metallic" taste_mult = 1.1 @@ -128,8 +128,8 @@ /decl/chemical_reaction/instant/slime/metal_metamorphic name = "Slime Metal" id = "m_metal" - required_reagents = list("phoron" = 5) - result = "metamorphic" + required_reagents = list(REAGENT_ID_PHORON = 5) + result = REAGENT_ID_METAMORPHIC result_amount = REAGENTS_PER_SHEET // Makes enough to make one sheet of any metal. required = /obj/item/slime_extract/metal @@ -143,65 +143,65 @@ desc = "A small bottle. Contains some really weird liquid metal." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("metamorphic" = 60) + prefill = list(REAGENT_ID_METAMORPHIC = 60) // This is kind of a waste since iron is in the chem dispenser but it would be inconsistent if this wasn't here. /decl/chemical_reaction/instant/metamorphic/iron name = "Morph into Iron" id = "morph_iron" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "iron" = REAGENTS_PER_SHEET) - result = "iron" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_IRON = REAGENTS_PER_SHEET) + result = REAGENT_ID_IRON /decl/chemical_reaction/instant/metamorphic/silver name = "Morph into Silver" id = "morph_silver" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "silver" = REAGENTS_PER_SHEET) - result = "silver" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_SILVER = REAGENTS_PER_SHEET) + result = REAGENT_ID_SILVER /decl/chemical_reaction/instant/metamorphic/gold name = "Morph into Gold" id = "morph_gold" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "gold" = REAGENTS_PER_SHEET) - result = "gold" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_GOLD = REAGENTS_PER_SHEET) + result = REAGENT_ID_GOLD /decl/chemical_reaction/instant/metamorphic/platinum name = "Morph into Platinum" id = "morph_platinum" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "platinum" = REAGENTS_PER_SHEET) - result = "platinum" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_PLATINUM = REAGENTS_PER_SHEET) + result = REAGENT_ID_PLATINUM /decl/chemical_reaction/instant/metamorphic/uranium name = "Morph into Uranium" id = "morph_uranium" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "uranium" = REAGENTS_PER_SHEET) - result = "uranium" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_URANIUM = REAGENTS_PER_SHEET) + result = REAGENT_ID_URANIUM /decl/chemical_reaction/instant/metamorphic/phoron name = "Morph into Phoron" id = "morph_phoron" - required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "phoron" = REAGENTS_PER_SHEET) - result = "phoron" + required_reagents = list(REAGENT_ID_METAMORPHIC = REAGENTS_PER_SHEET, REAGENT_ID_PHORON = REAGENTS_PER_SHEET) + result = REAGENT_ID_PHORON // Creates 'alloys' which can be finalized with frost oil. /decl/chemical_reaction/instant/slime/metal_binding name = "Slime Binding" id = "m_binding" - required_reagents = list("water" = 5) - result = "binding" + required_reagents = list(REAGENT_ID_WATER = 5) + result = REAGENT_ID_BINDING result_amount = REAGENTS_PER_SHEET // Makes enough to make one sheet of any metal. required = /obj/item/slime_extract/metal /datum/reagent/toxin/binding_metal - name = "Binding Metal" - id = "binding" + name = REAGENT_BINDING + id = REAGENT_ID_BINDING description = "A strange metallic liquid which can bind other metals together that would otherwise require intense heat to alloy." taste_description = "metallic" taste_mult = 1.1 @@ -214,19 +214,19 @@ desc = "A small bottle. Contains some really weird liquid metal." icon = 'icons/obj/chemical.dmi' icon_state = "bottle-4" - prefill = list("binding" = 60) + prefill = list(REAGENT_ID_BINDING = 60) /decl/chemical_reaction/instant/binding name = "Bind into Steel" id = "bind_steel" - result = "steel" - required_reagents = list("binding" = REAGENTS_PER_SHEET, "iron" = REAGENTS_PER_SHEET, "carbon" = REAGENTS_PER_SHEET) + result = REAGENT_ID_STEEL + required_reagents = list(REAGENT_ID_BINDING = REAGENTS_PER_SHEET, REAGENT_ID_IRON = REAGENTS_PER_SHEET, REAGENT_ID_CARBON = REAGENTS_PER_SHEET) result_amount = REAGENTS_PER_SHEET /datum/reagent/steel - name = "Liquid Steel" - id = "steel" + name = REAGENT_STEEL + id = REAGENT_ID_STEEL description = "An 'alloy' of iron and carbon, forced to bind together by another strange metallic liquid." taste_description = "metallic" reagent_state = LIQUID @@ -236,12 +236,12 @@ /decl/chemical_reaction/instant/binding/plasteel // Two parts 'steel', one part platnium matches the smelter alloy recipe. name = "Bind into Plasteel" id = "bind_plasteel" - required_reagents = list("binding" = REAGENTS_PER_SHEET, "steel" = REAGENTS_PER_SHEET * 2, "platinum" = REAGENTS_PER_SHEET) - result = "plasteel" + required_reagents = list(REAGENT_ID_BINDING = REAGENTS_PER_SHEET, REAGENT_ID_STEEL = REAGENTS_PER_SHEET * 2, REAGENT_ID_PLATINUM = REAGENTS_PER_SHEET) + result = REAGENT_ID_PLASTEEL /datum/reagent/plasteel - name = "Liquid Plasteel" - id = "plasteel" + name = REAGENT_PLASTEEL + id = REAGENT_ID_PLASTEEL description = "An 'alloy' of iron, carbon, and platinum, forced to bind together by another strange metallic liquid." taste_description = "metallic" reagent_state = LIQUID @@ -263,8 +263,8 @@ /decl/chemical_reaction/instant/slime/blue_frostoil name = "Slime Frost Oil" id = "m_frostoil" - result = "frostoil" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_FROSTOIL + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 20 required = /obj/item/slime_extract/blue @@ -272,7 +272,7 @@ /decl/chemical_reaction/instant/slime/blue_stability name = "Slime Stability" id = "m_stability" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/blue @@ -296,7 +296,7 @@ /decl/chemical_reaction/instant/slime/purple_steroid name = "Slime Steroid" id = "m_steroid" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/purple @@ -318,7 +318,7 @@ /decl/chemical_reaction/instant/slime/orange_fire name = "Slime Fire" id = "m_fire" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/orange @@ -333,8 +333,8 @@ return for(var/turf/simulated/target_turf in view(2, T)) - target_turf.assume_gas("volatile_fuel", 33, 1500+T0C) - target_turf.assume_gas("oxygen", 66, 1500+T0C) + target_turf.assume_gas(GAS_VOLATILE_FUEL, 33, 1500+T0C) + target_turf.assume_gas(GAS_O2, 66, 1500+T0C) spawn(0) target_turf.hotspot_expose(1500+T0C, 400) @@ -355,7 +355,7 @@ /decl/chemical_reaction/instant/slime/yellow_emp name = "Slime EMP" id = "m_emp" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -373,7 +373,7 @@ /decl/chemical_reaction/instant/slime/yellow_battery name = "Slime Cell" id = "m_cell" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -385,7 +385,7 @@ /decl/chemical_reaction/instant/slime/yellow_flashlight name = "Slime Flashlight" id = "m_flashlight" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -406,8 +406,8 @@ /decl/chemical_reaction/instant/slime/gold_gold name = "Slime Gold" id = "m_gold" - result = "gold" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_GOLD + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 5 required = /obj/item/slime_extract/gold @@ -425,8 +425,8 @@ /decl/chemical_reaction/instant/slime/silver_silver name = "Slime Silver" id = "m_silver" - result = "silver" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_SILVER + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 5 required = /obj/item/slime_extract/silver @@ -445,8 +445,8 @@ /decl/chemical_reaction/instant/slime/dark_purple_phoron name = "Slime Phoron" id = "m_phoron_harvest" - result = "phoron" - required_reagents = list("water" = 5) + result = REAGENT_ID_PHORON + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = REAGENTS_PER_SHEET * 2 required = /obj/item/slime_extract/dark_purple @@ -467,7 +467,7 @@ /decl/chemical_reaction/instant/slime/dark_blue_cold_snap name = "Slime Cold Snap" id = "m_cold_snap" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/dark_blue @@ -549,7 +549,7 @@ /decl/chemical_reaction/instant/slime/red_enrage name = "Slime Enrage" id = "m_enrage" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/red @@ -585,7 +585,7 @@ /decl/chemical_reaction/instant/slime/red_mutation name = "Slime Mutation" id = "m_mutation" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/red @@ -605,8 +605,8 @@ /decl/chemical_reaction/instant/slime/green_uranium name = "Slime Uranium" id = "m_uranium" - result = "uranium" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_URANIUM + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 5 required = /obj/item/slime_extract/green @@ -625,8 +625,8 @@ /decl/chemical_reaction/instant/slime/pink_clotting name = "Slime Clotting Med" id = "m_clotting" - result = "slime_bleed_fixer" - required_reagents = list("blood" = 5) + result = REAGENT_ID_SLIMEBLEEDFIXER + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 30 required = /obj/item/slime_extract/pink @@ -634,8 +634,8 @@ /decl/chemical_reaction/instant/slime/pink_bone_fix name = "Slime Bone Med" id = "m_bone_fixer" - result = "slime_bone_fixer" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_SLIMEBONEFIXER + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 30 required = /obj/item/slime_extract/pink @@ -643,29 +643,29 @@ /decl/chemical_reaction/instant/slime/pink_organ_fix name = "Slime Organ Med" id = "m_organ_fixer" - result = "slime_organ_fixer" - required_reagents = list("water" = 5) + result = REAGENT_ID_SLIMEORGANFIXER + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/pink /datum/reagent/myelamine/slime - name = "Agent A" - id = "slime_bleed_fixer" + name = REAGENT_SLIMEBLEEDFIXER + id = REAGENT_ID_SLIMEBLEEDFIXER description = "A slimy liquid which appears to rapidly clot internal hemorrhages by increasing the effectiveness of platelets at low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 /datum/reagent/osteodaxon/slime - name = "Agent B" - id = "slime_bone_fixer" + name = REAGENT_SLIMEBONEFIXER + id = REAGENT_ID_SLIMEBONEFIXER description = "A slimy liquid which can be used to heal bone fractures at low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 /datum/reagent/peridaxon/slime - name = "Agent C" - id = "slime_organ_fixer" + name = REAGENT_SLIMEORGANFIXER + id = REAGENT_ID_SLIMEORGANFIXER description = "A slimy liquid which is used to encourage recovery of internal organs and nervous systems in low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 @@ -685,7 +685,7 @@ /decl/chemical_reaction/instant/slime/oil_griff name = "Slime Explosion" id = "m_boom" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/oil @@ -723,7 +723,7 @@ /decl/chemical_reaction/instant/slime/bluespace_lesser name = "Slime Lesser Tele" id = "m_tele_lesser" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -735,7 +735,7 @@ /decl/chemical_reaction/instant/slime/bluespace_greater name = "Slime Greater Tele" id = "m_tele_lesser" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -757,7 +757,7 @@ /decl/chemical_reaction/instant/slime/cerulean_enhancer name = "Slime Enhancer" id = "m_enhancer" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/cerulean @@ -779,7 +779,7 @@ /decl/chemical_reaction/instant/slime/amber_slimefood name = "Slime Feeding" id = "m_slime_food" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/amber @@ -791,7 +791,7 @@ /decl/chemical_reaction/instant/slime/amber_peoplefood name = "Slime Food" id = "m_people_food" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/amber @@ -814,7 +814,7 @@ /decl/chemical_reaction/instant/slime/sapphire_promethean name = "Slime Promethean" id = "m_promethean" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/sapphire @@ -835,7 +835,7 @@ /decl/chemical_reaction/instant/slime/ruby_swole name = "Slime Strength" id = "m_strength" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/ruby @@ -863,7 +863,7 @@ /decl/chemical_reaction/instant/slime/ruby_loyalty name = "Slime Loyalty" id = "m_strength" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/ruby @@ -884,7 +884,7 @@ /decl/chemical_reaction/instant/slime/emerald_fast name = "Slime Agility" id = "m_agility" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/emerald @@ -921,7 +921,7 @@ /decl/chemical_reaction/instant/slime/light_pink_docility name = "Slime Docility" id = "m_docile" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -933,7 +933,7 @@ /decl/chemical_reaction/instant/slime/light_pink_friendship name = "Slime Friendship" id = "m_friendship" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -957,7 +957,7 @@ /decl/chemical_reaction/instant/slime/rainbow_random_slime name = "Slime Random Slime" id = "m_rng_slime" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow @@ -981,7 +981,7 @@ /decl/chemical_reaction/instant/slime/rainbow_unity name = "Slime Unity" id = "m_unity" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow diff --git a/code/modules/xenobio/items/extracts_vr.dm b/code/modules/xenobio/items/extracts_vr.dm index 2f3992ec63..8a34f6ef62 100644 --- a/code/modules/xenobio/items/extracts_vr.dm +++ b/code/modules/xenobio/items/extracts_vr.dm @@ -80,7 +80,7 @@ name = "Slime Spawn" id = "m_grey_spawn" result = null - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/grey @@ -94,7 +94,7 @@ name = "Slime Monkey" id = "m_grey_monkey" result = null - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/grey @@ -105,10 +105,10 @@ /decl/chemical_reaction/instant/slime/grey_slimejelly - name = "Slime Jelly" + name = REAGENT_SLIMEJELLY id = "m_grey_jelly" - result = "slimejelly" - required_reagents = list("water" = 5) + result = REAGENT_ID_SLIMEJELLY + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/grey @@ -128,7 +128,7 @@ name = "Slime Basic Construction Materials" id = "m_metal_basic" result = null - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/metal @@ -142,7 +142,7 @@ /decl/chemical_reaction/instant/slime/metal_materials_adv name = "Slime Advanced Construction Materials" id = "m_metal_adv" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/metal @@ -156,7 +156,7 @@ /decl/chemical_reaction/instant/slime/metal_materials_weird name = "Slime Weird Construction Materials" id = "m_metal_weird" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/metal @@ -170,7 +170,7 @@ /decl/chemical_reaction/instant/slime/metal_materials_steel name = "Slime Weird Construction Materials" id = "m_metal_steel" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/metal @@ -193,8 +193,8 @@ /decl/chemical_reaction/instant/slime/blue_frostoil name = "Slime Frost Oil" id = "m_blue_frostoil" - result = "frostoil" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_FROSTOIL + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 30 required = /obj/item/slime_extract/blue @@ -202,7 +202,7 @@ /decl/chemical_reaction/instant/slime/blue_stability name = "Slime Stability" id = "m_blue_stability" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/blue @@ -214,7 +214,7 @@ /decl/chemical_reaction/instant/slime/blue_calm name = "Slime Calm" id = "m_blue_calm" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/blue @@ -247,8 +247,8 @@ /decl/chemical_reaction/instant/slime/blue_cryotoxin name = "Slime Cryotoxin" id = "m_blue_cryotoxin" - result = "cryotoxin" - required_reagents = list("slimejelly" = 5) + result = REAGENT_ID_CRYOTOXIN + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 30 required = /obj/item/slime_extract/blue @@ -268,7 +268,7 @@ /decl/chemical_reaction/instant/slime/purple_steroid name = "Slime Steroid" id = "m_purple_steroid" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/purple @@ -280,7 +280,7 @@ /decl/chemical_reaction/instant/slime/purple_infertility name = "Slime Infetility" id = "m_purple_infertility" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/purple @@ -292,7 +292,7 @@ /decl/chemical_reaction/instant/slime/purple_shrink name = "Slime Shrink" id = "m_purple_shrink" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/purple @@ -304,7 +304,7 @@ /decl/chemical_reaction/instant/slime/purple_fertility name = "Slime Fetility" id = "m_purple_fertility" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/purple @@ -327,7 +327,7 @@ /decl/chemical_reaction/instant/slime/orange_fire name = "Slime Fire" id = "m_orange_fire" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/orange @@ -342,8 +342,8 @@ return for(var/turf/simulated/target_turf in view(2, T)) - target_turf.assume_gas("volatile_fuel", 33, 1500+T0C) - target_turf.assume_gas("oxygen", 66, 1500+T0C) + target_turf.assume_gas(GAS_VOLATILE_FUEL, 33, 1500+T0C) + target_turf.assume_gas(GAS_O2, 66, 1500+T0C) spawn(0) target_turf.hotspot_expose(1500+T0C, 400) @@ -354,7 +354,7 @@ /decl/chemical_reaction/instant/slime/orange_heatwave name = "Slime Heat Wave" id = "m_orange_heatwave" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/orange @@ -410,7 +410,7 @@ /decl/chemical_reaction/instant/slime/orange_smoke name = "Slime Smoke" id = "m_orange_smoke" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/orange @@ -428,8 +428,8 @@ /decl/chemical_reaction/instant/slime/orange_pyrotoxin name = "Slime Pyrotoxin" id = "m_orange_pyrotoxin" - result = "thermite_v" - required_reagents = list("slimejelly" = 5) + result = REAGENT_ID_THERMITEV + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 30 required = /obj/item/slime_extract/orange @@ -448,7 +448,7 @@ /decl/chemical_reaction/instant/slime/yellow_lightning name = "Slime Lightning" id = "m_yellow_lightning" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -465,7 +465,7 @@ /decl/chemical_reaction/instant/slime/yellow_flashlight name = "Slime Flashlight" id = "m_yellow_flashlight" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -477,7 +477,7 @@ /decl/chemical_reaction/instant/slime/yellow_emp name = "Slime EMP" id = "m_yellow_emp" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -495,7 +495,7 @@ /decl/chemical_reaction/instant/slime/yellow_battery name = "Slime Cell" id = "m_yellow_cell" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/yellow @@ -518,7 +518,7 @@ /decl/chemical_reaction/instant/slime/gold_random_mobs name = "Slime Random Mobs" id = "m_gold_random_mobs" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/gold @@ -544,7 +544,7 @@ /decl/chemical_reaction/instant/slime/gold_hostile_mob name = "Slime Hostile Mob" id = "m_gold_hostile_mob" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/gold @@ -560,7 +560,7 @@ /decl/chemical_reaction/instant/slime/gold_safe_mob name = "Slime Safe Mob" id = "m_gold_safe_mob" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/gold @@ -579,7 +579,7 @@ /decl/chemical_reaction/instant/slime/gold_materials_gold name = "Slime Gold" id = "m_gold_gold" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/gold @@ -602,7 +602,7 @@ /decl/chemical_reaction/instant/slime/silver_materials_basic name = "Slime Basic Science Materials" id = "m_silver_basic" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/silver @@ -616,7 +616,7 @@ /decl/chemical_reaction/instant/slime/silver_materials_adv name = "Slime Advanced Science Materials" id = "m_silver_adv" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/silver @@ -629,7 +629,7 @@ /decl/chemical_reaction/instant/slime/silver_materials_random name = "Slime Random Materials" id = "m_silver_random" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/silver @@ -654,7 +654,7 @@ /decl/chemical_reaction/instant/slime/silver_materials_silver name = "Slime Silver" id = "m_silver_silver" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/silver @@ -676,8 +676,8 @@ /decl/chemical_reaction/instant/slime/dark_purple_phoron name = "Slime Phoron" id = "m_darkpurple_phoron" - result = "phoron" - required_reagents = list("water" = 5) + result = REAGENT_ID_PHORON + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/dark_purple @@ -685,8 +685,8 @@ /decl/chemical_reaction/instant/slime/dark_purple_blood name = "Slime Blood" id = "m_darkpurple_blood" - result = "blood" - required_reagents = list("slimejelly" = 5) + result = REAGENT_ID_BLOOD + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 30 required = /obj/item/slime_extract/dark_purple @@ -705,7 +705,7 @@ /decl/chemical_reaction/instant/slime/dark_blue_cold_snap name = "Slime Cold Snap" id = "m_darkblue_coldsnap" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/dark_blue @@ -775,7 +775,7 @@ /decl/chemical_reaction/instant/slime/dark_blue_temp_resist name = "Slime Temperature Resistance" id = "m_darkblue_temperature_resist" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/dark_blue @@ -801,8 +801,8 @@ /decl/chemical_reaction/instant/slime/dark_blue_ice name = "Slime Ice" id = "m_darkblue_ice" - result = "ice" - required_reagents = list("water" = 5) + result = REAGENT_ID_ICE + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 5 required = /obj/item/slime_extract/dark_blue @@ -810,7 +810,7 @@ /decl/chemical_reaction/instant/slime/dark_blue_death name = "Slime Death" id = "m_darkblue_death" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/dark_blue @@ -834,7 +834,7 @@ /decl/chemical_reaction/instant/slime/red_mutation name = "Slime Mutation" id = "m_red_mutation" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/red @@ -846,7 +846,7 @@ /decl/chemical_reaction/instant/slime/red_enrage name = "Slime Enrage" id = "m_red_enrage" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/red @@ -881,8 +881,8 @@ /decl/chemical_reaction/instant/slime/red_hotsauce name = "Slime Hot Sauce" id = "m_red_hotsauce" - result = "capsaicin" - required_reagents = list("water" = 5) + result = REAGENT_ID_CAPSAICIN + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/red @@ -890,7 +890,7 @@ /decl/chemical_reaction/instant/slime/red_ferality name = "Slime Ferality" id = "m_red_ferality" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/red @@ -913,7 +913,7 @@ /decl/chemical_reaction/instant/slime/green_radpulse name = "Slime Radiation Pulse" id = "m_green_radpulse" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/green @@ -929,7 +929,7 @@ /decl/chemical_reaction/instant/slime/green_emitter name = "Slime Radiation Emitter" id = "m_green_emitter" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/green @@ -942,8 +942,8 @@ /decl/chemical_reaction/instant/slime/green_radium name = "Slime Radium" id = "m_green_radium" - result = "radium" - required_reagents = list("water" = 5) + result = REAGENT_ID_RADIUM + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/green @@ -951,7 +951,7 @@ /decl/chemical_reaction/instant/slime/green_uranium name = "Slime Uranium" id = "m_green_uranium" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/green @@ -974,8 +974,8 @@ /decl/chemical_reaction/instant/slime/pink_bone_fix name = "Slime Bone Med" id = "m_pink_bone_fixer" - result = "slime_bone_fixer" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_SLIMEBONEFIXER + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 30 required = /obj/item/slime_extract/pink @@ -983,8 +983,8 @@ /decl/chemical_reaction/instant/slime/pink_clotting name = "Slime Clotting Med" id = "m_pink_clotting" - result = "slime_bleed_fixer" - required_reagents = list("blood" = 5) + result = REAGENT_ID_SLIMEBLEEDFIXER + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 30 required = /obj/item/slime_extract/pink @@ -992,8 +992,8 @@ /decl/chemical_reaction/instant/slime/pink_organ_fix name = "Slime Organ Med" id = "m_pink_organ_fixer" - result = "slime_organ_fixer" - required_reagents = list("water" = 5) + result = REAGENT_ID_SLIMEORGANFIXER + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/pink @@ -1001,7 +1001,7 @@ /decl/chemical_reaction/instant/slime/pink_heal_pulse name = "Slime Heal Pulse" id = "m_pink_heal_pulse" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/pink @@ -1032,8 +1032,8 @@ /decl/chemical_reaction/instant/slime/oil_fuel name = "Slime Fuel" id = "m_oil_fuel" - result = "fuel" - required_reagents = list("phoron" = 5) + result = REAGENT_ID_FUEL + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 30 required = /obj/item/slime_extract/oil @@ -1041,8 +1041,8 @@ /decl/chemical_reaction/instant/slime/oil_oil name = "Slime Oil" id = "m_oil_oil" - result = "cookingoil" - required_reagents = list("blood" = 5) + result = REAGENT_ID_COOKINGOIL + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 30 required = /obj/item/slime_extract/oil @@ -1050,7 +1050,7 @@ /decl/chemical_reaction/instant/slime/oil_fakesplosion name = "Slime Fake Explosion" id = "m_oil_fakeboom" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/oil @@ -1063,7 +1063,7 @@ /decl/chemical_reaction/instant/slime/oil_explosion name = "Slime Explosion" id = "m_oil_boom" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/oil @@ -1101,7 +1101,7 @@ /decl/chemical_reaction/instant/slime/bluespace_crystals name = "Slime Bluespace Crystals" id = "m_bs_crystals" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -1114,7 +1114,7 @@ /decl/chemical_reaction/instant/slime/bluespace_pouch name = "Slime Bluespace Pouch" id = "m_bs_pouch" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -1126,7 +1126,7 @@ /decl/chemical_reaction/instant/slime/bluespace_chaotic_tele name = "Slime Bluespace Chaos" id = "m_bs_chaos" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -1151,7 +1151,7 @@ /decl/chemical_reaction/instant/slime/bluespace_teleporter name = "Slime Bluespace Teleporter" id = "m_bs_teleporter" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/bluespace @@ -1175,7 +1175,7 @@ /decl/chemical_reaction/instant/slime/cerulean_enhancer name = "Slime Enhancer" id = "m_cerulean_enhancer" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/cerulean @@ -1187,7 +1187,7 @@ /decl/chemical_reaction/instant/slime/cerulean_reinvigoration name = "Slime Reinvigoration" id = "m_cerulean_reinvigoration" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/cerulean @@ -1199,7 +1199,7 @@ /decl/chemical_reaction/instant/slime/cerulean_potion_mimic name = "Slime Potion Mimic" id = "m_cerulean_potion_mimic" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/cerulean @@ -1211,7 +1211,7 @@ /decl/chemical_reaction/instant/slime/cerulean_random_potion name = "Slime Random Potion" id = "m_cerulean_random_potion" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/cerulean @@ -1235,7 +1235,7 @@ /decl/chemical_reaction/instant/slime/amber_slimefood name = "Slime Feeding" id = "m_amber_slime_food" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/amber @@ -1247,7 +1247,7 @@ /decl/chemical_reaction/instant/slime/amber_random_food name = "Slime Random Food" id = "m_amber_random_food" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/amber @@ -1270,7 +1270,7 @@ /decl/chemical_reaction/instant/slime/amber_snack name = "Slime Snack" id = "m_amber_snack" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/amber @@ -1284,7 +1284,7 @@ name = "Slime Goop" id = "m_amber_goop" result = "slime_goop" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 30 required = /obj/item/slime_extract/amber @@ -1304,7 +1304,7 @@ /decl/chemical_reaction/instant/slime/sapphire_promethean name = "Slime Promethean" id = "m_sapphire_promethean" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/sapphire @@ -1316,8 +1316,8 @@ /decl/chemical_reaction/instant/slime/sapphire_mutation name = "Slime Mutation Toxins" id = "m_sapphire_mutation_tox" - result = "mutationtoxin" - required_reagents = list("blood" = 5) + result = REAGENT_ID_MUTATIONTOXIN + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 30 required = /obj/item/slime_extract/sapphire @@ -1325,7 +1325,7 @@ /decl/chemical_reaction/instant/slime/sapphire_plushies name = "Slime Plushies" id = "m_sapphire_plushies" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/sapphire @@ -1343,7 +1343,7 @@ /decl/chemical_reaction/instant/slime/sapphire_sapience name = "Slime Sapience" id = "m_sapphire_sapience" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/sapphire @@ -1365,7 +1365,7 @@ /decl/chemical_reaction/instant/slime/ruby_swole name = "Slime Strength" id = "m_ruby_strength" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/ruby @@ -1392,7 +1392,7 @@ /decl/chemical_reaction/instant/slime/ruby_pull name = "Slime Pull" id = "m_ruby_pull" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/ruby @@ -1408,8 +1408,8 @@ /decl/chemical_reaction/instant/slime/ruby_brute_juice name = "Slime Brute Juice" id = "m_ruby_brute_juice" - result = "berserkmed" - required_reagents = list("water" = 5) + result = REAGENT_ID_BERSERKMED + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/ruby @@ -1417,7 +1417,7 @@ /decl/chemical_reaction/instant/slime/ruby_push name = "Slime Push" id = "m_ruby_push" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/ruby @@ -1454,7 +1454,7 @@ /decl/chemical_reaction/instant/slime/emerald_agility name = "Slime Agility" id = "m_emerald_agility" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/emerald @@ -1480,7 +1480,7 @@ /decl/chemical_reaction/instant/slime/emerald_speed name = "Slime Speed" id = "m_emerald_speed" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/emerald @@ -1504,8 +1504,8 @@ /decl/chemical_reaction/instant/slime/emerald_hyperzine name = "Slime Hyperzine" id = "m_emerald_hyperzine" - result = "hyperzine" - required_reagents = list("water" = 5) + result = REAGENT_ID_HYPERZINE + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 30 required = /obj/item/slime_extract/emerald @@ -1513,7 +1513,7 @@ /decl/chemical_reaction/instant/slime/emerald_hell name = "Slime Hell" id = "m_emerald_hell" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/emerald @@ -1542,7 +1542,7 @@ /decl/chemical_reaction/instant/slime/light_pink_friendship name = "Slime Friendship" id = "m_lightpink_friendship" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -1554,7 +1554,7 @@ /decl/chemical_reaction/instant/slime/light_pink_loyalty name = "Slime Loyalty" id = "m_lightpink_loyalty" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -1566,7 +1566,7 @@ /decl/chemical_reaction/instant/slime/light_pink_docility name = "Slime Docility" id = "m_lightpink_docility" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -1578,7 +1578,7 @@ /decl/chemical_reaction/instant/slime/light_pink_obedience name = "Slime Obedience" id = "m_lightpink_obedience" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/light_pink @@ -1602,7 +1602,7 @@ /decl/chemical_reaction/instant/slime/rainbow_random_slime name = "Slime Random Slime" id = "m_rainow_random_slime" - required_reagents = list("phoron" = 5) + required_reagents = list(REAGENT_ID_PHORON = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow @@ -1626,7 +1626,7 @@ /decl/chemical_reaction/instant/slime/rainbow_random_extract name = "Slime Random Extract" id = "m_rainow_random_extract" - required_reagents = list("blood" = 5) + required_reagents = list(REAGENT_ID_BLOOD = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow @@ -1639,7 +1639,7 @@ /decl/chemical_reaction/instant/slime/rainbow_colors name = "Slime Colors" id = "m_rainbow_colors" - required_reagents = list("water" = 5) + required_reagents = list(REAGENT_ID_WATER = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow @@ -1652,7 +1652,7 @@ /decl/chemical_reaction/instant/slime/rainbow_unity name = "Slime Unity" id = "m_rainbow_unity" - required_reagents = list("slimejelly" = 5) + required_reagents = list(REAGENT_ID_SLIMEJELLY = 5) result_amount = 1 required = /obj/item/slime_extract/rainbow diff --git a/code/modules/xenobio/items/slime_objects.dm b/code/modules/xenobio/items/slime_objects.dm index b1530755b4..8e7fc3e32c 100644 --- a/code/modules/xenobio/items/slime_objects.dm +++ b/code/modules/xenobio/items/slime_objects.dm @@ -120,7 +120,7 @@ filling_color = "#FFBB00" center_of_mass = list("x"=17, "y"=10) nutriment_amt = 25 // Very filling. - nutriment_desc = list("slime" = 10, "sweetness" = 10, "bliss" = 5) + nutriment_desc = list("slime" = 10, "sweetness" = 10, REAGENT_ID_BLISS = 5) /obj/item/reagent_containers/food/snacks/slime/Initialize() . = ..() @@ -190,21 +190,21 @@ /datum/reagent/myelamine/slime name = "Agent A" - id = "slime_bleed_fixer" + id = REAGENT_ID_SLIMEBLEEDFIXER description = "A slimy liquid which appears to rapidly clot internal hemorrhages by increasing the effectiveness of platelets at low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 /datum/reagent/osteodaxon/slime name = "Agent B" - id = "slime_bone_fixer" + id = REAGENT_ID_SLIMEBONEFIXER description = "A slimy liquid which can be used to heal bone fractures at low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 /datum/reagent/peridaxon/slime name = "Agent C" - id = "slime_organ_fixer" + id = REAGENT_ID_SLIMEORGANFIXER description = "A slimy liquid which is used to encourage recovery of internal organs and nervous systems in low quantities. Toxic in high quantities." taste_description = "slime" overdose = 5 diff --git a/code/modules/xenobio2/_xeno_setup.dm b/code/modules/xenobio2/_xeno_setup.dm index 7d2d2a2e80..a5dc08c9a7 100644 --- a/code/modules/xenobio2/_xeno_setup.dm +++ b/code/modules/xenobio2/_xeno_setup.dm @@ -48,36 +48,36 @@ #define MINOR_MALEABLE 1 #define MIN_MALEABLE 0 -var/global/list/xenoChemList = list("mutationtoxin", - "psilocybin", - "mindbreaker", - "impedrezene", - "cryptobiolin", - "bliss", - "chloralhydrate", - "stoxin", - "mutagen", - "lexorin", - "pacid", - "cyanide", - "phoron", - "plasticide", - "amatoxin", - "carbon", - "radium", - "sacid", - "sugar", - "kelotane", - "dermaline", - "anti_toxin", - "dexalin", - "synaptizine", - "alkysine", - "imidazoline", - "peridaxon", - "rezadone", - "mutationtoxin", - "docilitytoxin") +var/global/list/xenoChemList = list(REAGENT_ID_MUTATIONTOXIN, + REAGENT_ID_PSILOCYBIN, + REAGENT_ID_MINDBREAKER, + REAGENT_ID_IMPEDREZENE, + REAGENT_ID_CRYPTOBIOLIN, + REAGENT_ID_BLISS, + REAGENT_ID_CHLORALHYDRATE, + REAGENT_ID_STOXIN, + REAGENT_ID_MUTAGEN, + REAGENT_ID_LEXORIN, + REAGENT_ID_PACID, + REAGENT_ID_CYANIDE, + REAGENT_ID_PHORON, + REAGENT_ID_PLASTICIDE, + REAGENT_ID_AMATOXIN, + REAGENT_ID_CARBON, + REAGENT_ID_RADIUM, + REAGENT_ID_SACID, + REAGENT_ID_SUGAR, + REAGENT_ID_KELOTANE, + REAGENT_ID_DERMALINE, + REAGENT_ID_ANTITOXIN, + REAGENT_ID_DEXALIN, + REAGENT_ID_SYNAPTIZINE, + REAGENT_ID_ALKYSINE, + REAGENT_ID_IMIDAZOLINE, + REAGENT_ID_PERIDAXON, + REAGENT_ID_REZADONE, + REAGENT_ID_MUTATIONTOXIN, + REAGENT_ID_MUTATIONTOXIN) /datum/xeno/traits var/list/traits = list() @@ -212,5 +212,3 @@ var/global/list/xenoChemList = list("mutationtoxin", var/genetype //Label for specifying what gene is used. var/list/values //What's going to be put into specific traits var/list/chems - - diff --git a/code/modules/xenobio2/_xeno_setup_vr.dm b/code/modules/xenobio2/_xeno_setup_vr.dm index ae17b1b733..b7d0e67f90 100644 --- a/code/modules/xenobio2/_xeno_setup_vr.dm +++ b/code/modules/xenobio2/_xeno_setup_vr.dm @@ -1,65 +1,65 @@ /hook/startup/proc/xenochems_vr() //A chemical whitelist. Adds on to the other chemical whitelist. This is required, as you don't want users getting certain chemicals (See: Adminordizine) and also don't want them to just get pure stock chemicals, as that'd be boring for the player. - xenoChemList += "inaprovaline" - xenoChemList += "bicaridine" - xenoChemList += "dylovene" - xenoChemList += "dexalinp" - xenoChemList += "tricordrazine" - xenoChemList += "cryoxadone" - xenoChemList += "clonexadone" - xenoChemList += "paracetamol" - xenoChemList += "tramadol" - xenoChemList += "oxycodone" - xenoChemList += "ryetalyn" - xenoChemList += "hyperzine" - xenoChemList += "ethylredoxrazine" - xenoChemList += "hyronalin" - xenoChemList += "arithrazine" - xenoChemList += "spaceacillin" - xenoChemList += "sterilizine" - xenoChemList += "leporazine" - xenoChemList += "methylphenidate" - xenoChemList += "citalopram" - xenoChemList += "paroxetine" - xenoChemList += "macrocillin" - xenoChemList += "microcillin" - xenoChemList += "normalcillin" - xenoChemList += "sizeoxadone" - xenoChemList += "ickypak" - xenoChemList += "unsorbitol" - xenoChemList += "toxin" - xenoChemList += "carpotoxin" - xenoChemList += "potassium_chloride" - xenoChemList += "potassium_chlorophoride" - xenoChemList += "zombiepowder" - xenoChemList += "fertilizer" - xenoChemList += "eznutrient" - xenoChemList += "left4zed" - xenoChemList += "robustharvest" - xenoChemList += "plantbgone" - xenoChemList += "serotrotium" - xenoChemList += "nicotine" - xenoChemList += "uranium" - xenoChemList += "silver" - xenoChemList += "gold" - xenoChemList += "adrenaline" - xenoChemList += "holywater" - xenoChemList += "ammonia" - xenoChemList += "diethylamine" - xenoChemList += "fluorosurfactant" - xenoChemList += "foaming_agent" - xenoChemList += "thermite" - xenoChemList += "cleaner" - xenoChemList += "lube" - xenoChemList += "silicate" - xenoChemList += "glycerol" - xenoChemList += "coolant" - xenoChemList += "luminol" - xenoChemList += "nutriment" - xenoChemList += "cornoil" - xenoChemList += "lipozine" - xenoChemList += "sodiumchloride" - xenoChemList += "frostoil" - xenoChemList += "capsaicin" - xenoChemList += "condensedcapsaicin" - xenoChemList += "neurotoxin" - return 1 \ No newline at end of file + xenoChemList += REAGENT_ID_INAPROVALINE + xenoChemList += REAGENT_ID_BICARIDINE + xenoChemList += REAGENT_ID_ANTITOXIN + xenoChemList += REAGENT_ID_DEXALINP + xenoChemList += REAGENT_ID_TRICORDRAZINE + xenoChemList += REAGENT_ID_CRYOXADONE + xenoChemList += REAGENT_ID_CLONEXADONE + xenoChemList += REAGENT_ID_PARACETAMOL + xenoChemList += REAGENT_ID_TRAMADOL + xenoChemList += REAGENT_ID_OXYCODONE + xenoChemList += REAGENT_ID_RYETALYN + xenoChemList += REAGENT_ID_HYPERZINE + xenoChemList += REAGENT_ID_ETHYLREDOXRAZINE + xenoChemList += REAGENT_ID_HYRONALIN + xenoChemList += REAGENT_ID_ARITHRAZINE + xenoChemList += REAGENT_ID_SPACEACILLIN + xenoChemList += REAGENT_ID_STERILIZINE + xenoChemList += REAGENT_ID_LEPORAZINE + xenoChemList += REAGENT_ID_METHYLPHENIDATE + xenoChemList += REAGENT_ID_CITALOPRAM + xenoChemList += REAGENT_ID_PAROXETINE + xenoChemList += REAGENT_ID_MACROCILLIN + xenoChemList += REAGENT_ID_MICROCILLIN + xenoChemList += REAGENT_ID_NORMALCILLIN + xenoChemList += REAGENT_ID_SIZEOXADONE + xenoChemList += REAGENT_ID_ICKYPAK + xenoChemList += REAGENT_ID_UNSORBITOL + xenoChemList += REAGENT_ID_TOXIN + xenoChemList += REAGENT_ID_CARPOTOXIN + xenoChemList += REAGENT_ID_POTASSIUMCHLORIDE + xenoChemList += REAGENT_ID_POTASSIUMCHLOROPHORIDE + xenoChemList += REAGENT_ID_ZOMBIEPOWDER + xenoChemList += REAGENT_ID_FERTILIZER + xenoChemList += REAGENT_ID_EZNUTRIENT + xenoChemList += REAGENT_ID_LEFT4ZED + xenoChemList += REAGENT_ID_ROBUSTHARVEST + xenoChemList += REAGENT_ID_PLANTBGONE + xenoChemList += REAGENT_ID_SEROTROTIUM + xenoChemList += REAGENT_ID_NICOTINE + xenoChemList += REAGENT_ID_URANIUM + xenoChemList += REAGENT_ID_SILVER + xenoChemList += REAGENT_ID_GOLD + xenoChemList += REAGENT_ID_ADRENALINE + xenoChemList += REAGENT_ID_HOLYWATER + xenoChemList += REAGENT_ID_AMMONIA + xenoChemList += REAGENT_ID_DIETHYLAMINE + xenoChemList += REAGENT_ID_FLUOROSURFACTANT + xenoChemList += REAGENT_ID_FOAMINGAGENT + xenoChemList += REAGENT_ID_THERMITE + xenoChemList += REAGENT_ID_CLEANER + xenoChemList += REAGENT_ID_LUBE + xenoChemList += REAGENT_ID_SILICATE + xenoChemList += REAGENT_ID_GLYCEROL + xenoChemList += REAGENT_ID_COOLANT + xenoChemList += REAGENT_ID_LUMINOL + xenoChemList += REAGENT_ID_NUTRIMENT + xenoChemList += REAGENT_ID_CORNOIL + xenoChemList += REAGENT_ID_LIPOZINE + xenoChemList += REAGENT_ID_SODIUMCHLORIDE + xenoChemList += REAGENT_ID_FROSTOIL + xenoChemList += REAGENT_ID_CAPSAICIN + xenoChemList += REAGENT_ID_CONDENSEDCAPSAICIN + xenoChemList += REAGENT_ID_NEUROTOXIN + return 1 diff --git a/code/modules/xenobio2/machinery/core_extractor.dm b/code/modules/xenobio2/machinery/core_extractor.dm index 3ec567e038..52766a3081 100644 --- a/code/modules/xenobio2/machinery/core_extractor.dm +++ b/code/modules/xenobio2/machinery/core_extractor.dm @@ -151,9 +151,9 @@ [occupant]
    "} if (occupant && !(stat & (NOPOWER|BROKEN))) - dat += "Start the core extraction.
    " + dat += "Start the core extraction.
    " if(occupant) - dat += "Eject the slime
    " + dat += "Eject the slime
    " else dat += "Please wait..." var/datum/browser/popup = new(user, "Slime Extractor", "Slime Extractor", src) diff --git a/code/modules/xenobio2/machinery/slime_replicator.dm b/code/modules/xenobio2/machinery/slime_replicator.dm index c493a47c97..82c6634fa2 100644 --- a/code/modules/xenobio2/machinery/slime_replicator.dm +++ b/code/modules/xenobio2/machinery/slime_replicator.dm @@ -106,9 +106,9 @@ [core]
    "} if (core && !(stat & (NOPOWER|BROKEN))) - dat += "Start the replication process
    " + dat += "Start the replication process
    " if(core) - dat += "Eject the core
    " + dat += "Eject the core
    " else dat += "Please wait..." var/datum/browser/popup = new(user, "Slime Replicator", "Slime Replicator", src) diff --git a/code/modules/xenobio2/mob/slime/slime procs.dm b/code/modules/xenobio2/mob/slime/slime procs.dm index 2bd5912958..91fc793e51 100644 --- a/code/modules/xenobio2/mob/slime/slime procs.dm +++ b/code/modules/xenobio2/mob/slime/slime procs.dm @@ -29,7 +29,7 @@ Slime specific procs go here. if(prob(40)) var/hasMutToxin for(var/R in traitdat.chems) - if(R == "mutationtoxin") + if(R == REAGENT_ID_MUTATIONTOXIN) hasMutToxin = 1 var/chemamount if(hasMutToxin) @@ -40,7 +40,7 @@ Slime specific procs go here. traitdat.chems[chemtype] = chemamount else chemamount = rand(1,5) - traitdat.chems["mutationtoxin"] = chemamount + traitdat.chems[REAGENT_ID_MUTATIONTOXIN] = chemamount /mob/living/simple_mob/xeno/slime/proc/GrowUp() GenerateAdult() @@ -115,7 +115,7 @@ Slime specific procs go here. return if(reagents.total_volume <= 0) return - if(reagents.has_reagent("docilitytoxin")) //Toxin that makes them docile? Good for quelling angry mobs. + if(reagents.has_reagent(REAGENT_ID_MUTATIONTOXIN)) //Toxin that makes them docile? Good for quelling angry mobs. hostile = 0 traitdat.traits[TRAIT_XENO_HOSTILE] = 0 ..() diff --git a/code/modules/xenobio2/mob/slime/slime.dm b/code/modules/xenobio2/mob/slime/slime.dm index 58460b7a41..2d56f2800b 100644 --- a/code/modules/xenobio2/mob/slime/slime.dm +++ b/code/modules/xenobio2/mob/slime/slime.dm @@ -21,7 +21,7 @@ Slime definitions, Life and New live here. var/growthpoint = 25 //At what point they grow up. var/shiny = 0 move_to_delay = 17 //Slimes shouldn't be able to go faster than humans. - default_chems = list("slimejelly" = 5) + default_chems = list(REAGENT_ID_SLIMEJELLY = 5) attacktext = list("absorbed some of") response_help = "pats" response_disarm = "tries to stop" @@ -46,39 +46,39 @@ Slime definitions, Life and New live here. //Overlay information var/overlay = 1 // 1 = normal lighting, 0 = shiny, 2 = too shiny, -1 = no overlay - chemreact = list( "nutriment" = list("nutr" = 0.5), - "radium" = list("toxic" = 0.3, "mut" = 1), - "mutagen" = list("nutr" = 0.4, "mut" = 2), - "water" = list("nutr" = -0.1), - "milk" = list("nutr" = 0.3), - "sacid" = list("toxic" = 1), - "pacid" = list("toxic" = 2), - "chlorine" = list("toxic" = 0.5), - "ammonia" = list("toxic" = 0.5), - "sodawater" = list("toxic" = 0.1, "nutr" = -0.1), - "beer" = list("nutr" = 0.6), - "diethylamine" = list("nutr" = 0.9), - "sugar" = list("toxic" = 0.4, "nutr" = 0.2), - "eznutrient" = list("nutr" = 0.8), - "cryoxadone" = list("toxic" = 0.4), - "flourine" = list("toxic" = 0.1), - "robustharvest" = list("nutr" = 1.5), - "glucose" = list("nutr" = 0.5), - "blood" = list("nutr" = 0.75, "toxic" = 0.05, "mut" = 0.45), - "fuel" = list("toxic" = 0.4), - "toxin" = list("toxic" = 0.5), - "carpotoxin" = list("toxic" = 1, "mut" = 1.5), - "phoron" = list("toxic" = 1.5, "mut" = 0.03), - "virusfood" = list("nutr" = 1.5, "mut" = 0.32), - "cyanide" = list("toxic" = 3.5), - "slimejelly" = list("nutr" = 0.5), - "amutationtoxin" = list("toxic" = 0.1, "heal" = 1.5, "mut" = 3), - "mutationtoxin" = list("toxic" = 0.1, "heal" = 1, "mut" = 1.5), - "gold" = list("heal" = 0.3, "nutr" = 0.7, "mut" = 0.3), - "uranium" = list("heal" = 0.3, "toxic" = 0.7, "mut" = 1.2), - "glycerol" = list("nutr" = 0.6), - "woodpulp" = list("heal" = 0.1, "nutr" = 0.7), - "docilitytoxin" = list("nutr" = 0.3) ) + chemreact = list( REAGENT_ID_NUTRIMENT = list(XENO_CHEM_NUTRI = 0.5), + REAGENT_ID_RADIUM = list(XENO_CHEM_TOXIC = 0.3, XENO_CHEM_MUT = 1), + REAGENT_ID_MUTAGEN = list(XENO_CHEM_NUTRI = 0.4, XENO_CHEM_MUT = 2), + REAGENT_ID_WATER = list(XENO_CHEM_NUTRI = -0.1), + REAGENT_ID_MILK = list(XENO_CHEM_NUTRI = 0.3), + REAGENT_ID_SACID = list(XENO_CHEM_TOXIC = 1), + REAGENT_ID_PACID = list(XENO_CHEM_TOXIC = 2), + REAGENT_ID_CHLORINE = list(XENO_CHEM_TOXIC = 0.5), + REAGENT_ID_AMMONIA = list(XENO_CHEM_TOXIC = 0.5), + REAGENT_ID_SODAWATER = list(XENO_CHEM_TOXIC = 0.1, XENO_CHEM_NUTRI = -0.1), + REAGENT_ID_BEER = list(XENO_CHEM_NUTRI = 0.6), + REAGENT_ID_DIETHYLAMINE = list(XENO_CHEM_NUTRI = 0.9), + REAGENT_ID_SUGAR = list(XENO_CHEM_TOXIC = 0.4, XENO_CHEM_NUTRI = 0.2), + REAGENT_ID_EZNUTRIENT = list(XENO_CHEM_NUTRI = 0.8), + REAGENT_ID_CRYOXADONE = list(XENO_CHEM_TOXIC = 0.4), + "flourine" = list(XENO_CHEM_TOXIC = 0.1), + REAGENT_ID_ROBUSTHARVEST = list(XENO_CHEM_NUTRI = 1.5), + REAGENT_ID_GLUCOSE = list(XENO_CHEM_NUTRI = 0.5), + REAGENT_ID_BLOOD = list(XENO_CHEM_NUTRI = 0.75, XENO_CHEM_TOXIC = 0.05, XENO_CHEM_MUT = 0.45), + REAGENT_ID_FUEL = list(XENO_CHEM_TOXIC = 0.4), + REAGENT_ID_TOXIN = list(XENO_CHEM_TOXIC = 0.5), + REAGENT_ID_CARPOTOXIN = list(XENO_CHEM_TOXIC = 1, XENO_CHEM_MUT = 1.5), + REAGENT_ID_PHORON = list(XENO_CHEM_TOXIC = 1.5, XENO_CHEM_MUT = 0.03), + REAGENT_ID_VIRUSFOOD = list(XENO_CHEM_NUTRI = 1.5, XENO_CHEM_MUT = 0.32), + REAGENT_ID_CYANIDE = list(XENO_CHEM_TOXIC = 3.5), + REAGENT_ID_SLIMEJELLY = list(XENO_CHEM_NUTRI = 0.5), + "amutationtoxin" = list(XENO_CHEM_TOXIC = 0.1, XENO_CHEM_HEAL = 1.5, XENO_CHEM_MUT = 3), + REAGENT_ID_MUTATIONTOXIN = list(XENO_CHEM_TOXIC = 0.1, XENO_CHEM_HEAL = 1, XENO_CHEM_MUT = 1.5), + REAGENT_ID_GOLD = list(XENO_CHEM_HEAL = 0.3, XENO_CHEM_NUTRI = 0.7, XENO_CHEM_MUT = 0.3), + REAGENT_ID_URANIUM = list(XENO_CHEM_HEAL = 0.3, XENO_CHEM_TOXIC = 0.7, XENO_CHEM_MUT = 1.2), + REAGENT_ID_GLYCEROL = list(XENO_CHEM_NUTRI = 0.6), + REAGENT_ID_WOODPULP = list(XENO_CHEM_HEAL = 0.1, XENO_CHEM_NUTRI = 0.7), + REAGENT_ID_MUTATIONTOXIN = list(XENO_CHEM_NUTRI = 0.3) ) /mob/living/simple_mob/xeno/slime/New() ..() diff --git a/code/modules/xenobio2/mob/xeno procs.dm b/code/modules/xenobio2/mob/xeno procs.dm index f2b48b8091..e01b18ade6 100644 --- a/code/modules/xenobio2/mob/xeno procs.dm +++ b/code/modules/xenobio2/mob/xeno procs.dm @@ -68,17 +68,17 @@ Divergence proc, used in mutation to make unique datums. if(!reagent_response) continue // just skip this reagent, rather than clearing the whole thing - if(reagent_response["toxic"]) - adjustToxLoss(reagent_response["toxic"] * reagent_total) + if(reagent_response[XENO_CHEM_TOXIC]) + adjustToxLoss(reagent_response[XENO_CHEM_TOXIC] * reagent_total) - if(reagent_response["heal"]) - heal_overall_damage(reagent_response["heal"] * reagent_total) + if(reagent_response[XENO_CHEM_HEAL]) + heal_overall_damage(reagent_response[XENO_CHEM_HEAL] * reagent_total) - if(reagent_response["nutr"]) - adjust_nutrition(reagent_response["nutr"] * reagent_total) + if(reagent_response[XENO_CHEM_NUTRI]) + adjust_nutrition(reagent_response[XENO_CHEM_NUTRI] * reagent_total) - if(reagent_response["mut"]) - mut_level += reagent_response["mut"] * reagent_total + if(reagent_response[XENO_CHEM_MUT]) + mut_level += reagent_response[XENO_CHEM_MUT] * reagent_total temp_chem_holder.reagents.clear_reagents() diff --git a/code/modules/xenobio2/tools/xeno_trait_scanner.dm b/code/modules/xenobio2/tools/xeno_trait_scanner.dm index 191aecd6e2..5b00748eda 100644 --- a/code/modules/xenobio2/tools/xeno_trait_scanner.dm +++ b/code/modules/xenobio2/tools/xeno_trait_scanner.dm @@ -179,7 +179,7 @@ if(dat) last_data = dat - dat += "

    \[print report\]" + dat += "

    \[print report\]" user << browse(dat,"window=xeno_analyzer") return diff --git a/html/statbrowser.css b/html/statbrowser.css index 1f5aec0558..1161633f52 100644 --- a/html/statbrowser.css +++ b/html/statbrowser.css @@ -188,6 +188,8 @@ body.dark { scrollbar-track-color: #1c1c1c; scrollbar-arrow-color: #929292; scrollbar-shadow-color: #3b3b3b; + /* Edge */ + scrollbar-color: #3b3b3b #1c1c1c; } .dark a { diff --git a/html/statbrowser.js b/html/statbrowser.js index 032d5c1610..f9ccd63cc1 100644 --- a/html/statbrowser.js +++ b/html/statbrowser.js @@ -397,7 +397,7 @@ function draw_mc() { var td2 = document.createElement("td"); if (part[2]) { var a = document.createElement("a"); - a.href = "?_src_=vars;admin_token=" + href_token + ";Vars=" + part[2]; + a.href = "byond://?_src_=vars;admin_token=" + href_token + ";Vars=" + part[2]; a.textContent = part[1]; td2.appendChild(a); } else { @@ -467,34 +467,33 @@ function draw_listedturf() { table.appendChild(img); } var b = document.createElement("div"); - var clickcatcher = ""; b.className = "link"; b.onmousedown = function (part) { // The outer function is used to close over a fresh "part" variable, // rather than every onmousedown getting the "part" of the last entry. return function (e) { e.preventDefault(); - clickcatcher = "?src=" + part[1]; + var params = {"src": part[1]}; switch (e.button) { case 1: - clickcatcher += ";statpanel_item_click=middle"; + params["statpanel_item_click"] = "middle"; break; case 2: - clickcatcher += ";statpanel_item_click=right"; + params["statpanel_item_click"] = "right"; break; default: - clickcatcher += ";statpanel_item_click=left"; + params["statpanel_item_click"] = "left"; } if (e.shiftKey) { - clickcatcher += ";statpanel_item_shiftclick=1"; + params["statpanel_item_shiftclick"] = 1; } if (e.ctrlKey) { - clickcatcher += ";statpanel_item_ctrlclick=1"; + params["statpanel_item_ctrlclick"] = 1; } if (e.altKey) { - clickcatcher += ";statpanel_item_altclick=1"; + params["statpanel_item_altclick"] = 1; } - window.location.href = clickcatcher; + Byond.topic(params) } }(part); b.textContent = part[0]; @@ -530,7 +529,7 @@ function draw_sdql2() { var td2 = document.createElement("td"); if (part[2]) { var a = document.createElement("a"); - a.href = "?src=" + part[2] + ";statpanel_item_click=left"; + a.href = "byond://?src=" + part[2] + ";statpanel_item_click=left"; a.textContent = part[1]; td2.appendChild(a); } else { @@ -557,12 +556,12 @@ function draw_tickets() { var td2 = document.createElement("td"); if (part[2]) { var a = document.createElement("a"); - a.href = "?_src_=holder;admin_token=" + href_token + ";ahelp=" + part[2] + ";ahelp_action=ticket;statpanel_item_click=left;action=ticket"; + a.href = "byond://?_src_=holder;admin_token=" + href_token + ";ahelp=" + part[2] + ";ahelp_action=ticket;statpanel_item_click=left;action=ticket"; a.textContent = part[1]; td2.appendChild(a); } else if (part[3]) { var a = document.createElement("a"); - a.href = "?src=" + part[3] + ";statpanel_item_click=left"; + a.href = "byond://?src=" + part[3] + ";statpanel_item_click=left"; a.textContent = part[1]; td2.appendChild(a); } else { @@ -610,7 +609,6 @@ function draw_misc(tab) { } var td3 = null; var b = document.createElement("div"); - var clickcatcher = ""; if (part[4]) { b.className = "linkelem"; b.onmousedown = function (part) { @@ -618,27 +616,27 @@ function draw_misc(tab) { // rather than every onmousedown getting the "part" of the last entry. return function (e) { e.preventDefault(); - clickcatcher = "?src=" + part[4]; + var params = { "src": part[4] }; switch (e.button) { case 1: - clickcatcher += ";statpanel_item_click=middle"; + params["statpanel_item_click"] = "middle"; break; case 2: - clickcatcher += ";statpanel_item_click=right"; + params["statpanel_item_click"] = "right"; break; default: - clickcatcher += ";statpanel_item_click=left"; + params["statpanel_item_click"] = "left"; } if (e.shiftKey) { - clickcatcher += ";statpanel_item_shiftclick=1"; + params["statpanel_item_shiftclick"] = 1; } if (e.ctrlKey) { - clickcatcher += ";statpanel_item_ctrlclick=1"; + params["statpanel_item_ctrlclick"] = 1; } if (e.altKey) { - clickcatcher += ";statpanel_item_altclick=1"; + params["statpanel_item_altclick"] = 1; } - window.location.href = clickcatcher; + Byond.topic(params); } }(part); } @@ -681,7 +679,7 @@ function draw_spells(cat) { var td2 = document.createElement("td"); if (part[3]) { var a = document.createElement("a"); - a.href = "?src=" + part[3] + ";statpanel_item_click=left"; + a.href = "byond://?src=" + part[3] + ";statpanel_item_click=left"; a.textContent = part[2]; td2.appendChild(a); } else { diff --git a/icons/mob/alienanimals_x32.dmi b/icons/mob/alienanimals_x32.dmi index aafc75a89c..56794ab64b 100644 Binary files a/icons/mob/alienanimals_x32.dmi and b/icons/mob/alienanimals_x32.dmi differ diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi index 7fb16ee9cc..6432c617f0 100644 Binary files a/icons/mob/spacesuit.dmi and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/species/protean/protean_powers.dmi b/icons/mob/species/protean/protean_powers.dmi index efcd821a81..2ae91c0947 100644 Binary files a/icons/mob/species/protean/protean_powers.dmi and b/icons/mob/species/protean/protean_powers.dmi differ diff --git a/icons/mob/vore/ears_32x64.dmi b/icons/mob/vore/ears_32x64.dmi index 97165c67d1..248d7fc1b9 100644 Binary files a/icons/mob/vore/ears_32x64.dmi and b/icons/mob/vore/ears_32x64.dmi differ diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi index a7034bc2d2..26a48234da 100644 Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi index 85547136d5..3088061b5c 100644 Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ diff --git a/icons/mob/vore_grayscale_drake.dmi b/icons/mob/vore_grayscale_drake.dmi new file mode 100644 index 0000000000..1c9b333c8b Binary files /dev/null and b/icons/mob/vore_grayscale_drake.dmi differ diff --git a/interface/skin.dmf b/interface/skin.dmf index 7af253a77e..22c08167a8 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -1288,7 +1288,48 @@ window "mapwindow" window "outputwindow" elem "outputwindow" type = MAIN - pos = 281,0 + pos = 0,0 + size = 640x480 + anchor1 = -1,-1 + anchor2 = -1,-1 + background-color = none + saved-params = "pos;size;is-minimized;is-maximized" + is-pane = true + elem "legacy_output_selector" + type = CHILD + pos = 0,0 + size = 640x480 + anchor1 = 0,0 + anchor2 = 100,100 + saved-params = "splitter" + left = "output_legacy" + is-vert = false + +window "output_legacy" + elem "output_legacy" + type = MAIN + pos = 0,0 + size = 640x480 + anchor1 = -1,-1 + anchor2 = -1,-1 + background-color = none + saved-params = "pos;size;is-minimized;is-maximized" + is-pane = true + elem "output" + type = OUTPUT + pos = 0,0 + size = 640x480 + anchor1 = 0,0 + anchor2 = 100,100 + is-default = true + saved-params = "max-lines" + style = ".system {color:#FF0000;}" + enable-http-images = true + +window "output_browser" + elem "output_browser" + type = MAIN + pos = 0,0 size = 640x480 anchor1 = -1,-1 anchor2 = -1,-1 @@ -1301,19 +1342,8 @@ window "outputwindow" size = 640x480 anchor1 = 0,0 anchor2 = 100,100 - is-visible = false - is-disabled = true + background-color = none saved-params = "" - elem "output" - type = OUTPUT - pos = 0,0 - size = 640x480 - anchor1 = 0,0 - anchor2 = 100,100 - is-default = true - saved-params = "" - style = ".system {color:#FF0000;}" - enable-http-images = true window "prefs_markings_subwindow" elem "prefs_markings_subwindow" diff --git a/maps/cynosure/overmap/sectors.dm b/maps/cynosure/overmap/sectors.dm index 968a30544c..5d0a7a1e8a 100644 --- a/maps/cynosure/overmap/sectors.dm +++ b/maps/cynosure/overmap/sectors.dm @@ -26,8 +26,8 @@ /obj/effect/overmap/visitable/planet/Sif/Initialize() atmosphere = new(CELL_VOLUME) - atmosphere.adjust_gas_temp("oxygen", MOLES_O2STANDARD, 273) - atmosphere.adjust_gas_temp("nitrogen", MOLES_N2STANDARD, 273) + atmosphere.adjust_gas_temp(GAS_O2, MOLES_O2STANDARD, 273) + atmosphere.adjust_gas_temp(GAS_N2, MOLES_N2STANDARD, 273) . = ..() diff --git a/maps/expedition_vr/aerostat/_aerostat.dm b/maps/expedition_vr/aerostat/_aerostat.dm index 503096dc28..2083fe008b 100644 --- a/maps/expedition_vr/aerostat/_aerostat.dm +++ b/maps/expedition_vr/aerostat/_aerostat.dm @@ -48,67 +48,67 @@ continue if(!priority_process) sleep(-1) T.resources = list() - T.resources["sand"] = rand(3,5) - T.resources["carbon"] = rand(3,5) + T.resources[ORE_SAND] = rand(3,5) + T.resources[ORE_CARBON] = rand(3,5) var/current_cell = map[get_map_cell(x,y)] if(current_cell < rare_val) // Surface metals. - T.resources["hematite"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["gold"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["silver"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["marble"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["diamond"] = 0 - T.resources["phoron"] = 0 - T.resources["platinum"] = 0 - T.resources["mhydrogen"] = 0 - T.resources["verdantium"] = 0 - T.resources["lead"] = 0 - //T.resources["copper"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) - //T.resources["tin"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - //T.resources["bauxite"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["rutile"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_HEMATITE] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_GOLD] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_SILVER] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_URANIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_MARBLE] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_DIAMOND] = 0 + T.resources[ORE_PHORON] = 0 + T.resources[ORE_PLATINUM] = 0 + T.resources[ORE_MHYDROGEN] = 0 + T.resources[ORE_VERDANTIUM] = 0 + T.resources[ORE_LEAD] = 0 + //T.resources[ORE_COPPER] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) + //T.resources[ORE_TIN] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + //T.resources[ORE_BAUXITE] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_RUTILE] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 else if(current_cell < deep_val) // Rare metals. - T.resources["gold"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["silver"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["uranium"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["phoron"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["platinum"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["verdantium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["mhydrogen"] = 0 - T.resources["diamond"] = 0 - T.resources["hematite"] = 0 - T.resources["marble"] = 0 - //T.resources["copper"] = 0 - //T.resources["tin"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - //T.resources["bauxite"] = 0 - T.resources["rutile"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_GOLD] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_SILVER] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_URANIUM] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PHORON] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PLATINUM] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_VERDANTIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_LEAD] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_MHYDROGEN] = 0 + T.resources[ORE_DIAMOND] = 0 + T.resources[ORE_HEMATITE] = 0 + T.resources[ORE_MARBLE] = 0 + //T.resources[ORE_COPPER] = 0 + //T.resources[ORE_TIN] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + //T.resources[ORE_BAUXITE] = 0 + T.resources[ORE_RUTILE] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 else // Deep metals. - T.resources["uranium"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["diamond"] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) - T.resources["verdantium"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) - T.resources["phoron"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["platinum"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - T.resources["mhydrogen"] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) - T.resources["marble"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) - T.resources["lead"] = rand(RESOURCE_LOW_MIN, RESOURCE_HIGH_MAX) - T.resources["hematite"] = 0 - T.resources["gold"] = 0 - T.resources["silver"] = 0 - //T.resources["copper"] = 0 - //T.resources["tin"] = 0 - //T.resources["bauxite"] = 0 - T.resources["rutile"] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) - //T.resources["void opal"] = 0 - //T.resources["quartz"] = 0 - //T.resources["painite"] = 0 + T.resources[ORE_URANIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_DIAMOND] = rand(RESOURCE_LOW_MIN, RESOURCE_LOW_MAX) + T.resources[ORE_VERDANTIUM] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX) + T.resources[ORE_PHORON] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_PLATINUM] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_MHYDROGEN] = rand(RESOURCE_MID_MIN, RESOURCE_MID_MAX) + T.resources[ORE_MARBLE] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_LEAD] = rand(RESOURCE_LOW_MIN, RESOURCE_HIGH_MAX) + T.resources[ORE_HEMATITE] = 0 + T.resources[ORE_GOLD] = 0 + T.resources[ORE_SILVER] = 0 + //T.resources[ORE_COPPER] = 0 + //T.resources[ORE_TIN] = 0 + //T.resources[ORE_BAUXITE] = 0 + T.resources[ORE_RUTILE] = rand(RESOURCE_HIGH_MIN, RESOURCE_HIGH_MAX) + //T.resources[ORE_VOPAL] = 0 + //T.resources[ORE_QUARTZ] = 0 + //T.resources[ORE_PAINITE] = 0 return // -- Objs -- // @@ -215,7 +215,7 @@ VIRGO2_TURF_CREATE(/turf/simulated/mineral) if(mineral) return - var/mineral_name = pickweight(list("marble" = 5, "uranium" = 5, "platinum" = 5, "hematite" = 5, "carbon" = 5, "diamond" = 5, "gold" = 5, "silver" = 5, "lead" = 5, "verdantium" = 5, "rutile" = 20)) + var/mineral_name = pickweight(list(ORE_MARBLE = 5, ORE_URANIUM = 5, ORE_PLATINUM = 5, ORE_HEMATITE = 5, ORE_CARBON = 5, ORE_DIAMOND = 5, ORE_GOLD = 5, ORE_SILVER = 5, ORE_LEAD = 5, ORE_VERDANTIUM = 5, ORE_RUTILE = 20)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] diff --git a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm index d2897b90e9..764a0303a2 100644 --- a/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm +++ b/maps/expedition_vr/aerostat/_aerostat_science_outpost.dm @@ -151,28 +151,28 @@ VIRGO2_TURF_CREATE(/turf/simulated/mineral) var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 3, - "uranium" = 10, - "platinum" = 10, - "hematite" = 20, - "carbon" = 20, - "diamond" = 1, - "gold" = 8, - "silver" = 8, - "phoron" = 18, - "lead" = 2, - "verdantium" = 1)) + ORE_MARBLE = 3, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 20, + ORE_CARBON = 20, + ORE_DIAMOND = 1, + ORE_GOLD = 8, + ORE_SILVER = 8, + ORE_PHORON = 18, + ORE_LEAD = 2, + ORE_VERDANTIUM = 1)) else mineral_name = pickweight(list( - "marble" = 2, - "uranium" = 5, - "platinum" = 5, - "hematite" = 35, - "carbon" = 35, - "gold" = 3, - "silver" = 3, - "phoron" = 25, - "lead" = 1)) + ORE_MARBLE = 2, + ORE_URANIUM = 5, + ORE_PLATINUM = 5, + ORE_HEMATITE = 35, + ORE_CARBON = 35, + ORE_GOLD = 3, + ORE_SILVER = 3, + ORE_PHORON = 25, + ORE_LEAD = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] diff --git a/maps/expedition_vr/alienship/_alienship.dm b/maps/expedition_vr/alienship/_alienship.dm index 7d2aaa9bbc..6b54bcfb4c 100644 --- a/maps/expedition_vr/alienship/_alienship.dm +++ b/maps/expedition_vr/alienship/_alienship.dm @@ -101,7 +101,7 @@ icon = 'alienship.dmi' icon_state = "alien_injector" item_state = "autoinjector" - filled_reagents = list("rezadone" = 4, "corophizine" = 1) + filled_reagents = list(REAGENT_ID_REZADONE = 4, REAGENT_ID_COROPHIZINE = 1) // -- Areas -- // diff --git a/maps/gateway_archive_vr/desertbase.dmm b/maps/gateway_archive_vr/desertbase.dmm index b90e8cb697..49302c2683 100644 --- a/maps/gateway_archive_vr/desertbase.dmm +++ b/maps/gateway_archive_vr/desertbase.dmm @@ -298,10 +298,7 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/cell{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell, /turf/simulated/shuttle/floor/darkred, /area/space) "ba" = ( @@ -556,7 +553,7 @@ name = "Flasher"; pixel_x = 27; pixel_y = 0; - + }, /turf/simulated/shuttle/floor/darkred, /area/space) diff --git a/maps/gateway_archive_vr/zoo.dmm b/maps/gateway_archive_vr/zoo.dmm index ddf268d1a0..7826ce9c40 100644 --- a/maps/gateway_archive_vr/zoo.dmm +++ b/maps/gateway_archive_vr/zoo.dmm @@ -366,7 +366,7 @@ "hb" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 4; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/turf/simulated/floor/plating,/area/awaymission/zoo) "hc" = (/turf/simulated/floor/plating,/area/awaymission/zoo) "hd" = (/obj/machinery/door/airlock/silver{icon_state = "door_locked"; locked = 1},/turf/simulated/floor,/area/awaymission/zoo/pirateship) -"he" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) +"he" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hf" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hg" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/awaymission/zoo/syndieship) "hh" = (/obj/structure/window/phoronreinforced{dir = 1; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/window/phoronreinforced{maxhealth = 10000; name = "robust borosilicate window"},/obj/structure/window/phoronreinforced{dir = 8; icon_state = "phoronrwindow"; maxhealth = 10000; name = "robust borosilicate window";},/obj/structure/grille,/turf/simulated/floor/plating,/area/awaymission/zoo) diff --git a/maps/gateway_archive_vr/zresearchlabs.dmm b/maps/gateway_archive_vr/zresearchlabs.dmm index f37589932e..c8c01db091 100644 --- a/maps/gateway_archive_vr/zresearchlabs.dmm +++ b/maps/gateway_archive_vr/zresearchlabs.dmm @@ -36,7 +36,7 @@ "aJ" = (/obj/structure/table/standard,/obj/item/stack/cable_coil{pixel_x = -1; pixel_y = 7},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 3},/obj/item/stack/cable_coil{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aK" = (/obj/structure/table/standard,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aL" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering SMES Room"; dir = 4; network = "SS13"},/turf/simulated/floor/plating,/area/awaymission/labs/cave) -"aM" = (/obj/structure/table/standard,/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/module/power_control,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) +"aM" = (/obj/structure/table/standard,/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/module/power_control,/obj/item/cell/high,/obj/item/cell/high,/obj/machinery/light,/turf/simulated/floor/plating,/area/awaymission/labs/cave) "aN" = (/obj/effect/alien/flesh/weeds/node,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aO" = (/obj/effect/critter/fleshmonster/fleshslime,/turf/unsimulated/desert,/area/awaymission/labs/cave) "aP" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/plating,/area/awaymission/labs/cave) diff --git a/maps/gateway_vr/zoo.dmm b/maps/gateway_vr/zoo.dmm index f7938f2810..a71518b122 100644 --- a/maps/gateway_vr/zoo.dmm +++ b/maps/gateway_vr/zoo.dmm @@ -2390,10 +2390,7 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/cell{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "hf" = ( diff --git a/maps/gateway_vr/zoo_b.dmm b/maps/gateway_vr/zoo_b.dmm index 9031373194..fe1fdee523 100644 --- a/maps/gateway_vr/zoo_b.dmm +++ b/maps/gateway_vr/zoo_b.dmm @@ -4737,10 +4737,7 @@ /obj/item/stack/material/glass{ amount = 15 }, -/obj/item/cell{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell, /turf/simulated/shuttle/floor/darkred, /area/awaymission/zoo/syndieship) "OZ" = ( diff --git a/maps/groundbase/gb-centcomm.dmm b/maps/groundbase/gb-centcomm.dmm index e63c6dfaef..734c903995 100644 --- a/maps/groundbase/gb-centcomm.dmm +++ b/maps/groundbase/gb-centcomm.dmm @@ -8479,8 +8479,6 @@ name = "robotics parts" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -8493,20 +8491,14 @@ pixel_y = 4 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -13994,14 +13986,8 @@ /area/centcom/control) "TU" = ( /obj/structure/table/standard, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/cell_charger, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, diff --git a/maps/groundbase/gb-z1.dmm b/maps/groundbase/gb-z1.dmm index 9cd2c0d330..07f3d9869a 100644 --- a/maps/groundbase/gb-z1.dmm +++ b/maps/groundbase/gb-z1.dmm @@ -6294,14 +6294,8 @@ "nE" = ( /obj/item/suit_cooling_unit, /obj/item/suit_cooling_unit, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, @@ -7411,14 +7405,8 @@ "qg" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 @@ -16154,19 +16142,10 @@ "Ke" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/tool/wrench, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, @@ -16383,10 +16362,7 @@ /obj/structure/table/reinforced, /obj/random/tech_supply, /obj/random/tech_supply, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /turf/simulated/floor/tiled, /area/groundbase/engineering/eva) "KC" = ( diff --git a/maps/groundbase/gb-z2.dmm b/maps/groundbase/gb-z2.dmm index ac234c6828..19569f82bc 100644 --- a/maps/groundbase/gb-z2.dmm +++ b/maps/groundbase/gb-z2.dmm @@ -9540,26 +9540,18 @@ name = "robotics equipment" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/groundbase/groundbase_mining.dm b/maps/groundbase/groundbase_mining.dm index 13ca26d1f9..e396abdd75 100644 --- a/maps/groundbase/groundbase_mining.dm +++ b/maps/groundbase/groundbase_mining.dm @@ -4,28 +4,28 @@ var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 3, - "uranium" = 10, - "platinum" = 10, - "hematite" = 20, - "carbon" = 20, - "diamond" = 1, - "gold" = 8, - "silver" = 8, - "phoron" = 18, - "lead" = 2, - "verdantium" = 1)) + ORE_MARBLE = 3, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 20, + ORE_CARBON = 20, + ORE_DIAMOND = 1, + ORE_GOLD = 8, + ORE_SILVER = 8, + ORE_PHORON = 18, + ORE_LEAD = 2, + ORE_VERDANTIUM = 1)) else mineral_name = pickweight(list( - "marble" = 2, - "uranium" = 5, - "platinum" = 5, - "hematite" = 35, - "carbon" = 35, - "gold" = 3, - "silver" = 3, - "phoron" = 25, - "lead" = 1)) + ORE_MARBLE = 2, + ORE_URANIUM = 5, + ORE_PLATINUM = 5, + ORE_HEMATITE = 35, + ORE_CARBON = 35, + ORE_GOLD = 3, + ORE_SILVER = 3, + ORE_PHORON = 25, + ORE_LEAD = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index d97edbdb9b..7ad1d2bfe2 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -2145,7 +2145,7 @@ "aPm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/pool) "aPn" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "large_escape_pod_2_hatch"; locked = 1; name = "Large Escape Pod Hatch 2"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aPo" = (/turf/space,/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "propulsion_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/large_escape_pod2/station) -"aPp" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor,/area/maintenance/substation/security) +"aPp" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/cell/high,/turf/simulated/floor,/area/maintenance/substation/security) "aPq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/substation/security) "aPr" = (/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/substation/security) "aPs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/maintenance/security_port) @@ -2732,7 +2732,7 @@ "baB" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/hydroponics/garden) "baC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "baD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/central_two) -"baE" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) +"baE" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/cell/high,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable/green,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "baF" = (/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 6},/obj/item/storage/briefcase/inflatable{pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = -3},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "baG" = (/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) "baH" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/tool/crowbar/red,/obj/item/flashlight,/obj/item/flashlight,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera/network/civilian{c_tag = "CIV - Emergency EVA"; dir = 1},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/emergency/eva) @@ -3816,7 +3816,7 @@ "bvt" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/rnd/research) "bvu" = (/obj/effect/floor_decal/corner/purple{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/rnd/research) "bvv" = (/obj/item/folder/white,/obj/structure/table/standard,/obj/item/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/disk/design_disk,/obj/item/disk/design_disk,/obj/item/reagent_containers/dropper{pixel_y = -4},/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) -"bvw" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) +"bvw" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/item/cell/high,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bvx" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical{pixel_x = 2; pixel_y = 3},/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/machinery/light,/obj/structure/reagent_dispensers/acid{density = 0; pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bvy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/rnd/lab) "bvz" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{name = "Research and Development Desk"; req_access = list(7)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/rnd/lab) @@ -4496,7 +4496,7 @@ "bIx" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access = list(39)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access = list(39)},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/virology) "bIy" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/wall/r_wall,/area/medical/virology) "bIz" = (/obj/structure/table/rack,/obj/item/extinguisher,/obj/item/storage/belt/utility,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/random/maintenance/research,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/research) -"bIA" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/multitool,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) +"bIA" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/multitool,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/item/cell/high,/obj/machinery/sparker{id = "Xenobio"; pixel_x = -25},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bIB" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bIC" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "map_injector"; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced,/area/rnd/misc_lab) "bID" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -4510,7 +4510,7 @@ "bIL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/standard,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bIO" = (/obj/structure/closet{name = "robotics parts"},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/white,/area/assembly/robotics) +"bIO" = (/obj/structure/closet{name = "robotics parts"},/obj/item/cell/high{pixel_x = 5; pixel_y = -5},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/cell/high{pixel_x = 5; pixel_y = -5},/obj/item/cell/high{pixel_x = 5; pixel_y = -5},/obj/item/cell/high{pixel_x = 5; pixel_y = -5},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/item/healthanalyzer,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/flash/synthetic,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bIP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor/plating,/area/assembly/robotics) "bIQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_four) "bIR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/hallway/primary/central_four) @@ -6275,7 +6275,7 @@ "cqI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cqJ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/machinery/recharger,/obj/item/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/defib_kit/loaded,/turf/simulated/floor/tiled/white,/area/medical/first_aid_station) "cqK" = (/obj/machinery/cell_charger{pixel_y = 5},/obj/item/multitool,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) -"cqL" = (/obj/machinery/light/small,/obj/structure/table/steel,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) +"cqL" = (/obj/machinery/light/small,/obj/structure/table/steel,/obj/item/cell/high,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/storage/tech) "cqM" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/storage/tech) "cqN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/storage/tech) "cqO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/storage/tech) @@ -6701,7 +6701,7 @@ "cyS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cyT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) "cyU" = (/obj/machinery/camera/network/civilian{c_tag = "CIV - Residential Elevator Starboard"; dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/sleep/elevator) -"cyV" = (/obj/item/frame,/obj/item/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/tiled,/area/vacant/vacant_shop) +"cyV" = (/obj/item/frame,/obj/item/cell/high,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cyW" = (/obj/item/stack/cable_coil/green,/turf/simulated/floor/tiled,/area/vacant/vacant_shop) "cyX" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/machinery/cash_register/civilian{icon_state = "register_idle"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) "cyY" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 2; id = "coffeeshop"; layer = 3.1; name = "Cafe Shutters"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/coffee_shop) @@ -7369,7 +7369,7 @@ "cLK" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/construction) "cLL" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor,/area/construction) "cLM" = (/obj/machinery/suit_cycler/security,/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) -"cLN" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) +"cLN" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/item/cell/high,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/radio/off,/obj/item/radio/off,/obj/item/radio/off,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled,/area/ai_monitored/storage/eva) "cLO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "cLP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) "cLQ" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/computer/card,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/security/checkpoint2) @@ -7728,7 +7728,7 @@ "cSF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "ceoffice"; name = "CE Office Privacy Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/crew_quarters/heads/chief) "cSG" = (/obj/machinery/computer/atmos_alert,/obj/effect/floor_decal/corner/blue/full{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSH" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) -"cSI" = (/obj/structure/table/reinforced,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) +"cSI" = (/obj/structure/table/reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/machinery/light{dir = 1},/obj/item/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 27},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSJ" = (/obj/structure/closet/secure_closet/engineering_chief,/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief) "cSK" = (/obj/machinery/button/remote/driver{id = "enginecore"; name = "Emergency Core Eject"; pixel_x = 0; pixel_y = 21},/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/heads/chief) "cSL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/maintenance/engineering) @@ -8894,7 +8894,7 @@ "dpb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(24)},/turf/simulated/floor,/area/maintenance/atmos_control) "dpc" = (/obj/structure/closet/toolcloset,/obj/item/flashlight,/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/workshop) "dpd" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/engineering/workshop) -"dpe" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/item/flashlight,/obj/item/tool/wrench,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/workshop) +"dpe" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/high,/obj/item/flashlight,/obj/item/tool/wrench,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/engineering/workshop) "dpf" = (/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/mechanical{pixel_y = 5},/obj/item/storage/toolbox/electrical,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/workshop) "dpg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/stack/rods{amount = 50},/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/item/cell/high,/obj/item/stack/material/glass/phoronrglass{amount = 20},/obj/item/pickaxe,/obj/item/pickaxe,/turf/simulated/floor/tiled,/area/engineering/workshop) "dph" = (/obj/structure/table/reinforced,/obj/item/floor_painter,/obj/item/multitool{pixel_x = 5},/obj/item/t_scanner,/obj/item/reagent_containers/spray/cleaner,/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 3; name = "Engineering RC"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/engineering/workshop) diff --git a/maps/northern_star/polaris-2.dmm b/maps/northern_star/polaris-2.dmm index 06010d3baa..55d8e85f28 100644 --- a/maps/northern_star/polaris-2.dmm +++ b/maps/northern_star/polaris-2.dmm @@ -910,7 +910,7 @@ "rz" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "specops_shuttle_fore"; name = "forward docking hatch controller"; pixel_x = 0; pixel_y = -25; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor_red"},/area/shuttle/specops/centcom) "rA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Forward Docking Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) "rB" = (/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/mob/living/simple_mob/animal/passive/dog/corgi/puppy{name = "Bockscar"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops) -"rC" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) +"rC" = (/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 15},/obj/item/cell,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "rD" = (/obj/item/radio/intercom{desc = "Talk through this. Evilly"; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/obj/machinery/light,/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "rE" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/shuttle/floor/darkred,/area/syndicate_station/start) "rF" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership) diff --git a/maps/northern_star/polaris-3.dmm b/maps/northern_star/polaris-3.dmm index a485982abc..011c2b09bf 100644 --- a/maps/northern_star/polaris-3.dmm +++ b/maps/northern_star/polaris-3.dmm @@ -12,7 +12,7 @@ "al" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "am" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "an" = (/obj/item/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"ao" = (/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"ao" = (/obj/item/cell,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "ap" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "aq" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/ship) "ar" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/derelict/ship) @@ -654,4 +654,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/northern_star/polaris-5.dmm b/maps/northern_star/polaris-5.dmm index ab9dd887b5..8c8929d601 100644 --- a/maps/northern_star/polaris-5.dmm +++ b/maps/northern_star/polaris-5.dmm @@ -1627,7 +1627,7 @@ "Fo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/outpost/engineering/hallway) "Fp" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/storage) "Fq" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/structure/cable,/obj/item/frame/apc,/obj/item/module/power_control,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) -"Fr" = (/obj/item/cell/high{charge = 100; maxcharge = 15000},/obj/structure/table/steel,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) +"Fr" = (/obj/item/cell/high,/obj/structure/table/steel,/turf/simulated/floor/airless{icon_state = "asteroidplating2"},/area/mine/explored) "Fs" = (/turf/simulated/wall/r_wall,/area/outpost/engineering/kitchen) "Ft" = (/obj/structure/table/steel,/obj/effect/floor_decal/industrial/warning/dust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/mine/explored) "Fu" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/outpost/engineering/kitchen) @@ -2170,4 +2170,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/offmap_vr/common_offmaps.dm b/maps/offmap_vr/common_offmaps.dm index 8bb776fe70..687106d80f 100644 --- a/maps/offmap_vr/common_offmaps.dm +++ b/maps/offmap_vr/common_offmaps.dm @@ -520,21 +520,21 @@ var/list/gaslist = env.gas if(my_mob.min_oxy) - my_mob.min_oxy = gaslist["oxygen"] * 0.8 + my_mob.min_oxy = gaslist[GAS_O2] * 0.8 if(my_mob.min_tox) - my_mob.min_tox = gaslist["phoron"] * 0.8 + my_mob.min_tox = gaslist[GAS_PHORON] * 0.8 if(my_mob.min_n2) - my_mob.min_n2 = gaslist["nitrogen"] * 0.8 + my_mob.min_n2 = gaslist[GAS_N2] * 0.8 if(my_mob.min_co2) - my_mob.min_co2 = gaslist["carbon_dioxide"] * 0.8 + my_mob.min_co2 = gaslist[GAS_CO2] * 0.8 if(my_mob.max_oxy) - my_mob.max_oxy = gaslist["oxygen"] * 1.2 + my_mob.max_oxy = gaslist[GAS_O2] * 1.2 if(my_mob.max_tox) - my_mob.max_tox = gaslist["phoron"] * 1.2 + my_mob.max_tox = gaslist[GAS_PHORON] * 1.2 if(my_mob.max_n2) - my_mob.max_n2 = gaslist["nitrogen"] * 1.2 + my_mob.max_n2 = gaslist[GAS_N2] * 1.2 if(my_mob.max_co2) - my_mob.max_co2 = gaslist["carbon_dioxide"] * 1.2 + my_mob.max_co2 = gaslist[GAS_CO2] * 1.2 /* //VORESTATION AI TEMPORARY REMOVAL if(guard) my_mob.returns_home = TRUE diff --git a/maps/offmap_vr/om_ships/aro2.dm b/maps/offmap_vr/om_ships/aro2.dm index 9b50527bda..ffd6acc4b0 100644 --- a/maps/offmap_vr/om_ships/aro2.dm +++ b/maps/offmap_vr/om_ships/aro2.dm @@ -50,7 +50,7 @@ description_info = "Surfluid is KHI's main method of production, using swarms of nanites to process raw materials into finished products at the cost of immense amounts of energy." color = "#222222" outdoors = OUTDOORS_NO - reagent_type = "liquid_protean" + reagent_type = REAGENT_ID_LIQUIDPROTEAN // The 'ship' /obj/effect/overmap/visitable/ship/aro2 diff --git a/maps/offmap_vr/om_ships/aro3.dm b/maps/offmap_vr/om_ships/aro3.dm index 3cb4bfdc4f..c423ed2b82 100644 --- a/maps/offmap_vr/om_ships/aro3.dm +++ b/maps/offmap_vr/om_ships/aro3.dm @@ -74,7 +74,7 @@ description_info = "Surfluid is KHI's main method of production, using swarms of nanites to process raw materials into finished products at the cost of immense amounts of energy." color = "#222222" outdoors = OUTDOORS_NO - reagent_type = "liquid_protean" + reagent_type = REAGENT_ID_LIQUIDPROTEAN // The 'ship' /obj/effect/overmap/visitable/ship/aro3 diff --git a/maps/offmap_vr/om_ships/lunaship.dm b/maps/offmap_vr/om_ships/lunaship.dm index c5cd942855..623ca32f48 100644 --- a/maps/offmap_vr/om_ships/lunaship.dm +++ b/maps/offmap_vr/om_ships/lunaship.dm @@ -81,7 +81,7 @@ description_info = "Surfluid is a protean's main method of production, using swarms of nanites to process raw materials into finished products at the cost of immense amounts of energy." color = "#222222" outdoors = OUTDOORS_NO - reagent_type = "liquid_protean" + reagent_type = REAGENT_ID_LIQUIDPROTEAN // The 'ship' /obj/effect/overmap/visitable/ship/lunaship diff --git a/maps/om_adventure/grasscave.dm b/maps/om_adventure/grasscave.dm index c52271f59a..43ebe3f49e 100644 --- a/maps/om_adventure/grasscave.dm +++ b/maps/om_adventure/grasscave.dm @@ -64,28 +64,28 @@ var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 3, - "uranium" = 10, - "platinum" = 10, - "hematite" = 20, - "carbon" = 30, - "diamond" = 20, - "gold" = 8, - "silver" = 8, - "phoron" = 18, - "lead" = 5, - "verdantium" = 5)) + ORE_MARBLE = 3, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 20, + ORE_CARBON = 30, + ORE_DIAMOND = 20, + ORE_GOLD = 8, + ORE_SILVER = 8, + ORE_PHORON = 18, + ORE_LEAD = 5, + ORE_VERDANTIUM = 5)) else mineral_name = pickweight(list( - "marble" = 2, - "uranium" = 5, - "platinum" = 5, - "hematite" = 35, - "carbon" = 30, - "gold" = 3, - "silver" = 3, - "phoron" = 25, - "lead" = 1)) + ORE_MARBLE = 2, + ORE_URANIUM = 5, + ORE_PLATINUM = 5, + ORE_HEMATITE = 35, + ORE_CARBON = 30, + ORE_GOLD = 3, + ORE_SILVER = 3, + ORE_PHORON = 25, + ORE_LEAD = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] diff --git a/maps/redgate/cybercity.dmm b/maps/redgate/cybercity.dmm index b5b094ca1b..47af9e58bc 100644 --- a/maps/redgate/cybercity.dmm +++ b/maps/redgate/cybercity.dmm @@ -17409,8 +17409,6 @@ "wIE" = ( /obj/structure/table/steel_reinforced, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/redgate/fantasy_items.dm b/maps/redgate/fantasy_items.dm index 3572b195d0..b94afa32f2 100644 --- a/maps/redgate/fantasy_items.dm +++ b/maps/redgate/fantasy_items.dm @@ -540,7 +540,7 @@ This device records all warnings given and teleport events for admin review in c //locked door /obj/structure/simple_door/dungeon/Initialize(mapload,var/material_name) - ..(mapload, material_name || "cult") + ..(mapload, material_name || MAT_CULT) /obj/structure/simple_door/dungeon/locked locked = TRUE diff --git a/maps/southern_cross/overmap/sectors.dm b/maps/southern_cross/overmap/sectors.dm index c198ecc31c..145e054137 100644 --- a/maps/southern_cross/overmap/sectors.dm +++ b/maps/southern_cross/overmap/sectors.dm @@ -15,8 +15,8 @@ /obj/effect/overmap/visitable/planet/Sif/Initialize() atmosphere = new(CELL_VOLUME) - atmosphere.adjust_gas_temp("oxygen", MOLES_O2STANDARD, 273) - atmosphere.adjust_gas_temp("nitrogen", MOLES_N2STANDARD, 273) + atmosphere.adjust_gas_temp(GAS_O2, MOLES_O2STANDARD, 273) + atmosphere.adjust_gas_temp(GAS_N2, MOLES_N2STANDARD, 273) . = ..() diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index 39266a83d6..e8ec237438 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -13552,14 +13552,8 @@ "aAU" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/steel, /area/construction/firstdeck/construction3) "aAV" = ( @@ -21047,10 +21041,7 @@ pixel_y = 5 }, /obj/item/multitool, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil, /turf/simulated/floor, @@ -37624,14 +37615,8 @@ "bsh" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 @@ -45254,10 +45239,7 @@ /obj/structure/table/steel, /obj/machinery/cell_charger, /obj/item/stack/cable_coil, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, @@ -51587,14 +51569,8 @@ "bRe" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/item/radio/intercom{ dir = 1; name = "Station Intercom (General)"; @@ -51961,14 +51937,8 @@ /obj/item/stack/cable_coil, /obj/item/multitool, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/sparker{ dir = 4; id = "Xenobio"; @@ -55689,10 +55659,7 @@ "bZk" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/tool/wrench, /obj/machinery/status_display{ pixel_y = -32 @@ -56583,14 +56550,8 @@ pixel_x = -12; pixel_y = -24 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/sc/chief) "caZ" = ( @@ -67823,14 +67784,8 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 @@ -76111,10 +76066,7 @@ }, /obj/structure/table/steel, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/machinery/alarm{ dir = 8; pixel_x = 22 @@ -112944,26 +112896,18 @@ /area/maintenance/substation/central) "ebQ" = ( /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/southern_cross/southern_cross-5.dmm b/maps/southern_cross/southern_cross-5.dmm index 5f88b256b9..19ad1c009a 100644 --- a/maps/southern_cross/southern_cross-5.dmm +++ b/maps/southern_cross/southern_cross-5.dmm @@ -18,7 +18,7 @@ "ar" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/shuttle/floor/white,/area/derelict/ship) "as" = (/obj/structure/table/standard,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "at" = (/obj/item/multitool,/turf/simulated/shuttle/floor/white,/area/derelict/ship) -"au" = (/obj/item/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor/white,/area/derelict/ship) +"au" = (/obj/item/cell,/turf/simulated/shuttle/floor/white,/area/derelict/ship) "av" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/plating,/area/derelict/ship) "aw" = (/obj/structure/shuttle/engine/propulsion{ icon_state = "burst_l"; dir = 4},/turf/space,/area/derelict/ship) "ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/derelict/ship) @@ -416,4 +416,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross_areas.dm b/maps/southern_cross/southern_cross_areas.dm index 857f13134e..8d937c2769 100644 --- a/maps/southern_cross/southern_cross_areas.dm +++ b/maps/southern_cross/southern_cross_areas.dm @@ -758,20 +758,20 @@ /area/crew_quarters/heads/sc/ name = "\improper Command - Head Office" icon_state = "head_quarters" - flags = RAD_SHIELDED + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO sound_env = MEDIUM_SOFTFLOOR /area/crew_quarters/heads/sc/hop name = "\improper Command - HoP's Office" icon_state = "head_quarters" holomap_color = HOLOMAP_AREACOLOR_COMMAND - flags = AREA_FLAG_IS_NOT_PERSISTENT + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_FLAG_IS_NOT_PERSISTENT /area/crew_quarters/heads/sc/hor name = "\improper Research - RD's Office" icon_state = "head_quarters" holomap_color = HOLOMAP_AREACOLOR_SCIENCE - flags = AREA_FLAG_IS_NOT_PERSISTENT + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_FLAG_IS_NOT_PERSISTENT /area/crew_quarters/heads/sc/chief name = "\improper Engineering - CE's Office" @@ -787,7 +787,7 @@ name = "\improper Medbay - CMO's Office" icon_state = "head_quarters" holomap_color = HOLOMAP_AREACOLOR_MEDICAL - flags = AREA_FLAG_IS_NOT_PERSISTENT + flags = RAD_SHIELDED | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO | AREA_FLAG_IS_NOT_PERSISTENT /area/engineering/engineer_eva name = "\improper Engineering EVA" diff --git a/maps/stellar_delight/ship_centcom.dmm b/maps/stellar_delight/ship_centcom.dmm index 6a0cd19303..7673783784 100644 --- a/maps/stellar_delight/ship_centcom.dmm +++ b/maps/stellar_delight/ship_centcom.dmm @@ -3084,14 +3084,8 @@ /area/centcom/specops) "kr" = ( /obj/structure/table/standard, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/cell_charger, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, @@ -9289,8 +9283,6 @@ name = "robotics parts" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -9303,20 +9295,14 @@ pixel_y = 4 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/stellar_delight/stellar_delight1.dmm b/maps/stellar_delight/stellar_delight1.dmm index 87e5ba518d..1d6a026bee 100644 --- a/maps/stellar_delight/stellar_delight1.dmm +++ b/maps/stellar_delight/stellar_delight1.dmm @@ -4804,14 +4804,8 @@ /obj/structure/table/steel_reinforced, /obj/item/suit_cooling_unit, /obj/item/suit_cooling_unit, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/effect/floor_decal/milspec/color/red, /obj/item/radio/intercom{ dir = 4; @@ -16141,26 +16135,18 @@ name = "robotics equipment" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -17866,14 +17852,8 @@ "LP" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "LQ" = ( diff --git a/maps/stellar_delight/stellar_delight2.dmm b/maps/stellar_delight/stellar_delight2.dmm index a6d068408d..a31ad48b0b 100644 --- a/maps/stellar_delight/stellar_delight2.dmm +++ b/maps/stellar_delight/stellar_delight2.dmm @@ -21775,19 +21775,10 @@ "Wh" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/tool/wrench, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/workshop) "Wi" = ( @@ -22369,10 +22360,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /turf/simulated/floor/tiled/eris/dark/orangecorner, /area/engineering/engine_eva) "XB" = ( diff --git a/maps/stellar_delight/stellar_delight_turfs.dm b/maps/stellar_delight/stellar_delight_turfs.dm index 6e8e86fb33..8a5454d18e 100644 --- a/maps/stellar_delight/stellar_delight_turfs.dm +++ b/maps/stellar_delight/stellar_delight_turfs.dm @@ -52,30 +52,30 @@ VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/rocks) var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 7, - "uranium" = 10, - "platinum" = 10, - "hematite" = 10, - "carbon" = 10, - "diamond" = 4, - "gold" = 15, - "silver" = 15, - "lead" = 5, - "verdantium" = 2, - "rutile" = 10)) + ORE_MARBLE = 7, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 10, + ORE_CARBON = 10, + ORE_DIAMOND = 4, + ORE_GOLD = 15, + ORE_SILVER = 15, + ORE_LEAD = 5, + ORE_VERDANTIUM = 2, + ORE_RUTILE = 10)) else mineral_name = pickweight(list( - "marble" = 5, - "uranium" = 7, - "platinum" = 7, - "hematite" = 28, - "carbon" = 28, - "diamond" = 2, - "gold" = 7, - "silver" = 7, - "lead" = 4, - "verdantium" = 1, - "rutile" = 10)) + ORE_MARBLE = 5, + ORE_URANIUM = 7, + ORE_PLATINUM = 7, + ORE_HEMATITE = 28, + ORE_CARBON = 28, + ORE_DIAMOND = 2, + ORE_GOLD = 7, + ORE_SILVER = 7, + ORE_LEAD = 4, + ORE_VERDANTIUM = 1, + ORE_RUTILE = 10)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] UpdateMineral() diff --git a/maps/submaps/admin_use_vr/avii_eventMapv2.dmm b/maps/submaps/admin_use_vr/avii_eventMapv2.dmm index 1b0d6685bd..b395d37962 100644 --- a/maps/submaps/admin_use_vr/avii_eventMapv2.dmm +++ b/maps/submaps/admin_use_vr/avii_eventMapv2.dmm @@ -3317,10 +3317,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "pW" = ( @@ -10619,10 +10616,7 @@ "XC" = ( /obj/structure/table/steel, /obj/item/storage/box/lights/mixed, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" diff --git a/maps/submaps/admin_use_vr/dhael_centcom.dmm b/maps/submaps/admin_use_vr/dhael_centcom.dmm index 3fbfffd8c1..23a0e2a93f 100644 --- a/maps/submaps/admin_use_vr/dhael_centcom.dmm +++ b/maps/submaps/admin_use_vr/dhael_centcom.dmm @@ -2597,14 +2597,8 @@ /area/centcom/control) "fl" = ( /obj/structure/table/standard, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/cell_charger, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, @@ -2780,8 +2774,6 @@ name = "robotics parts" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -2794,20 +2786,14 @@ pixel_y = 4 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/submaps/space_rocks/space_rocks.dm b/maps/submaps/space_rocks/space_rocks.dm index 62437676d5..e3df6374f3 100644 --- a/maps/submaps/space_rocks/space_rocks.dm +++ b/maps/submaps/space_rocks/space_rocks.dm @@ -7,28 +7,28 @@ var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 3, - "uranium" = 10, - "platinum" = 10, - "hematite" = 20, - "carbon" = 20, - "diamond" = 1, - "gold" = 8, - "silver" = 8, - "phoron" = 18, - "lead" = 2, - "verdantium" = 1)) + ORE_MARBLE = 3, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 20, + ORE_CARBON = 20, + ORE_DIAMOND = 1, + ORE_GOLD = 8, + ORE_SILVER = 8, + ORE_PHORON = 18, + ORE_LEAD = 2, + ORE_VERDANTIUM = 1)) else mineral_name = pickweight(list( - "marble" = 2, - "uranium" = 5, - "platinum" = 5, - "hematite" = 35, - "carbon" = 35, - "gold" = 3, - "silver" = 3, - "phoron" = 25, - "lead" = 1)) + ORE_MARBLE = 2, + ORE_URANIUM = 5, + ORE_PLATINUM = 5, + ORE_HEMATITE = 35, + ORE_CARBON = 35, + ORE_GOLD = 3, + ORE_SILVER = 3, + ORE_PHORON = 25, + ORE_LEAD = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] @@ -50,4 +50,4 @@ var/static/image/smallone = image(icon = 'icons/skybox/virgo3b.dmi', icon_state = "small") if(zlevel == Z_LEVEL_SPACE_ROCKS) - return smallone \ No newline at end of file + return smallone diff --git a/maps/tether/submaps/tether_centcom.dmm b/maps/tether/submaps/tether_centcom.dmm index 40fe27807d..2bbba0df2b 100644 --- a/maps/tether/submaps/tether_centcom.dmm +++ b/maps/tether/submaps/tether_centcom.dmm @@ -3155,14 +3155,8 @@ /area/centcom/specops) "kr" = ( /obj/structure/table/standard, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/cell_charger, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, @@ -9330,8 +9324,6 @@ name = "robotics parts" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -9344,20 +9336,14 @@ pixel_y = 4 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 52a2a55bdc..e10e40e95a 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -9430,18 +9430,12 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index dd582af7d3..672c5178e6 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -10895,10 +10895,7 @@ /obj/structure/table/reinforced, /obj/item/suit_cooling_unit, /obj/item/suit_cooling_unit, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/machinery/status_display{ pixel_x = 32 }, diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 0dda1b83f0..0538924ee5 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -8237,14 +8237,8 @@ "anA" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/machinery/newscaster{ pixel_y = 30 }, @@ -15024,26 +15018,18 @@ name = "robotics parts" }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, /obj/item/cell/high{ - charge = 100; - maxcharge = 15000; pixel_x = 5; pixel_y = -5 }, @@ -34034,18 +34020,12 @@ pixel_x = 3; pixel_y = -7 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/storage/toolbox/mechanical{ pixel_x = -2; pixel_y = -1 diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index 712a50b3be..5b8e94d52d 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -421,10 +421,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_smes) "aaS" = ( @@ -517,10 +514,7 @@ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_smes) @@ -10385,10 +10379,7 @@ /area/engineering/gravity_gen) "aCf" = ( /obj/structure/table/reinforced, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/machinery/camera/network/engineering, /turf/simulated/floor/tiled, /area/engineering/engine_eva) @@ -10525,22 +10516,13 @@ "aCP" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/tool/wrench, /obj/structure/window/reinforced{ dir = 1 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /turf/simulated/floor/tiled, /area/engineering/workshop) "aCQ" = ( @@ -28841,10 +28823,7 @@ /area/maintenance/substation/civilian) "rxE" = ( /obj/structure/table/steel, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/stack/cable_coil, /obj/machinery/cell_charger{ pixel_y = 5 @@ -32472,14 +32451,8 @@ "vHM" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, +/obj/item/cell/high, /obj/item/stack/cable_coil{ pixel_x = 3; pixel_y = -7 diff --git a/maps/tether/tether_areas.dm b/maps/tether/tether_areas.dm index 3087f997c5..b94fab9a9c 100644 --- a/maps/tether/tether_areas.dm +++ b/maps/tether/tether_areas.dm @@ -997,91 +997,68 @@ icon_state = "recreation_area_restroom" sound_env = SMALL_ENCLOSED +/area/crew_quarters/sleep + flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO + /area/crew_quarters/sleep/maintDorm1 name = "\improper Construction Dorm 1" icon_state = "Sleep" - flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm2 name = "\improper Construction Dorm 2" icon_state = "Sleep" - flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm3 name = "\improper Construction Dorm 3" icon_state = "Sleep" - flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/maintDorm4 name = "\improper Construction Dorm 4" icon_state = "Sleep" - flags = RAD_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_1 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_2 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_3 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_4 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_5 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_6 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_7 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_8 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_9 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_10 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_11 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/vistor_room_12 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_1 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_2 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_3 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_4 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_5 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_6 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_7 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_8 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_9 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_10 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/Dorm_1/holo name = "\improper Dorm 1 Holodeck" @@ -1103,61 +1080,52 @@ name = "\improper Visitor Lodging 1" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm2 name = "\improper Visitor Lodging 2" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm3 name = "\improper Visitor Lodging 3" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/crew_quarters/sleep/spacedorm4 name = "\improper Visitor Lodging 4" icon_state = "dk_yellow" lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING + +/area/holodeck/holodorm + flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING | AREA_FORBID_EVENTS | AREA_FORBID_SINGULO + /area/holodeck/holodorm/source_basic name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_desert name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_seating name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_beach name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_garden name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_boxing name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_snow name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_space name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/holodeck/holodorm/source_off name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED | AREA_SOUNDPROOF | AREA_ALLOW_LARGE_SIZE | AREA_BLOCK_SUIT_SENSORS | AREA_BLOCK_TRACKING /area/ai_core_foyer name = "\improper AI Core Access" diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index 88a4191f8a..f474524c1a 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -23,7 +23,7 @@ if(on) var/datum/gas_mixture/air_sample = return_air() var/pressure = round(air_sample.return_pressure(), 0.1) - var/phoron = ("phoron" in air_sample.gas) ? round(air_sample.gas["phoron"], 0.1) : 0 + var/phoron = (GAS_PHORON in air_sample.gas) ? round(air_sample.gas[GAS_PHORON], 0.1) : 0 if(abs(pressure - previousPressure) > 0.1 || previousPressure == null || abs(phoron - previousPhoron) > 0.1 || previousPhoron == null) var/datum/signal/signal = new @@ -31,7 +31,7 @@ signal.data["tag"] = id_tag signal.data["timestamp"] = world.time signal.data["pressure"] = num2text(pressure) - signal.data["phoron"] = num2text(phoron) + signal.data[GAS_PHORON] = num2text(phoron) radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, radio_filter = RADIO_AIRLOCK) previousPressure = pressure previousPhoron = phoron @@ -176,14 +176,14 @@ if(..()) return 1 if(receive_tag==tag_chamber_sensor) - memory["chamber_sensor_phoron"] = text2num(signal.data["phoron"]) + memory["chamber_sensor_phoron"] = text2num(signal.data[GAS_PHORON]) memory["chamber_sensor_pressure"] = text2num(signal.data["pressure"]) else if(receive_tag==tag_exterior_sensor) - memory["external_sensor_phoron"] = text2num(signal.data["phoron"]) + memory["external_sensor_phoron"] = text2num(signal.data[GAS_PHORON]) else if(receive_tag==tag_interior_sensor) - memory["internal_sensor_phoron"] = text2num(signal.data["phoron"]) + memory["internal_sensor_phoron"] = text2num(signal.data[GAS_PHORON]) else if(receive_tag==tag_scrubber) if(signal.data["power"]) diff --git a/maps/tether/tether_turfs.dm b/maps/tether/tether_turfs.dm index b23fde6a79..ee0ad51dc1 100644 --- a/maps/tether/tether_turfs.dm +++ b/maps/tether/tether_turfs.dm @@ -67,28 +67,28 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 3, - "uranium" = 10, - "platinum" = 10, - "hematite" = 20, - "carbon" = 20, - "diamond" = 1, - "gold" = 8, - "silver" = 8, - "phoron" = 18, - "lead" = 2, - "verdantium" = 1)) + ORE_MARBLE = 3, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 20, + ORE_CARBON = 20, + ORE_DIAMOND = 1, + ORE_GOLD = 8, + ORE_SILVER = 8, + ORE_PHORON = 18, + ORE_LEAD = 2, + ORE_VERDANTIUM = 1)) else mineral_name = pickweight(list( - "marble" = 2, - "uranium" = 5, - "platinum" = 5, - "hematite" = 35, - "carbon" = 35, - "gold" = 3, - "silver" = 3, - "phoron" = 25, - "lead" = 1)) + ORE_MARBLE = 2, + ORE_URANIUM = 5, + ORE_PLATINUM = 5, + ORE_HEMATITE = 35, + ORE_CARBON = 35, + ORE_GOLD = 3, + ORE_SILVER = 3, + ORE_PHORON = 25, + ORE_LEAD = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] UpdateMineral() @@ -100,28 +100,28 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) var/mineral_name if(rare_ore) mineral_name = pickweight(list( - "marble" = 7, - "uranium" = 10, - "platinum" = 10, - "hematite" = 10, - "carbon" = 10, - "diamond" = 4, - "gold" = 15, - "silver" = 15, - "lead" = 5, - "verdantium" = 2)) + ORE_MARBLE = 7, + ORE_URANIUM = 10, + ORE_PLATINUM = 10, + ORE_HEMATITE = 10, + ORE_CARBON = 10, + ORE_DIAMOND = 4, + ORE_GOLD = 15, + ORE_SILVER = 15, + ORE_LEAD = 5, + ORE_VERDANTIUM = 2)) else mineral_name = pickweight(list( - "marble" = 5, - "uranium" = 7, - "platinum" = 7, - "hematite" = 28, - "carbon" = 28, - "diamond" = 2, - "gold" = 7, - "silver" = 7, - "lead" = 4, - "verdantium" = 1)) + ORE_MARBLE = 5, + ORE_URANIUM = 7, + ORE_PLATINUM = 7, + ORE_HEMATITE = 28, + ORE_CARBON = 28, + ORE_DIAMOND = 2, + ORE_GOLD = 7, + ORE_SILVER = 7, + ORE_LEAD = 4, + ORE_VERDANTIUM = 1)) if(mineral_name && (mineral_name in GLOB.ore_data)) mineral = GLOB.ore_data[mineral_name] UpdateMineral() diff --git a/maps/virgo_minitest/virgo_minitest-1.dmm b/maps/virgo_minitest/virgo_minitest-1.dmm index 4a4f717222..de82d5e630 100644 --- a/maps/virgo_minitest/virgo_minitest-1.dmm +++ b/maps/virgo_minitest/virgo_minitest-1.dmm @@ -3371,10 +3371,7 @@ "kr" = ( /obj/structure/table/steel, /obj/item/storage/box/lights/mixed, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /obj/item/paper{ info = "The big blue box recently installed in here is a 'grid checker' which will shut off the power if a dangerous power spike from the engine erupts into the powernet. Shutting everything down protects everything from electrical damage, however the outages can be disruptive to colony operations, so it is designed to restore power after a somewhat significant delay, up to ten minutes or so. The grid checker can be manually hacked in order to end the outage sooner. To do that, you must cut three specific wires which do not cause a red light to shine, then pulse a fourth wire. Electrical protection is highly recommended when doing maintenance on the grid checker."; name = "grid checker info" @@ -4786,10 +4783,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/cell/high{ - charge = 100; - maxcharge = 15000 - }, +/obj/item/cell/high, /turf/simulated/floor/tiled/techmaint, /area/engineering/engine_monitoring) "zf" = ( diff --git a/tgui/global.d.ts b/tgui/global.d.ts index d0bfdecf89..e952f4fadc 100644 --- a/tgui/global.d.ts +++ b/tgui/global.d.ts @@ -132,6 +132,11 @@ type ByondType = { */ parseJson(text: string): any; + /** + * Downloads a blob, platform-agnostic + */ + saveBlob(blob: Blob, filename: string, ext: string): void; + /** * Sends a message to `/datum/tgui_window` which hosts this window instance. */ diff --git a/tgui/package.json b/tgui/package.json index 332f0ec273..3fc8a0c269 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -9,7 +9,7 @@ "scripts": { "tgui:analyze": "webpack --analyze", "tgui:bench": "webpack --env TGUI_BENCH=1 && node packages/tgui-bench/index.js", - "tgui:build": "BROWSERSLIST_IGNORE_OLD_DATA=true webpack", + "tgui:build": "webpack && webpack --config ./webpack.config.edge.js", "tgui:dev": "node --experimental-modules packages/tgui-dev-server/index.js", "tgui:lint": "eslint packages --ext .js,.cjs,.ts,.tsx", "tgui:prettier": "prettier --check .", diff --git a/tgui/packages/tgui-panel/chat/renderer.jsx b/tgui/packages/tgui-panel/chat/renderer.jsx index b62320d515..267d84cd2a 100644 --- a/tgui/packages/tgui-panel/chat/renderer.jsx +++ b/tgui/packages/tgui-panel/chat/renderer.jsx @@ -807,13 +807,13 @@ class ChatRenderer { '\n' + '\n'; // Create and send a nice blob - const blob = new Blob([pageHtml]); + const blob = new Blob([pageHtml], { type: 'text/plain' }); const timestamp = new Date() .toISOString() .substring(0, 19) .replace(/[-:]/g, '') .replace('T', '-'); - window.navigator.msSaveBlob(blob, `ss13-chatlog-${timestamp}.html`); + Byond.saveBlob(blob, `ss13-chatlog-${timestamp}.html`, '.html'); } purgeMessageArchive() { diff --git a/tgui/packages/tgui-panel/index.tsx b/tgui/packages/tgui-panel/index.tsx index 92b7f2e4e3..a4138b67d7 100644 --- a/tgui/packages/tgui-panel/index.tsx +++ b/tgui/packages/tgui-panel/index.tsx @@ -77,14 +77,8 @@ const setupApp = () => { Byond.subscribe((type, payload) => store.dispatch({ type, payload })); // Unhide the panel - Byond.winset('output', { - 'is-visible': false, - }); - Byond.winset('browseroutput', { - 'is-visible': true, - 'is-disabled': false, - pos: '0x0', - size: '0x0', + Byond.winset('legacy_output_selector', { + left: 'output_browser', }); // Resize the panel to match the non-browser output diff --git a/tgui/packages/tgui/interfaces/ICPrinter.tsx b/tgui/packages/tgui/interfaces/ICPrinter.tsx index 61e1b2b9ff..a55199625e 100644 --- a/tgui/packages/tgui/interfaces/ICPrinter.tsx +++ b/tgui/packages/tgui/interfaces/ICPrinter.tsx @@ -40,28 +40,35 @@ export const ICPrinter = (props) => { const { metal, max_metal, metal_per_sheet, upgraded, can_clone } = data; return ( - - -
    - - - - {metal / metal_per_sheet} / {max_metal / metal_per_sheet} sheets - - - - {upgraded ? 'Advanced' : 'Regular'} - - - {can_clone ? 'Available' : 'Unavailable'} - - - - Note: A red component name means that the printer must be upgraded - to create that component. - -
    - + + + + +
    + + + + {metal / metal_per_sheet} / {max_metal / metal_per_sheet}{' '} + sheets + + + + {upgraded ? 'Advanced' : 'Regular'} + + + {can_clone ? 'Available' : 'Unavailable'} + + + + Note: A red component name means that the printer must be + upgraded to create that component. + +
    +
    + + + +
    ); @@ -95,9 +102,9 @@ const ICPrinterCategories = (props) => { )[0]; return ( -
    +
    - + {sortBy(categories, (cat: category) => cat.name).map((cat) => ( { ))} - + {selectedCategory ? ( -
    +
    {sortBy(selectedCategory.items, (item: item) => item.name).map( (item) => ( diff --git a/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx b/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx index 8a5fd9601e..4f6e74d8c1 100644 --- a/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx +++ b/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx @@ -1,5 +1,6 @@ import { BooleanLike } from 'common/react'; import { toTitleCase } from 'common/string'; +import { Stack } from 'tgui-core/components'; import { useBackend } from '../backend'; import { @@ -32,57 +33,67 @@ export const MiningOreProcessingConsole = (props) => { const { unclaimedPoints, power, speed } = data; return ( - + - - - in order to claim points. - - } - /> -
    - - - - } - > - - + + + + in order to claim points. + + } + /> + + +
    act('claim')} - > - Claim - + <> + + + } > - - - -
    - + + act('claim')} + > + Claim + + } + > + + + +
    + + +
    ); @@ -131,6 +142,8 @@ const MOPCOres = (props) => { const { ores, showAllOres } = data; return (
    { ); }; -// "
    " +// "
    " const StockExchangeLogs = (props) => { const { act, data } = useBackend(); diff --git a/tgui/packages/tgui/interfaces/SupplyConsole/SupplyConsoleMenuOrder.tsx b/tgui/packages/tgui/interfaces/SupplyConsole/SupplyConsoleMenuOrder.tsx index 76f81a944a..062331f172 100644 --- a/tgui/packages/tgui/interfaces/SupplyConsole/SupplyConsoleMenuOrder.tsx +++ b/tgui/packages/tgui/interfaces/SupplyConsole/SupplyConsoleMenuOrder.tsx @@ -73,7 +73,7 @@ export const SupplyConsoleMenuOrder = (props) => { color={pack.cost > supply_points ? 'red' : undefined} onClick={() => act('view_crate', { crate: pack.ref })} > - C + Info {pack.cost} points diff --git a/tgui/packages/tgui/interfaces/SupplyConsole/types.ts b/tgui/packages/tgui/interfaces/SupplyConsole/types.ts index 2d4f26c7eb..15c94d3073 100644 --- a/tgui/packages/tgui/interfaces/SupplyConsole/types.ts +++ b/tgui/packages/tgui/interfaces/SupplyConsole/types.ts @@ -18,6 +18,7 @@ export type modalData = { text: string; args: { name: string; + desc: string; cost: number; manifest: string[]; ref: string; @@ -28,6 +29,7 @@ export type modalData = { export type supplyPack = { name: string; + desc: string; cost: number; group: string; contraband: BooleanLike; diff --git a/tgui/packages/tgui/interfaces/SupplyConsole/viewCrateContents.tsx b/tgui/packages/tgui/interfaces/SupplyConsole/viewCrateContents.tsx index 368cc9d37d..55049f4821 100644 --- a/tgui/packages/tgui/interfaces/SupplyConsole/viewCrateContents.tsx +++ b/tgui/packages/tgui/interfaces/SupplyConsole/viewCrateContents.tsx @@ -5,7 +5,7 @@ import { Data, modalData } from './types'; export const viewCrateContents = (modal: modalData) => { const { act, data } = useBackend(); const { supply_points } = data; - const { name, cost, manifest, ref, random } = modal.args; + const { name, cost, desc, manifest, ref, random } = modal.args; return (
    { } > + {desc}
    { const { act, data } = useBackend(); - const { plasma, oxygen } = data; + const { phoron, oxygen } = data; return ( @@ -19,15 +19,15 @@ export const TankDispenser = (props) => { label="Phoron" buttons={ } > - {plasma} + {phoron} | undefined; user_name: string; assignment: string | null; + card_cooldown: number; job_datum: { title: string; departments: string; @@ -37,6 +39,7 @@ export const TimeClock = (props) => { department_hours, user_name, card, + card_cooldown, assignment, job_datum, allow_change_job, @@ -128,6 +131,13 @@ export const TimeClock = (props) => { department_hours[job_datum.pto_department] > 0 && ( ) : ( - '' + + + You do not have any bellysprites. + + )} {tail_option_shown && vore_sprite_flags.includes('Undergarment addition') ? ( diff --git a/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/VoreSelectedMobTypeBellyButtons.tsx b/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/VoreSelectedMobTypeBellyButtons.tsx index 15bf0c2b0f..894e3b4b46 100644 --- a/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/VoreSelectedMobTypeBellyButtons.tsx +++ b/tgui/packages/tgui/interfaces/VorePanel/VoreSelectedBellyTabs/VoreSelectedMobTypeBellyButtons.tsx @@ -1,7 +1,7 @@ import { capitalize } from 'common/string'; +import { useBackend } from 'tgui/backend'; +import { Button, LabeledList, Section } from 'tgui/components'; -import { useBackend } from '../../../backend'; -import { Button, LabeledList, Section } from '../../../components'; import { hostMob, selectedData } from '../types'; export const VoreSelectedMobTypeBellyButtons = (props: { @@ -9,62 +9,43 @@ export const VoreSelectedMobTypeBellyButtons = (props: { host_mobtype: hostMob; }) => { const { act } = useBackend(); - const { belly, host_mobtype } = props; const { silicon_belly_overlay_preference, - belly_mob_mult, - belly_item_mult, - belly_overall_mult, + belly_sprite_option_shown, + belly_sprite_to_affect, } = belly; const { is_cyborg, is_vore_simple_mob } = host_mobtype; if (is_cyborg) { - return ( -
    - - - - - - - - - - - - - - -
    - ); + if (belly_sprite_option_shown && belly_sprite_to_affect === 'sleeper') { + return ( +
    + + + + + +
    + ); + } else { + return ( +
    + + Your module does either not support vore sprites or you've + selected a belly sprite other than the sleeper within the Visuals + section. + +
    + ); + } } else if (is_vore_simple_mob) { return ( // For now, we're only returning empty. TODO: Simple mob belly controls diff --git a/tgui/public/tgui.html b/tgui/public/tgui.html index b0cd9e6500..476d48763c 100644 --- a/tgui/public/tgui.html +++ b/tgui/public/tgui.html @@ -1,644 +1,702 @@ + - - + + - - - + + + - - + + + @keyframes FatalError__shadow { + 0% { + left: -2px; + text-shadow: 4px 0 #f0f; + } - + 50% { + left: 0px; + text-shadow: 0px 0 #0ff; + } + + 100% { + left: 2px; + text-shadow: -4px 0 #ff0; + } + } + + @keyframes FatalError__tfmX { + 0% { + left: 15px; + } + + 100% { + left: -15px; + } + } + + @keyframes FatalError__tfmY { + 100% { + top: -15px; + } + } + + + + - - - - - - + + + + + + - -
    + +
    - -
    - - -A fatal exception has occurred at 002B:C562F1B7 in TGUI. -The current application will be terminated. -Send the copy of the following stack trace to an authorized -Nanotrasen incident handler at https://github.com/VOREStation/VOREStation. -Thank you for your cooperation. - -
    - -
    - -