mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
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:
@@ -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,39 +170,39 @@
|
||||
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(radiation)
|
||||
if(radiation > 50 & prob(mutatechance))
|
||||
dish.virus2.log += "<br />[timestamp()] MAJORMUTATE (incubator rads)"
|
||||
dish.virus2.majormutate()
|
||||
if(dish.info)
|
||||
dish.info = "OUTDATED : [dish.info]"
|
||||
dish.analysed = 0
|
||||
alert_noise("beep")
|
||||
flick("incubator_mut", src)
|
||||
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)"
|
||||
dish.virus2.majormutate()
|
||||
if(dish.info)
|
||||
dish.info = "OUTDATED : [dish.info]"
|
||||
dish.analysed = 0
|
||||
alert_noise("beep")
|
||||
flick("incubator_mut", src)
|
||||
|
||||
else if(prob(mutatechance))
|
||||
dish.virus2.minormutate()
|
||||
radiation -= 1
|
||||
if(toxins && prob(5))
|
||||
dish.virus2.infectionchance -= 1
|
||||
if(toxins > 50)
|
||||
dish.virus2 = null
|
||||
else if(!dish)
|
||||
on = 0
|
||||
else if(prob(mutatechance))
|
||||
dish.virus2.minormutate()
|
||||
radiation -= 1
|
||||
if(toxins && prob(5))
|
||||
dish.virus2.infectionchance -= 1
|
||||
if(toxins > 50)
|
||||
dish.virus2 = null
|
||||
else
|
||||
icon_state = "incubator"
|
||||
|
||||
if(beaker)
|
||||
|
||||
Reference in New Issue
Block a user