Allows pathogenic incubator to remain on when it doesn't have a dish loaded, fixes lack of UI response, fixes overwriting blood viruses (#13040)

* Allowed use of controls, made incubator add viruses to blood instead of overwriting blood

* Allowed use of controls, made incubator add viruses to blood instead of overwriting blood

* third time's the commit that breaks everything in a way that isn't instantly detected and is thus PRable

* r u n t i m e s

* b r a c k e t s
This commit is contained in:
despotate
2016-12-28 09:43:08 -05:00
committed by Probe1
parent 03037579b4
commit a345c61eac

View File

@@ -95,8 +95,6 @@
if(beaker)
beaker.forceMove(src.loc)
beaker = null
if(!dish)
return
if (href_list["power"])
on = !on
if(on)
@@ -129,8 +127,7 @@
var/datum/disease2/disease/D = dish.virus2.getcopy()
D.log += "<br />[timestamp()] Injected into blood via [src] by [key_name(usr)]"
var/list/virus = list("[dish.virus2.uniqueID]" = D)
B.data["virus2"] = virus
B.data["virus2"] += virus
say("Injection complete.")
src.add_fingerprint(usr)
src.updateUsrDialog()
@@ -173,20 +170,21 @@
onclose(user, "dish_incubator")
/obj/machinery/disease2/incubator/process()
if(dish && on && dish.virus2)
if(on)
use_power(50,EQUIP)
if(!powered(EQUIP))
on = 0
icon_state = "incubator"
if(foodsupply)
foodsupply -= 1
dish.growth = min(growthrate + dish.growth, INCUBATOR_MAX_SIZE)
if (dish && dish.virus2)
if(dish.growth >= INCUBATOR_MAX_SIZE)
if(icon_state != "incubator_fed")
icon_state = "incubator_fed"
if(last_notice + FED_PING_DELAY < world.time)
last_notice = world.time
alert_noise("ping")
if(foodsupply)
foodsupply -= 1
dish.growth = min(growthrate + dish.growth, INCUBATOR_MAX_SIZE)
if(radiation)
if(radiation > 50 & prob(mutatechance))
dish.virus2.log += "<br />[timestamp()] MAJORMUTATE (incubator rads)"
@@ -204,8 +202,7 @@
dish.virus2.infectionchance -= 1
if(toxins > 50)
dish.virus2 = null
else if(!dish)
on = 0
else
icon_state = "incubator"
if(beaker)