mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
[MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342) Implements the ?. operator, replacing code like A && A.B with A?.B BYOND Ref: When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call. * Converts all A && A.B into A?.B Co-authored-by: ZeWaka <zewakagamer@gmail.com>
This commit is contained in:
@@ -366,13 +366,13 @@
|
||||
var/list/datum/reagents/R = list()
|
||||
var/total = min(rand(7,15), FLOOR(cell.charge*powerefficiency, 1))
|
||||
var/datum/reagents/Q = new(total*10)
|
||||
if(beaker && beaker.reagents)
|
||||
if(beaker?.reagents)
|
||||
R += beaker.reagents
|
||||
for(var/i in 1 to total)
|
||||
Q.add_reagent(pick(dispensable_reagents), 10)
|
||||
R += Q
|
||||
chem_splash(get_turf(src), 3, R)
|
||||
if(beaker && beaker.reagents)
|
||||
if(beaker?.reagents)
|
||||
beaker.reagents.remove_all()
|
||||
cell.use(total/powerefficiency)
|
||||
cell.emp_act(severity)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(machine_stat & NOPOWER)
|
||||
return
|
||||
if(on)
|
||||
if(beaker && beaker.reagents.total_volume)
|
||||
if(beaker?.reagents.total_volume)
|
||||
//keep constant with the chemical acclimator please
|
||||
beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * heater_coefficient * delta_time * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume)
|
||||
beaker.reagents.handle_reactions()
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
if(!beaker || !beaker.reagents)
|
||||
return
|
||||
var/datum/reagent/blood/B = locate() in beaker.reagents.reagent_list
|
||||
if(B && B.data[thing])
|
||||
if(B?.data[thing])
|
||||
return B.data[thing][index]
|
||||
|
||||
/obj/machinery/computer/pandemic/proc/get_virus_id_by_index(index)
|
||||
|
||||
@@ -793,7 +793,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/reagent/toxin/rotatium/on_mob_end_metabolize(mob/living/M)
|
||||
if(M && M.hud_used)
|
||||
if(M?.hud_used)
|
||||
var/list/screens = list(M.hud_used.plane_masters["[FLOOR_PLANE]"], M.hud_used.plane_masters["[GAME_PLANE]"], M.hud_used.plane_masters["[LIGHTING_PLANE]"])
|
||||
for(var/whole_screen in screens)
|
||||
animate(whole_screen, transform = matrix(), time = 5, easing = QUAD_EASING)
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
* * random - creates random mobs. self explanatory.
|
||||
*/
|
||||
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE)
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
var/atom/A = holder.my_atom
|
||||
var/turf/T = get_turf(A)
|
||||
var/message = "Mobs have been spawned in [ADMIN_VERBOSEJMP(T)] by a [reaction_name] reaction."
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
/datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
|
||||
if(B && B.data)
|
||||
if(B?.data)
|
||||
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
|
||||
if(D)
|
||||
D.Evolve(level_min, level_max)
|
||||
@@ -245,7 +245,7 @@
|
||||
|
||||
/datum/chemical_reaction/mix_virus/rem_virus/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
|
||||
if(B && B.data)
|
||||
if(B?.data)
|
||||
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
|
||||
if(D)
|
||||
D.Devolve()
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
/datum/chemical_reaction/mix_virus/neuter_virus/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
|
||||
if(B && B.data)
|
||||
if(B?.data)
|
||||
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
|
||||
if(D)
|
||||
D.Neuter()
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
if(S)
|
||||
S.set_up(holder, smoke_radius, location, 0)
|
||||
S.start()
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
holder.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/smoke_powder_smoke
|
||||
@@ -356,7 +356,7 @@
|
||||
if(S)
|
||||
S.set_up(holder, smoke_radius, location, 0)
|
||||
S.start()
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
holder.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/sonic_powder
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
var/turf/open/T = get_turf(holder.my_atom)
|
||||
if(istype(T))
|
||||
var/datum/gas/gastype = /datum/gas/nitrogen
|
||||
@@ -242,7 +242,7 @@
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
var/turf/open/T = get_turf(holder.my_atom)
|
||||
if(istype(T))
|
||||
T.atmos_spawn_air("plasma=50;TEMP=1000")
|
||||
@@ -391,7 +391,7 @@
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
if(holder?.my_atom)
|
||||
explosion(get_turf(holder.my_atom), 1 ,3, 6)
|
||||
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ Borg Hypospray
|
||||
/obj/item/reagent_containers/borghypo/proc/regenerate_reagents()
|
||||
if(iscyborg(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
if(R?.cell)
|
||||
for(var/i in 1 to reagent_ids.len)
|
||||
var/datum/reagents/RG = reagent_list[i]
|
||||
if(RG.total_volume < RG.maximum_volume) //Don't recharge reagents and drain power if the storage is full.
|
||||
@@ -225,7 +225,7 @@ Borg Shaker
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/regenerate_reagents()
|
||||
if(iscyborg(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
if(R?.cell)
|
||||
for(var/i in modes) //Lots of reagents in this one, so it's best to regenrate them all at once to keep it from being tedious.
|
||||
var/valueofi = modes[i]
|
||||
var/datum/reagents/RG = reagent_list[valueofi]
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/examine()
|
||||
. = ..()
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
if(reagents?.reagent_list.len)
|
||||
. += "<span class='notice'>It is currently loaded.</span>"
|
||||
else
|
||||
. += "<span class='notice'>It is spent.</span>"
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
/obj/item/reagent_containers/syringe/update_overlays()
|
||||
. = ..()
|
||||
var/rounded_vol = get_rounded_vol()
|
||||
if(reagents && reagents.total_volume)
|
||||
if(reagents?.total_volume)
|
||||
var/mutable_appearance/filling_overlay = mutable_appearance('icons/obj/reagentfillings.dmi', "syringe[rounded_vol]")
|
||||
filling_overlay.color = mix_color_from_reagents(reagents.reagent_list)
|
||||
. += filling_overlay
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
///Used by update_icon() and update_overlays()
|
||||
/obj/item/reagent_containers/syringe/proc/get_rounded_vol()
|
||||
if(reagents && reagents.total_volume)
|
||||
if(reagents?.total_volume)
|
||||
return clamp(round((reagents.total_volume / volume * 15),5), 1, 15)
|
||||
else
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user