diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 4c1d220c4b..9a1a58a21d 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -1,6 +1,5 @@ -#define FLAG_STATUS_NONE (1 << 0) -#define FLAG_STATUS_PH (1 << 1) -#define FLAG_STATUS_TEMP (1 << 2) +#define PH_WEAK (1 << 0) +#define TEMP_WEAK (1 << 1) /obj/item/reagent_containers name = "Container" @@ -15,7 +14,7 @@ var/spawned_disease = null var/disease_amount = 20 var/spillable = FALSE - var/beaker_weaknesses = NONE + var/beaker_weakness_bitflag = NONE//Bitflag! /obj/item/reagent_containers/Initialize(mapload, vol) . = ..() @@ -130,7 +129,7 @@ //melts plastic beakers /obj/item/reagent_containers/microwave_act(obj/machinery/microwave/M) reagents.expose_temperature(1000) - if(beaker_weaknesses == FLAG_STATUS_TEMP) + if(beaker_weakness_bitflag & TEMP_WEAK) var/list/seen = viewers(5, get_turf(src)) var/iconhtml = icon2html(src, seen) for(var/mob/H in seen) @@ -142,7 +141,7 @@ //melts plastic beakers /obj/item/reagent_containers/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) reagents.expose_temperature(exposed_temperature) - if(beaker_weaknesses == FLAG_STATUS_TEMP) + if(beaker_weakness_bitflag & TEMP_WEAK) if(reagents.chem_temp > 444)//assuming polypropylene var/list/seen = viewers(5, get_turf(src)) var/iconhtml = icon2html(src, seen) @@ -153,7 +152,7 @@ //melts glass beakers /obj/item/reagent_containers/proc/pH_check() - if(beaker_weaknesses == FLAG_STATUS_PH) + if(beaker_weakness_bitflag & PH_WEAK) if((reagents.pH < 0.5) || (reagents.pH > 13.5)) var/list/seen = viewers(5, get_turf(src)) var/iconhtml = icon2html(src, seen) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 7f0aa0bfc1..709a73d1ba 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -113,7 +113,7 @@ icon_state = "beaker" item_state = "beaker" materials = list(MAT_GLASS=500) - beaker_weaknesses |= FLAG_STATUS_PH + beaker_weakness_bitflag = PH_WEAK /obj/item/reagent_containers/glass/beaker/Initialize() . = ..() @@ -174,8 +174,10 @@ volume = 150 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,150) - beaker_weaknesses &= ~FLAG_STATUS_PH - beaker_weaknesses |= FLAG_STATUS_TEMP + +/obj/item/reagent_containers/glass/beaker/plastic/Initialize() + beaker_weakness_bitflag &= ~PH_WEAK + beaker_weakness_bitflag |= TEMP_WEAK /obj/item/reagent_containers/glass/beaker/plastic/update_icon() icon_state = "beakerlarge" // hack to lets us reuse the large beaker reagent fill states @@ -190,7 +192,9 @@ volume = 200 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,200) - beaker_weaknesses &= ~FLAG_STATUS_PH + +/obj/item/reagent_containers/glass/beaker/meta/Initialize() + beaker_weakness_bitflag &= ~PH_WEAK /obj/item/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -200,9 +204,9 @@ materials = list(MAT_METAL=3000) volume = 50 amount_per_transfer_from_this = 10 - beaker_weaknesses &= ~FLAG_STATUS_PH /obj/item/reagent_containers/glass/beaker/noreact/Initialize() + beaker_weakness_bitflag &= ~PH_WEAK . = ..() reagents.set_reacting(FALSE) @@ -272,7 +276,9 @@ SLOT_L_STORE, SLOT_R_STORE,\ SLOT_GENERC_DEXTROUS_STORAGE ) - beaker_weaknesses &= ~FLAG_STATUS_PH_IMMUNE + +/obj/item/reagent_containers/glass/bucket/Initialize() + beaker_weakness_bitflag |= TEMP_WEAK /obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/mop)) @@ -322,8 +328,9 @@ materials = list(MAT_GLASS=0) volume = 50 amount_per_transfer_from_this = 10 - beaker_weaknesses |= FLAG_STATUS_PH - beaker_weaknesses |= FLAG_STATUS_TEMP + +/obj/item/reagent_containers/glass/beaker/waterbottle/Initialize() + beaker_weakness_bitflag |= TEMP_WEAK /obj/item/reagent_containers/glass/beaker/waterbottle/empty list_reagents = list() @@ -335,8 +342,6 @@ list_reagents = list("water" = 100) volume = 100 amount_per_transfer_from_this = 20 - beaker_weaknesses |= FLAG_STATUS_PH - beaker_weaknesses |= FLAG_STATUS_TEMP /obj/item/reagent_containers/glass/beaker/waterbottle/large/empty list_reagents = list() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm index dedaf37c6b..e2a71a3759 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm @@ -55,13 +55,13 @@ . = ..() to_chat(M, "Oh god, you feel like your wavefunction is about to tear.") log_game("FERMICHEM: [M] ckey: [M.key] has overdosed on eigenstasium") - M.Jitter(10) + M.Jitter(20) + metabolization_rate += 0.5 //So you're not stuck forever teleporting. /datum/reagent/fermi/eigenstate/overdose_process(mob/living/M) //Overdose, makes you teleport randomly, probably one of my favourite effects. Sometimes kills you. do_sparks(5,FALSE,src) do_teleport(M, get_turf(M), 10, asoundin = 'sound/effects/phasein.ogg') do_sparks(5,FALSE,src) - M.reagents.remove_reagent(id, 0.5)//So you're not stuck for 10 minutes teleporting ..() //Addiction