mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Massive singularity fix:
-engine won't get unlimited floor tiles from reinforced floor and thus won't grow constantly; -collectors can receive energy from several sings; -various graphic glitches fixed; -released singularity can now be catched. In theory. -singularity cannot be killed by small/far explosion; -containment field cannot be exploded at all; -fields and singularity now are immune to blob; -messages improved; -machinery fingerprints handling fixed; -engines 3*3 sings must work now; -emitters (and some other machines) now really uses power; -collector arrays and controllers now requires engine access; -powerful singularity now deal more radiation damage, but you can hide behind walls; -improved generator's sprites Miscellaneous: -cell chargers now actually consumes power; -fixed examine verb for tanks; -fixed airlocks won't opens automatically in rare cases; -beer now don't instakill plants; -vents and scrubbers now requires and uses power; -more user-friendly canisters interface; Optimizations: -brig doors now causes lesser cpu load; -small optimizations and code cleanup for some atmos machinery; git-svn-id: http://tgstation13.googlecode.com/svn/trunk@691 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -21,18 +21,15 @@
|
||||
var/panic = 0 //is this scrubber panicked?
|
||||
|
||||
update_icon()
|
||||
if(on&&node)
|
||||
if(node && on && !(stat & (NOPOWER|BROKEN)))
|
||||
if(scrubbing)
|
||||
icon_state = "[level == 1 && istype(loc, /turf/simulated) ? "h" : "" ]on"
|
||||
else
|
||||
icon_state = "[level == 1 && istype(loc, /turf/simulated) ? "h" : "" ]in"
|
||||
else
|
||||
icon_state = "[level == 1 && istype(loc, /turf/simulated) ? "h" : "" ]off"
|
||||
on = 0
|
||||
|
||||
return
|
||||
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
@@ -66,11 +63,15 @@
|
||||
|
||||
process()
|
||||
..()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
if (!node)
|
||||
on = 0
|
||||
broadcast_status()
|
||||
|
||||
if(!on)
|
||||
return 0
|
||||
|
||||
|
||||
var/datum/gas_mixture/environment = loc.return_air()
|
||||
|
||||
if(scrubbing)
|
||||
@@ -79,7 +80,9 @@
|
||||
|
||||
//Take a gas sample
|
||||
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
|
||||
|
||||
if (isnull(removed)) //in space
|
||||
return
|
||||
use_power(30, ENVIRON)
|
||||
//Filter it
|
||||
var/datum/gas_mixture/filtered_out = new
|
||||
filtered_out.temperature = removed.temperature
|
||||
@@ -109,6 +112,7 @@
|
||||
network.update = 1
|
||||
|
||||
else //Just siphoning all air
|
||||
use_power(volume_rate/12, ENVIRON)
|
||||
var/transfer_moles = environment.total_moles()*(volume_rate/environment.volume)
|
||||
|
||||
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
|
||||
@@ -161,3 +165,10 @@
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
power_change()
|
||||
if(powered(ENVIRON))
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
stat |= NOPOWER
|
||||
update_icon()
|
||||
|
||||
Reference in New Issue
Block a user