From 662aba8e00ec63b20e5b65157b7398b99e7c541e Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Thu, 12 Dec 2024 18:04:52 +0100 Subject: [PATCH 01/32] added lipoifium --- GainStation13/code/__DEFINES/atmospherics.dm | 1 + .../code/modules/atmospherics/auxgm/gas_types.dm | 4 ++++ .../atmospherics/gasmixtures/reactions.dm | 16 ++++++++++++++++ tgstation.dme | 3 +++ 4 files changed, 24 insertions(+) create mode 100644 GainStation13/code/__DEFINES/atmospherics.dm create mode 100644 GainStation13/code/modules/atmospherics/auxgm/gas_types.dm create mode 100644 GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm diff --git a/GainStation13/code/__DEFINES/atmospherics.dm b/GainStation13/code/__DEFINES/atmospherics.dm new file mode 100644 index 0000000000..6943c06b29 --- /dev/null +++ b/GainStation13/code/__DEFINES/atmospherics.dm @@ -0,0 +1 @@ +#define GAS_FAT "lipoifium" diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm new file mode 100644 index 0000000000..6c5f6dc048 --- /dev/null +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -0,0 +1,4 @@ +/datum/gas/lipoifium + id = GAS_FAT + specific_heat = 20 + name = "Lipoifium" diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm new file mode 100644 index 0000000000..bc84827e54 --- /dev/null +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -0,0 +1,16 @@ +/datum/gas_reaction/lipoifium_formation + priority = 12345 + name = "Lipoifium Formation" + id = "lipoifium_formation" + +/datum/gas_reaction/lipoifium_formation/init_reqs() + min_requirements = list( + GAS_PLASMA = 20, + GAS_N2 = 20 + ) + +/datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) + //var/temperature = air.return_temperature() + air.adjust_moles(GAS_FAT, 1) + air.adjust_moles(GAS_PLASMA, -1) + air.adjust_moles(GAS_N2, -1) diff --git a/tgstation.dme b/tgstation.dme index 6255779b05..e64ca33ff5 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4238,4 +4238,7 @@ #include "modular_citadel\code\modules\vectorcrafts\vectorcraft.dm" #include "modular_citadel\code\modules\vectorcrafts\vectortruck.dm" #include "modular_citadel\code\modules\vectorcrafts\vectorvariants.dm" +#include "GainStation13\code\__DEFINES\atmospherics.dm" +#include "GainStation13\code\modules\atmospherics\auxgm\gas_types.dm" +#include "GainStation13\code\modules\atmospherics\gasmixtures\reactions.dm" // END_INCLUDE From fc95da1557e8ace3db1a2c3c69260f55e7f3755b Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Thu, 12 Dec 2024 19:56:29 +0100 Subject: [PATCH 02/32] added TODO's --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index bc84827e54..79776a9ee4 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -1,16 +1,17 @@ /datum/gas_reaction/lipoifium_formation - priority = 12345 + priority = 12345 // TODO: change this shit name = "Lipoifium Formation" id = "lipoifium_formation" /datum/gas_reaction/lipoifium_formation/init_reqs() - min_requirements = list( + min_requirements = list(// TODO: change this shit GAS_PLASMA = 20, GAS_N2 = 20 ) /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) //var/temperature = air.return_temperature() + // TODO: figure out what the fuck adjust_moles do air.adjust_moles(GAS_FAT, 1) air.adjust_moles(GAS_PLASMA, -1) air.adjust_moles(GAS_N2, -1) From 74a33d5c7c31d397357a0b7bf90cf8df5ff8a2af Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Thu, 12 Dec 2024 19:56:52 +0100 Subject: [PATCH 03/32] added lipoifium breathing --- GainStation13/code/mechanics/lipoifium.dm | 14 ++++++++++++++ tgstation.dme | 1 + 2 files changed, 15 insertions(+) create mode 100644 GainStation13/code/mechanics/lipoifium.dm diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm new file mode 100644 index 0000000000..55a03ae3cb --- /dev/null +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -0,0 +1,14 @@ +/obj/item/organ/lungs/proc/lipoifium_breathing(datum/gas_mixture/breath, mob/living/carbon/human/H) + if(breath) + var/pressure = breath.return_pressure() + var/total_moles = breath.total_moles() + #define PP_MOLES(X) ((X / total_moles) * pressure) + #define PP(air, gas) PP_MOLES(air.get_moles(gas)) + var/gas_breathed = PP(breath, GAS_FAT) + if(gas_breathed > 0) + H.adjust_fatness(5 * gas_breathed) + breath.adjust_moles(GAS_FAT, -5 * gas_breathed) + +/obj/item/organ/lungs/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) + lipoifium_breathing(breath, H) + . = ..() diff --git a/tgstation.dme b/tgstation.dme index e64ca33ff5..50c6214c03 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4241,4 +4241,5 @@ #include "GainStation13\code\__DEFINES\atmospherics.dm" #include "GainStation13\code\modules\atmospherics\auxgm\gas_types.dm" #include "GainStation13\code\modules\atmospherics\gasmixtures\reactions.dm" +#include "GainStation13\code\mechanics\lipoifium.dm" // END_INCLUDE From bab6f16e9dbfb06811cb1a3deb5858b44ecac778 Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Fri, 13 Dec 2024 13:38:20 +0100 Subject: [PATCH 04/32] added odor and overlay hopefully --- GainStation13/code/mechanics/lipoifium.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm index 55a03ae3cb..858e93e5be 100644 --- a/GainStation13/code/mechanics/lipoifium.dm +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -6,8 +6,10 @@ #define PP(air, gas) PP_MOLES(air.get_moles(gas)) var/gas_breathed = PP(breath, GAS_FAT) if(gas_breathed > 0) - H.adjust_fatness(5 * gas_breathed) - breath.adjust_moles(GAS_FAT, -5 * gas_breathed) + // investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) + // message_admins("gas breathed is: [gas_breathed]") + H.adjust_fatness(gas_breathed) + breath.adjust_moles(GAS_FAT, -gas_breathed) /obj/item/organ/lungs/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) lipoifium_breathing(breath, H) From 2e19d2d97cc7c7077aa7ba19ba129af2b47777cb Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Fri, 13 Dec 2024 13:38:51 +0100 Subject: [PATCH 05/32] added odor and overlay hopefully --- GainStation13/code/modules/atmospherics/auxgm/gas_types.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm index 6c5f6dc048..6c20216ef5 100644 --- a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -2,3 +2,8 @@ id = GAS_FAT specific_heat = 20 name = "Lipoifium" + moles_visible = MOLES_GAS_VISIBLE + // gas_overlay = "miasma" + color = "#963" + odor = "lard" + From f5717c43b57938ad212529b0ff05aefec65558f0 Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Sat, 14 Dec 2024 19:54:44 +0100 Subject: [PATCH 06/32] changed requirements from plasma and N2 to BZ and trit --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index 79776a9ee4..0057a6e6fb 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -5,8 +5,8 @@ /datum/gas_reaction/lipoifium_formation/init_reqs() min_requirements = list(// TODO: change this shit - GAS_PLASMA = 20, - GAS_N2 = 20 + GAS_BZ = 15, + GAS_TRITIUM = 15 ) /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) From 960d69e9d36e4fdc9fc4d5b741d68675b41ba52f Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Sat, 14 Dec 2024 20:40:47 +0100 Subject: [PATCH 07/32] multiplied weight gain by five and made the code more readeable (?) --- GainStation13/code/mechanics/lipoifium.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm index 858e93e5be..1d2c561027 100644 --- a/GainStation13/code/mechanics/lipoifium.dm +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -3,12 +3,13 @@ var/pressure = breath.return_pressure() var/total_moles = breath.total_moles() #define PP_MOLES(X) ((X / total_moles) * pressure) - #define PP(air, gas) PP_MOLES(air.get_moles(gas)) - var/gas_breathed = PP(breath, GAS_FAT) + var/gas_breathed = PP_MOLES(breath.get_moles(GAS_FAT)) + // #define PP(air, gas) PP_MOLES(air.get_moles(gas)) + // var/gas_breathed = PP(breath, GAS_FAT) if(gas_breathed > 0) // investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) // message_admins("gas breathed is: [gas_breathed]") - H.adjust_fatness(gas_breathed) + H.adjust_fatness(5 * gas_breathed) breath.adjust_moles(GAS_FAT, -gas_breathed) /obj/item/organ/lungs/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) From 401262174658ba1eb7a9248c52d705cd34311022 Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Sat, 14 Dec 2024 20:56:21 +0100 Subject: [PATCH 08/32] Added atmos gasses WG option --- GainStation13/code/modules/client/preferences/preferences.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index 28bc61c2a1..4919d3703e 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -15,6 +15,8 @@ var/weight_gain_viruses = FALSE ///Weight gain from nanites var/weight_gain_nanites = FALSE + //Weight gain from atmos gasses + var/weight_gain_atmos = FALSE ///Blueberry Inflation var/blueberry_inflation = FALSE ///Extreme weight gain From ac2af85ffd8042b173206235b4b5505eff2fa277 Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Sat, 14 Dec 2024 21:02:58 +0100 Subject: [PATCH 09/32] added atmos WG prefs --- code/modules/client/preferences.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 47cf57175b..060bd31a1c 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1411,6 +1411,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Magic:[weight_gain_magic == TRUE ? "Enabled" : "Disabled"]
" dat += "Viruses:[weight_gain_viruses == TRUE ? "Enabled" : "Disabled"]
" dat += "Nanites:[weight_gain_nanites == TRUE ? "Enabled" : "Disabled"]
" + dat += "Atmos gasses:[weight_gain_atmos == TRUE ? "Enabled" : "Disabled"]
" dat += "" dat +="" @@ -3458,6 +3459,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) weight_gain_viruses = !weight_gain_viruses if("weight_gain_nanites") weight_gain_nanites = !weight_gain_nanites + if("weight_gain_atmos") + weight_gain_atmos = !weight_gain_atmos if("weight_gain_extreme") weight_gain_extreme = !weight_gain_extreme if("weight_gain_persistent") From 00b06c66b6c08c6e0b6049d3e03727cb3df83412 Mon Sep 17 00:00:00 2001 From: Swan <122107181+NiceNiceSwan@users.noreply.github.com> Date: Sat, 14 Dec 2024 21:16:15 +0100 Subject: [PATCH 10/32] added atmos WG prefs --- GainStation13/code/mechanics/fatness.dm | 4 ++++ GainStation13/code/mechanics/lipoifium.dm | 6 ++---- code/__DEFINES/misc.dm | 1 + code/modules/client/preferences_savefile.dm | 2 ++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm index f845f50b68..b2c370571f 100644 --- a/GainStation13/code/mechanics/fatness.dm +++ b/GainStation13/code/mechanics/fatness.dm @@ -124,6 +124,10 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/command/bridge, /area/mainten if(!client?.prefs?.weight_gain_nanites) return FALSE + if(FATTENING_TYPE_ATMOS) + if(!client?.prefs?.weight_gain_atmos) + return FALSE + if(FATTENING_TYPE_WEIGHT_LOSS) if(HAS_TRAIT(src, TRAIT_WEIGHT_LOSS_IMMUNE)) return FALSE diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm index 1d2c561027..bca6497c9e 100644 --- a/GainStation13/code/mechanics/lipoifium.dm +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -3,13 +3,11 @@ var/pressure = breath.return_pressure() var/total_moles = breath.total_moles() #define PP_MOLES(X) ((X / total_moles) * pressure) - var/gas_breathed = PP_MOLES(breath.get_moles(GAS_FAT)) + var/gas_breathed = PP_MOLES(breath.get_moles(GAS_FAT)) // this does the same thing as the bit below but I think this is more readable // #define PP(air, gas) PP_MOLES(air.get_moles(gas)) // var/gas_breathed = PP(breath, GAS_FAT) if(gas_breathed > 0) - // investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO) - // message_admins("gas breathed is: [gas_breathed]") - H.adjust_fatness(5 * gas_breathed) + H.adjust_fatness(5 * gas_breathed, FATTENING_TYPE_ATMOS) breath.adjust_moles(GAS_FAT, -gas_breathed) /obj/item/organ/lungs/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index e10e19c1c5..d914f07c15 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -593,6 +593,7 @@ GLOBAL_LIST_INIT(pda_reskins, list( #define FATTENING_TYPE_MAGIC "magic" #define FATTENING_TYPE_VIRUS "virus" #define FATTENING_TYPE_NANITES "nanites" +#define FATTENING_TYPE_ATMOS "atmos" // yeah I'm taking the name atmos instead of gasses, because fuck you I'm not calling my pref "inflation type gas", some people will get confused, if you wanna do inflation just call it that lol #define FATTENING_TYPE_RADIATIONS "radiations" #define FATTENING_TYPE_WEIGHT_LOSS "weight_loss" #define FATTENING_TYPE_ALMIGHTY "almighty" //This ignores prefs, please only use this for smites and other admin controlled instances. diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index df44203998..09e7a10661 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -925,6 +925,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["weight_gain_magic"] >> weight_gain_magic S["weight_gain_viruses"] >> weight_gain_viruses S["weight_gain_nanites"] >> weight_gain_nanites + S["weight_gain_atmos"] >> weight_gain_atmos S["weight_gain_weapons"] >> weight_gain_weapons S["weight_gain_extreme"] >> weight_gain_extreme S["weight_gain_persistent"] >> weight_gain_persistent @@ -1220,6 +1221,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["weight_gain_magic"], weight_gain_magic) WRITE_FILE(S["weight_gain_viruses"], weight_gain_viruses) WRITE_FILE(S["weight_gain_nanites"], weight_gain_nanites) + WRITE_FILE(S["weight_gain_atmos"], weight_gain_atmos) WRITE_FILE(S["weight_gain_chems"], weight_gain_chems) WRITE_FILE(S["weight_gain_weapons"], weight_gain_weapons) WRITE_FILE(S["weight_gain_extreme"], weight_gain_extreme) From 7bcb2727ea74b3bb84c90b75524e7d8975495cca Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 14:41:57 +0100 Subject: [PATCH 11/32] added lipoifium canister --- code/modules/atmospherics/machinery/portable/canister.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 4432b497d0..18b07095bf 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -61,6 +61,7 @@ "miasma" = /obj/machinery/portable_atmospherics/canister/miasma, "methane" = /obj/machinery/portable_atmospherics/canister/methane, "methyl bromide" = /obj/machinery/portable_atmospherics/canister/methyl_bromide + "lipoifium" = /obj/machinery/portable_atmospherics/canister/lipoifium ) /obj/machinery/portable_atmospherics/canister/interact(mob/user) @@ -167,6 +168,12 @@ icon_state = "purplecyan" gas_type = GAS_METHYL_BROMIDE +/obj/machinery/portable_atmospherics/canister/lipoifium + name = "lipoifium canister" + desc = "Lipoifium. Inhaling causes quick buildup of adipose in one's body." + icon_state = "yellowblack" + gas_type = GAS_FAT + /obj/machinery/portable_atmospherics/canister/proc/get_time_left() if(timing) . = round(max(0, valve_timer - world.time) / 10, 1) From 283a8fcedb44fd6ef6c3bb80054bd33a29cd36dd Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:33:47 +0100 Subject: [PATCH 12/32] moved the includes (don't know how it did this, it happened by itself...) --- tgstation.dme | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index 50c6214c03..29796f6586 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3922,6 +3922,7 @@ #include "code\modules\VR\vr_sleeper.dm" #include "code\modules\zombie\items.dm" #include "code\modules\zombie\organs.dm" +#include "GainStation13\code\__DEFINES\atmospherics.dm" #include "GainStation13\code\__HELPERS\global_lists.dm" #include "GainStation13\code\__HELPERS\transformation.dm" #include "GainStation13\code\clothing\accessory.dm" @@ -3986,6 +3987,7 @@ #include "GainStation13\code\mechanics\fattening_trap.dm" #include "GainStation13\code\mechanics\helplessness.dm" #include "GainStation13\code\mechanics\infestation.dm" +#include "GainStation13\code\mechanics\lipoifium.dm" #include "GainStation13\code\mechanics\metal_cruncher.dm" #include "GainStation13\code\mechanics\permanent_fat.dm" #include "GainStation13\code\mechanics\recipes.dm" @@ -4005,6 +4007,9 @@ #include "GainStation13\code\mobs\emote.dm" #include "GainStation13\code\mobs\races\caloritegolem.dm" #include "GainStation13\code\modules\arousal\arousal.dm" +#include "GainStation13\code\modules\atmospherics\auxgm\gas_types.dm" +#include "GainStation13\code\modules\atmospherics\gasmixtures\reactions.dm" +#include "GainStation13\code\modules\atmospherics\machinery\portable\canister.dm" #include "GainStation13\code\modules\cargo\packs.dm" #include "GainStation13\code\modules\client\border_control.dm" #include "GainStation13\code\modules\client\loadout\head.dm" @@ -4238,8 +4243,4 @@ #include "modular_citadel\code\modules\vectorcrafts\vectorcraft.dm" #include "modular_citadel\code\modules\vectorcrafts\vectortruck.dm" #include "modular_citadel\code\modules\vectorcrafts\vectorvariants.dm" -#include "GainStation13\code\__DEFINES\atmospherics.dm" -#include "GainStation13\code\modules\atmospherics\auxgm\gas_types.dm" -#include "GainStation13\code\modules\atmospherics\gasmixtures\reactions.dm" -#include "GainStation13\code\mechanics\lipoifium.dm" // END_INCLUDE From db570bcd55f2fc4d96509e7b01db356a89e0e109 Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:34:28 +0100 Subject: [PATCH 13/32] added GS13 edit comments, removed lipoifium canister class and added icon change fix --- .../atmospherics/machinery/portable/canister.dm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 18b07095bf..0c940d250d 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -60,8 +60,10 @@ "caution" = /obj/machinery/portable_atmospherics/canister, "miasma" = /obj/machinery/portable_atmospherics/canister/miasma, "methane" = /obj/machinery/portable_atmospherics/canister/methane, - "methyl bromide" = /obj/machinery/portable_atmospherics/canister/methyl_bromide - "lipoifium" = /obj/machinery/portable_atmospherics/canister/lipoifium + "methyl bromide" = /obj/machinery/portable_atmospherics/canister/methyl_bromide, + // GS13 - edit + "lipoifium" = /obj/machinery/portable_atmospherics/canister/lipoifium // :D + //GS13 - end edit ) /obj/machinery/portable_atmospherics/canister/interact(mob/user) @@ -168,12 +170,6 @@ icon_state = "purplecyan" gas_type = GAS_METHYL_BROMIDE -/obj/machinery/portable_atmospherics/canister/lipoifium - name = "lipoifium canister" - desc = "Lipoifium. Inhaling causes quick buildup of adipose in one's body." - icon_state = "yellowblack" - gas_type = GAS_FAT - /obj/machinery/portable_atmospherics/canister/proc/get_time_left() if(timing) . = round(max(0, valve_timer - world.time) / 10, 1) @@ -403,6 +399,9 @@ investigate_log("was relabelled to [initial(replacement.name)] by [key_name(usr)].", INVESTIGATE_ATMOS) name = initial(replacement.name) desc = initial(replacement.desc) + // GS13 - edit + icon = initial(replacement.icon) // GS13 - added for the canister to change the icon file + // GS13 - end edit icon_state = initial(replacement.icon_state) if("restricted") restricted = !restricted From 9dc705805f9bdcee8d74bca27a78e7350b663c6a Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:34:49 +0100 Subject: [PATCH 14/32] added lipoifium --- .../modules/atmospherics/machinery/portable/canister.dm | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 GainStation13/code/modules/atmospherics/machinery/portable/canister.dm diff --git a/GainStation13/code/modules/atmospherics/machinery/portable/canister.dm b/GainStation13/code/modules/atmospherics/machinery/portable/canister.dm new file mode 100644 index 0000000000..edfe243db5 --- /dev/null +++ b/GainStation13/code/modules/atmospherics/machinery/portable/canister.dm @@ -0,0 +1,6 @@ +/obj/machinery/portable_atmospherics/canister/lipoifium + name = "lipoifium canister" + desc = "Lipoifium. Inhaling causes quick buildup of adipose in one's body." + icon = 'GainStation13/icons/obj/atmos.dmi' + icon_state = "yellowblack" + gas_type = GAS_FAT From 065fc5c7da9373f210af21286aa46e183b8717cb Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:35:01 +0100 Subject: [PATCH 15/32] added textures --- GainStation13/icons/obj/atmos.dmi | Bin 0 -> 711 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 GainStation13/icons/obj/atmos.dmi diff --git a/GainStation13/icons/obj/atmos.dmi b/GainStation13/icons/obj/atmos.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f884f6ce7999d5c693331b26372e4f4f25bf9c13 GIT binary patch literal 711 zcmV;&0yzDNP)HNJs#$uK;mz0Jyj?a{vHdQ~&^805mi-00011R#s-2GiJ;)W@Z3ew=6C$ z03ZMW2mk<5QUJwA;`{&r00DGTPE!Ct=GbNc004w~R9JLGWpiV4X>fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBS zGBqbBzdR`?F*#d_i!&v&s2C_}$iNFLvJIxT3`lSVBY&*55Nx-H#fHN%v-c16Ufk}XIoBSMLpTacY ze7;<+S3U3G1(>+GEHGuGL_ z94wA_2ve1KgSzVg4}lluoXPtG00|I)q(=ZHRnBU=^Z*bnhV@ftoe|&eFd_h8X59e7 z`wq|#;{=dJ-sv7-kwfNEs%0uKIliCMbSsRKyQ#Z4)7%_zkyLM?>~82^7Tmrf|VL(A8dtL3aJ tVHt}EFDbv{IM*sv=tz0#_=EC)`T_`)9L|P*p}GJ7002ovPDHLkV1g5@Czk*K literal 0 HcmV?d00001 From 9d4bedb0d15c576b678e978b5298b718a15bd6ed Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:48:51 +0100 Subject: [PATCH 16/32] changed color to be the same as lipoifier, added odor strength --- GainStation13/code/modules/atmospherics/auxgm/gas_types.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm index 6c20216ef5..9366047c3c 100644 --- a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -4,6 +4,7 @@ name = "Lipoifium" moles_visible = MOLES_GAS_VISIBLE // gas_overlay = "miasma" - color = "#963" + color = "#e2e1b1" odor = "lard" + odor_strength = 5 From 5408a7b72e055f934343f6c5439457b55671b20b Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 16:57:30 +0100 Subject: [PATCH 17/32] changed comments --- GainStation13/code/modules/atmospherics/auxgm/gas_types.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm index 9366047c3c..243a6b030a 100644 --- a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -3,8 +3,7 @@ specific_heat = 20 name = "Lipoifium" moles_visible = MOLES_GAS_VISIBLE - // gas_overlay = "miasma" color = "#e2e1b1" odor = "lard" - odor_strength = 5 + odor_strength = 20 // TODO: doesn't work for now From 77d1f0f43f98cf83a99882351c10559521129837 Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 17:13:16 +0100 Subject: [PATCH 18/32] changed odor_strength to 2 but it STILL DOESN'T WORK WHY DOESN'T IT WOOOOOOORK?! --- GainStation13/code/modules/atmospherics/auxgm/gas_types.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm index 243a6b030a..86b8d6ca1d 100644 --- a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -5,5 +5,5 @@ moles_visible = MOLES_GAS_VISIBLE color = "#e2e1b1" odor = "lard" - odor_strength = 20 // TODO: doesn't work for now + odor_strength = 2 // TODO: doesn't work for now From 7a779f389f3567afcff37908a295760c6239c424 Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 17:18:17 +0100 Subject: [PATCH 19/32] made priority a sane number, added max reaction temp, changed comments --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index 0057a6e6fb..b36520cd38 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -1,17 +1,17 @@ /datum/gas_reaction/lipoifium_formation - priority = 12345 // TODO: change this shit + priority = 7 name = "Lipoifium Formation" id = "lipoifium_formation" /datum/gas_reaction/lipoifium_formation/init_reqs() - min_requirements = list(// TODO: change this shit + min_requirements = list( + "MAX_TEMP" = 100 GAS_BZ = 15, GAS_TRITIUM = 15 ) /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) - //var/temperature = air.return_temperature() - // TODO: figure out what the fuck adjust_moles do + // TODO: make the reaction exothermic, and make it more efficient at lower temperatures air.adjust_moles(GAS_FAT, 1) air.adjust_moles(GAS_PLASMA, -1) air.adjust_moles(GAS_N2, -1) From c84583f8177d2c6a990472d7b56e30365ce64687 Mon Sep 17 00:00:00 2001 From: Swan Date: Sun, 15 Dec 2024 19:33:33 +0100 Subject: [PATCH 20/32] fixed an error --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index b36520cd38..a68553cf8e 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -5,7 +5,7 @@ /datum/gas_reaction/lipoifium_formation/init_reqs() min_requirements = list( - "MAX_TEMP" = 100 + "MAX_TEMP" = 100, GAS_BZ = 15, GAS_TRITIUM = 15 ) From ba9e7f8f25104efa61cefd4eb2d45458e5e3fd81 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Sun, 15 Dec 2024 21:50:15 +0100 Subject: [PATCH 21/32] made the reaction exothermic, added efficiency based on temperature --- .../atmospherics/gasmixtures/reactions.dm | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index a68553cf8e..ce34e8909b 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -12,6 +12,20 @@ /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) // TODO: make the reaction exothermic, and make it more efficient at lower temperatures - air.adjust_moles(GAS_FAT, 1) - air.adjust_moles(GAS_PLASMA, -1) - air.adjust_moles(GAS_N2, -1) + var/temperature = air.return_temperature() + var/reaction_efficiency = 0 + if (temperature <= 5) + reaction_efficiency = 1 + else if (temperature >= 100) + return NO_REACTION + else + reaction_efficiency = -((temperature - 5) / 95) + 1 // will equal 1 at 5 kelvin, and will linearly fall until 0 at 100k + + var/energy_released = reaction_efficiency*FIRE_CARBON_ENERGY_RELEASED + air.adjust_moles(GAS_FAT, reaction_efficiency) + air.adjust_moles(GAS_PLASMA, -reaction_efficiency / 2) + air.adjust_moles(GAS_N2, -reaction_efficiency / 2) + var/heat_capacity = air.heat_capacity() + air.set_temperature(max(temperature + energy_released / heat_capacity, TCMB)) + + return REACTING From 1d8f9f9d31244e6d00e14bf4bcdf928982db0b66 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Mon, 16 Dec 2024 19:46:03 +0100 Subject: [PATCH 22/32] made it so it doesn't blob you out immediately --- GainStation13/code/mechanics/lipoifium.dm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm index bca6497c9e..aba3c24bcd 100644 --- a/GainStation13/code/mechanics/lipoifium.dm +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -2,13 +2,22 @@ if(breath) var/pressure = breath.return_pressure() var/total_moles = breath.total_moles() + var/lipoifium_moles = breath.get_moles(GAS_FAT) #define PP_MOLES(X) ((X / total_moles) * pressure) - var/gas_breathed = PP_MOLES(breath.get_moles(GAS_FAT)) // this does the same thing as the bit below but I think this is more readable + var/gas_breathed = PP_MOLES(lipoifium_moles) // this does the same thing as the bit below but I think this is more readable // #define PP(air, gas) PP_MOLES(air.get_moles(gas)) // var/gas_breathed = PP(breath, GAS_FAT) if(gas_breathed > 0) - H.adjust_fatness(5 * gas_breathed, FATTENING_TYPE_ATMOS) + // listen I know I can debug this but sometimes having this show up in chat without a pause is more convenient + // message_admins("Lipoifium pp is [gas_breathed]") + // message_admins("Lipoifium moles are [lipoifium_moles]") + H.adjust_fatness(2 * gas_breathed, FATTENING_TYPE_ATMOS) breath.adjust_moles(GAS_FAT, -gas_breathed) + // TODO: the entire code below is a workaround for default odor not working + var/smell_chance = min(lipoifium_moles * 100 / total_moles, 20) + if(prob(smell_chance)) + to_chat(owner, "You can smell lard.") + /obj/item/organ/lungs/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) lipoifium_breathing(breath, H) From 900f825272f5950a15f70964ee30ab078bc8f962 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Mon, 16 Dec 2024 20:45:56 +0100 Subject: [PATCH 23/32] adjusted odor strength and odor, if someone ever sees it, we will know --- GainStation13/code/modules/atmospherics/auxgm/gas_types.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm index 86b8d6ca1d..16d4690100 100644 --- a/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm +++ b/GainStation13/code/modules/atmospherics/auxgm/gas_types.dm @@ -4,6 +4,6 @@ name = "Lipoifium" moles_visible = MOLES_GAS_VISIBLE color = "#e2e1b1" - odor = "lard" - odor_strength = 2 // TODO: doesn't work for now + odor = "that this is a function that wasn't working, but it now, for some reason, is. You should speak to the gods about this and the conditions under which it happened" + odor_strength = 1 // TODO: doesn't work for now From 4ca74f52346d866e6d1bfac82fe84b8aa63bdbe7 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Mon, 16 Dec 2024 20:54:44 +0100 Subject: [PATCH 24/32] described the odor problem --- GainStation13/code/mechanics/lipoifium.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/lipoifium.dm index aba3c24bcd..f376645b05 100644 --- a/GainStation13/code/mechanics/lipoifium.dm +++ b/GainStation13/code/mechanics/lipoifium.dm @@ -14,6 +14,10 @@ H.adjust_fatness(2 * gas_breathed, FATTENING_TYPE_ATMOS) breath.adjust_moles(GAS_FAT, -gas_breathed) // TODO: the entire code below is a workaround for default odor not working + // The problem seems to be auxmos'es get_gasses function not acknowledging that lipoifium exists + // which is strange, considering that everything else regarding this gas and auxmos works + // I do not know what kind of spaghetti coding must be going on there, but I pray god has in his + // care the poor sods who have to work on that var/smell_chance = min(lipoifium_moles * 100 / total_moles, 20) if(prob(smell_chance)) to_chat(owner, "You can smell lard.") From 5ceedf1b584f9bb115af8f4c2037f145ebc52ae3 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 08:06:06 +0100 Subject: [PATCH 25/32] changed the name of lipoifium file to fattening gasses because I will be adding more --- .../code/mechanics/{lipoifium.dm => fattening_gasses.dm} | 0 tgstation.dme | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename GainStation13/code/mechanics/{lipoifium.dm => fattening_gasses.dm} (100%) diff --git a/GainStation13/code/mechanics/lipoifium.dm b/GainStation13/code/mechanics/fattening_gasses.dm similarity index 100% rename from GainStation13/code/mechanics/lipoifium.dm rename to GainStation13/code/mechanics/fattening_gasses.dm diff --git a/tgstation.dme b/tgstation.dme index 982f5ba153..9f77448603 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3987,7 +3987,7 @@ #include "GainStation13\code\mechanics\fattening_trap.dm" #include "GainStation13\code\mechanics\helplessness.dm" #include "GainStation13\code\mechanics\infestation.dm" -#include "GainStation13\code\mechanics\lipoifium.dm" +#include "GainStation13/code/mechanics/fattening_gasses.dm" #include "GainStation13\code\mechanics\metal_cruncher.dm" #include "GainStation13\code\mechanics\permanent_fat.dm" #include "GainStation13\code\mechanics\recipes.dm" From 4651d639e9bfb5c398cad39226f9dec9769a7f68 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 09:45:59 +0100 Subject: [PATCH 26/32] added canister overlays. One day I'll move them around --- GainStation13/icons/obj/atmos.dmi | Bin 711 -> 2068 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/GainStation13/icons/obj/atmos.dmi b/GainStation13/icons/obj/atmos.dmi index f884f6ce7999d5c693331b26372e4f4f25bf9c13..4952aa314624ec6809c4377fa4a5ea8eafe2546a 100644 GIT binary patch literal 2068 zcmZ{lXIRpU9>@QP<;a!d9;w+i8?Ng-&WuvXRVv~MLq!~^Wria#R8lEzxU;fhl$54P zIWo7n$C2tG5=>AWr6S%_ILVGZ_r-mld(VCG{e542pWpYz=gs$;ueZCrtd=YQ0P-*o z=&5ZF`6cO{+jpuo*>2nF@%~606nhbq5FL+;K7S4XQp#?O(qy~LAv+lM>pAYti0D&N zy01KPaZx`FDtuI~!(gPRX~IW#0sSkcWrWG%_$AXH(gMZ@_3Wq?Fo=BFYap!R$q`q& z$-Ahf-!8j(S{g|2N7Q{Z3p~iAJPNloAOXh*4)+@q&kOv@E=z#K{xnRF&4RNx0q;!Cd@yPSHyMkdLhI$UZ908&~o z=n?;vGC`S-hjx%oUwhDwT#ye9zIRtvuc65cX1UYTiXErb@F?g&`Qtk4tR+O*l|{DS zVd-i}qwi-p0hw3g>LhdeUyP3TSIkH7`!nxe`P8c%Z7Q4dK6{KlbZ>ZiG`v>>{i0n_ za!z<}K)6Y4=Mvi0ahdc`rKx8P_)x3)K!Mfxd*!50Y4<7QeW1rD+uybdXw3NS0G2t0 zTuEoMk@j4Ee^^j@lf8biL^gSZAo^5_ZoQ=9VFXWWqNHO%b{Nb`0x0w*7IgPs#tfGC ze&06~PxPCGOMB+*Yynr`5yAnhsSRJuU~%5g-L}s`s)bzAEWwM!V&xiCbkE@6DHCC0 zc9AGk{tf8Ta#>8i5}rzch=8CH<`$7pQ{f+y zyYC^qweZJRC)X0JXp&AYiKG)oU?O=}?vjCjGb%j2kX&8cg{ zoL0Q*r->DRXlLy+sk(ZTt8%pu(l+{Zx2vqcV8-=@k{@zNKa^J$#ENrxqu&vNW>E zbcN;^ZGiFlbG1ZAcX#)BfWcraQ$O4Mc@n3w@zpPaGjodZ;q@=jYpJoDt&e$0cz+yW z9HT@Zj76R-B87UfHZN?6(~fbbdeJDy+@2m3XceBE+&G`qOry~YR3}F3F__G(ihub0L8gqt$Tysd4Zn}?S=De1 znXhlXQ)>hRk`AGN_W8=)2{Uf zgyoR!#zOV=y9YpipomBit2ilD+#go$EHihazbrrhY^r#Fr-HR!-+aV%U6QRVNtrmC&@B((2vKx1gheHy5b^oSHi8xDR2dq#L~lHhyOe zj|z7y-1Aw*1|fX7nAeN_>2&ja!d8oBxo?CAn-!^pxN+T|!e}j9zhtwgDLzABto#CU z^0fAAl;QyvbQlMLD3Enq;A2U_JJ{9Mm1Z!=KZ(w7I)M(snJ%9G@|WG(1=((~$h(In zjk(jeSfuYR#WYMRkh1-JMFNP3h)@W)KdWz-r-T!)U3h~sEgI4m>)sAX>ze_u)?L&kics#+ zyBx8q`uQIEErj$J D*n!en literal 711 zcmV;&0yzDNP)HNJs#$uK;mz0Jyj?a{vHdQ~&^805mi-00011R#s-2GiJ;)W@Z3ew=6C$ z03ZMW2mk<5QUJwA;`{&r00DGTPE!Ct=GbNc004w~R9JLGWpiV4X>fFDZ*Bkpc$`yK zaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBS zGBqbBzdR`?F*#d_i!&v&s2C_}$iNFLvJIxT3`lSVBY&*55Nx-H#fHN%v-c16Ufk}XIoBSMLpTacY ze7;<+S3U3G1(>+GEHGuGL_ z94wA_2ve1KgSzVg4}lluoXPtG00|I)q(=ZHRnBU=^Z*bnhV@ftoe|&eFd_h8X59e7 z`wq|#;{=dJ-sv7-kwfNEs%0uKIliCMbSsRKyQ#Z4)7%_zkyLM?>~82^7Tmrf|VL(A8dtL3aJ tVHt}EFDbv{IM*sv=tz0#_=EC)`T_`)9L|P*p}GJ7002ovPDHLkV1g5@Czk*K From 245c071c404526e53403a8c9e96e648944ec67ed Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 09:46:22 +0100 Subject: [PATCH 27/32] placed the fattening_gasses inclusion to be alphabetic --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 9f77448603..3478a43ce9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3984,10 +3984,10 @@ #include "GainStation13\code\mechanics\calorite.dm" #include "GainStation13\code\mechanics\fatness.dm" #include "GainStation13\code\mechanics\fatrousal.dm" +#include "GainStation13\code\mechanics\fattening_gasses.dm" #include "GainStation13\code\mechanics\fattening_trap.dm" #include "GainStation13\code\mechanics\helplessness.dm" #include "GainStation13\code\mechanics\infestation.dm" -#include "GainStation13/code/mechanics/fattening_gasses.dm" #include "GainStation13\code\mechanics\metal_cruncher.dm" #include "GainStation13\code\mechanics\permanent_fat.dm" #include "GainStation13\code\mechanics\recipes.dm" From abb10ca69594613344bc2c880b000a0d4205c7f7 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 09:46:50 +0100 Subject: [PATCH 28/32] clearing overlays before changing file --- code/modules/atmospherics/machinery/portable/canister.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 0c940d250d..3085a56b9d 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -400,7 +400,11 @@ name = initial(replacement.name) desc = initial(replacement.desc) // GS13 - edit - icon = initial(replacement.icon) // GS13 - added for the canister to change the icon file + cut_overlays() // removes all overlays (connector, tank...). + icon = initial(replacement.icon) // changes icon file + // you may notice that we do not add the overlays back after removing them, + // yet they stay when we relabel a can. How? I have no idea. But it works, + // and as such, I won't question it // GS13 - end edit icon_state = initial(replacement.icon_state) if("restricted") From 0d041fbf2e51c885ffe334184bc4786afacbf463 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 09:59:55 +0100 Subject: [PATCH 29/32] maybe would be nice if you removed the gasses you're using to form it eh? --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index ce34e8909b..4f19363da1 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -23,8 +23,8 @@ var/energy_released = reaction_efficiency*FIRE_CARBON_ENERGY_RELEASED air.adjust_moles(GAS_FAT, reaction_efficiency) - air.adjust_moles(GAS_PLASMA, -reaction_efficiency / 2) - air.adjust_moles(GAS_N2, -reaction_efficiency / 2) + air.adjust_moles(GAS_TRITIUM, -reaction_efficiency / 2) + air.adjust_moles(GAS_BZ, -reaction_efficiency / 2) var/heat_capacity = air.heat_capacity() air.set_temperature(max(temperature + energy_released / heat_capacity, TCMB)) From 5f61b40feab0c6ea7128d374ff8f967b4110670c Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 10:01:24 +0100 Subject: [PATCH 30/32] added check for when we ran out of fuel --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index 4f19363da1..1abd8e77ee 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -12,6 +12,8 @@ /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) // TODO: make the reaction exothermic, and make it more efficient at lower temperatures + if (air.get_moles(GAS_BZ) < 15 || air.get_moles(GAS_TRITIUM) < 15) + return NO_REACTION var/temperature = air.return_temperature() var/reaction_efficiency = 0 if (temperature <= 5) @@ -21,7 +23,7 @@ else reaction_efficiency = -((temperature - 5) / 95) + 1 // will equal 1 at 5 kelvin, and will linearly fall until 0 at 100k - var/energy_released = reaction_efficiency*FIRE_CARBON_ENERGY_RELEASED + var/energy_released = reaction_efficiency * FIRE_CARBON_ENERGY_RELEASED air.adjust_moles(GAS_FAT, reaction_efficiency) air.adjust_moles(GAS_TRITIUM, -reaction_efficiency / 2) air.adjust_moles(GAS_BZ, -reaction_efficiency / 2) From 348a2496ddb94fc84b2bd9c5b116ede7239e3d84 Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 10:18:48 +0100 Subject: [PATCH 31/32] adjusted temperatur calculations --- .../code/modules/atmospherics/gasmixtures/reactions.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm index 1abd8e77ee..4be7b5f717 100644 --- a/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/GainStation13/code/modules/atmospherics/gasmixtures/reactions.dm @@ -11,7 +11,6 @@ ) /datum/gas_reaction/lipoifium_formation/react(datum/gas_mixture/air) - // TODO: make the reaction exothermic, and make it more efficient at lower temperatures if (air.get_moles(GAS_BZ) < 15 || air.get_moles(GAS_TRITIUM) < 15) return NO_REACTION var/temperature = air.return_temperature() @@ -24,10 +23,11 @@ reaction_efficiency = -((temperature - 5) / 95) + 1 // will equal 1 at 5 kelvin, and will linearly fall until 0 at 100k var/energy_released = reaction_efficiency * FIRE_CARBON_ENERGY_RELEASED + var/old_heat_capacity = air.heat_capacity() air.adjust_moles(GAS_FAT, reaction_efficiency) air.adjust_moles(GAS_TRITIUM, -reaction_efficiency / 2) air.adjust_moles(GAS_BZ, -reaction_efficiency / 2) - var/heat_capacity = air.heat_capacity() - air.set_temperature(max(temperature + energy_released / heat_capacity, TCMB)) + var/new_heat_capacity = air.heat_capacity() + air.set_temperature(max((temperature * old_heat_capacity + energy_released) / new_heat_capacity, TCMB)) return REACTING From f2fe45093edb893b97c5a044d3304642887e30fa Mon Sep 17 00:00:00 2001 From: AbsFree Date: Tue, 17 Dec 2024 15:11:31 +0100 Subject: [PATCH 32/32] changed texture --- GainStation13/icons/obj/atmos.dmi | Bin 2068 -> 2104 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/GainStation13/icons/obj/atmos.dmi b/GainStation13/icons/obj/atmos.dmi index 4952aa314624ec6809c4377fa4a5ea8eafe2546a..56c59d4f2447b5d1f9211f172d0e7ce47f519b58 100644 GIT binary patch delta 1896 zcmb7?X*k=77RLWUVy%6tWn!yXLrQ0At%#tOQlu0mVYH|!#y&<9#M(d{2)l z`E+zmu+o`mPno~avv3&uH)U6?ob;D~&r32!*ysacDPW1cX}$O)faSTl<57?;)iiE1zl*(jw}UM}NT8M{`62UY z_|(?A22YC8?T+)?Kn0nDc48?{ue@t$_AtZJB{;3jED+H1We5Z~u`(1;z9){DAO?nwA=RL!(ss%qdTtABAEAVJOl(7vLorIq%2f{Ti@?ZO#q9o z7E`Z|TJuBv=Hz*dKaD_uc~9O7xvwel_a;K+n@{$Z&+AYkq|!V-zwuW_pYy(Ak;7xc zesv3+xplei1nf%N+^pt#Z7_1^o9?%ZlUWdcLVLv)qdV!m+NH7|B*gH-Jydfy34gY6 z;uj+hN4oh`IOxH9*M2Wg3BWX}%JH=~E#XKU=w~L!kN8TQqbncsYnSlNeEU!eK^}h2 zhVWCr_CCaK?SF@Wm%-vX?sxx0OhAeBM-%%IiZ8~c*o~w5B=Fk${T%?G0~?6QVwYOsz6Pcf(Cwr?+@xhB<14P2^bnDaGlxD zF$uDBa&}GvqD)l^08&9goasylRX7|}B}90e`}u*FO`{y-TH$(I&^qK=Z=$p^ywmhO zCGgRoUeZYR%>^u`xzL8e)|{bD3|dJ)x|Z%fkSj7O&u{trS02Wp zP&8K`jbO*=CkXoeP#{nZRt_l_91xj`UzBoxdeCD=-x7b!0EG=yv2-hk6oDz$>8r2h z(J2tw@RP6PjG?)P77M=@XNq*HT8hU9!#42~Sh+q?fo0F_F2eDE7KppG9LjmjH^44C zv<^7v$U~8{c8HTeYRo<^aX77ER6p2G@A+I?PVukf*R@VZ5x@r2SwkjRvqR85dD3>m}$y&Ui|89mL|DdMvD!1lhT6D-nS%%}LPBr-c{mQ>_oDv+S z$Q!r}eRR;3rZ?($mDVDSy^|tuMWZ2<#1=a01)yF0tp?Y`fx}pD&B5cs1Cg4wa)JQ} zjaG-n*skIlYBZ0}2fv@Zeg?09;%Jkf+2WnyVvCkWQ)U)pl`*$Po}2VBj)H z$QG<7_TR$A1&k;ir_yibj3T0_6+gR~%9@kK32FiWg+g(8nRv+{31+BcVj?5x zZbbj>r6lm=(u_Q_`0#lW?8@E{1}GW@7maE$@WUSI^&=)3cT2`^ln16i^H3Rf_g=Fb z^CulXCuW1K=gK||-jbBJxB!R4y{=d)p#6dNciJ!*X)~dsuCGruA|hh;YhvXH*r(Ym z3@OJvh7tv3WMn`|f`Wo!OhKDHwOgIO+?AEUL`$eHT+0q&FwJN0;1I@iOS`GCw#>!z zrWD;mgN%h9U@v?+-bVWqW@j;r9Ffa#q_3~i-Fx>^*t(zHwFq-J*NIRorR`3)LRaB* z=$M8WgQWgHq5KOWB}@u2<|M)5n5%(v$R1uO3Qj=8dX^(*`Tj5Ke{uF3$iBN)Sz0cc P4xE&uoh!Npg-iPfVq#>A delta 1860 zcma)&S5#980*3ERP(UdWLNA8446agK>QV<#NTf<10|_Mr1YALygvq6c0Yz$TsDn{Z znnbD63B3$a4~CvVC`vJ`8fwIKp7vpP&)NT+|LHsDd-$3W#fbc6ND*!Svu9%IW~r;A zlArQGr{9rW(3OtSIG)+Bu2VfxX8E-I$R*h%to=~g<9egaPu`{J8`BHhUm3M!LcR=oB zlRD*MGZ=x0#b=F4P@v(O&!*w*TdDX-=mCwQ1wMA~eBHiDpSb!1pfeVIw^OF4ea+b1 z!63hs7Bf@{EQ>Nm;!obewO^NZ)Wkq7v=jnp8XUYG0|w?1zK;X*U>!%I;r6K8wO$jwc!okoJA)xL{8>TDJ z8@f?M@QZ4#RX;n{Q8ZqG9D@hEkk-&}Vm0c>6o3>h+7=PC37JlP_)vUvc5!h^nG5fF z?=5o01o4|AlTEr~UsnvDF8Ac9Z1D`&33>s(&8l7RZ~FrSIgPxXg9#<50ggZVbr0Fg z-B9LzOKNPio!)*|(Iu`GB>;u@4`iT`Oa|te*WF{B7@cgV3tyWIqI&EuTt`Zi84>$_ARJ_@hR9#Z^F4W}suWZd?ue2ubj?T0v$xO~~ zd)jx`Jrk~P(8(67dkF0hsQgeF!r{ytwbq9Vy6b!zja~OLXujk0$eK9x)c*_B^H^AT zs_cxNT1`{cbL0$XwFoU*!P^A*M%iMf^@!(`aSrG`QfcUPWLKc@tP-ZE=&N^l)d%y) zAgkm_;m2iNbkBzmO_rT*MC}p1hzR2Ghwzm0@>#b#de(hhgC`d^<})+pvnULS)(9nl zIX71W>+0?8{RhBgGNG-CIpfdnvGV&LJwj)eFEZb~`m^~&Eb2E$mIIKl(Umq6S!6YO!t;M&}>Gah3`T5`eJfF|U?a($K!?3L@ zZ|uXuhb-A5oam&W{_n6z)5{4bgz*jKi55qj%rk1CS|^F@fnc+fC~25XUsCOJ%}D3o zMC|(_Kuk5?Io?V4Jh4L9*;%!^CN5l+IWdu0{ukFjD70}j<)&qc`q$Z$JMtFzwTAY) zb(&}({xt6UfScG&e9xl-UzeEotS2*5`mGJ>2K*F{ifW@6(k$)QjUeq<3)P$j^1i~( zyS)`ie}~)^B=Yi!_JPF z?623{xOWQl07Ho&t0X>IFc?&0CAxZHu(Y7ya-ISI zOXFjTiaFiuaY1WwRo!sxM^ej9V!KN(7cyYrfaYrzUNg1zMp5sAu<yF}_SL$C9-Is$?tLcsT|Qr~+O-h3-(^j#51z_2`9>cENIvF-KtHP2C$j=D*i13S z_|@{Y^dU5732nSIww=cC%xlyH9H;~t{XA1m^zanB3T$Qq`lewPtXZ+P>qU1JaBcEu zOQG!zb8Noa@OZ}yQR!_I2npH2M6!esVxlN{DI0yw6ucwQoe!kxQ~{|rHsV4s8Lz_{ zLrj3QF^x_?0Z7Au(9lo`uLmnA(|km%U^luMt6MyxBv85S1r032cj~XHkoj1L@Z%N) z8B~EIs_d^lw>>f#!>OKj@YIyGm=*vS3MsTL$a_ga&2u}+(6?VcIjCTUsTnN`>uYPn z{A^y@uW~6$RwbCS%F5xZx~jLh6IDJ)a%?d&Ev@@^s@vWjC?P@axrKEv4u{j`u9hun zDvKSR7#nlm_!KI;T2*y7I9hUYYD$eO_xlo}I7$#1)*I~NSE$e13lS`Cv;sy(Mj?qx z#iwoj{Z))16BF@+j5v%GN?xq8sHn)Sy`34YF1H^@#fSZT{@*>+!2c2IzkqE`8w&eH z{BGYjuEv{jw(B5V$S(JDnwsQ)R8|8m|4;3Ac#_}1Ig4q9Uf{>j=UnV-ZSiUU0)YX3 ALjV8(