mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Committing for QualityVan!
Fixes issue 458. Changes singularity beacons to consume zero power but require a certain amount to function, check the attached wire rather than the area for that power, and most importantly, not work in space(normally). git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4399 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -120,6 +120,9 @@
|
|||||||
|
|
||||||
|
|
||||||
proc/Activate(mob/user = null)
|
proc/Activate(mob/user = null)
|
||||||
|
if(!checkWirePower())
|
||||||
|
if(user) user << "\blue The connected wire doesn't have enough current."
|
||||||
|
return
|
||||||
for(var/obj/machinery/singularity/singulo in world)
|
for(var/obj/machinery/singularity/singulo in world)
|
||||||
if(singulo.z == z)
|
if(singulo.z == z)
|
||||||
singulo.target = src
|
singulo.target = src
|
||||||
@@ -180,23 +183,30 @@
|
|||||||
if(active) Deactivate()
|
if(active) Deactivate()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Added for a simple way to check power. Verifies that the beacon
|
||||||
|
* is connected to a wire, the wire is part of a powernet (that part's
|
||||||
|
* sort of redundant, since all wires either join or create one when placed)
|
||||||
|
* and that the powernet has at least 1500 power units available for use.
|
||||||
|
* Doesn't use them, though, just makes sure they're there.
|
||||||
|
* - QualityVan, Aug 11 2012
|
||||||
|
*/
|
||||||
|
proc/checkWirePower()
|
||||||
|
if(!attached)
|
||||||
|
return 0
|
||||||
|
var/datum/powernet/PN = attached.get_powernet()
|
||||||
|
if(!PN)
|
||||||
|
return 0
|
||||||
|
if(PN.avail < 1500)
|
||||||
|
return 0
|
||||||
|
return 1
|
||||||
|
|
||||||
process()
|
process()
|
||||||
if(stat & NOPOWER)
|
|
||||||
if(active)
|
|
||||||
Deactivate()
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!active)
|
if(!active)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(attached)
|
|
||||||
if(!attached.get_powernet())
|
|
||||||
Deactivate()
|
|
||||||
return
|
|
||||||
use_power(1500)
|
|
||||||
else
|
else
|
||||||
Deactivate()
|
if(!checkWirePower())
|
||||||
|
Deactivate()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -576,7 +576,7 @@ mob/sd_ApplyLum(list/V, center = src)
|
|||||||
if(isturf(loc))
|
if(isturf(loc))
|
||||||
V = view(luminosity,loc)
|
V = view(luminosity,loc)
|
||||||
else
|
else
|
||||||
V = view(luminosity,src)
|
V = view(luminosity,get_turf(src))
|
||||||
. = ..(V, center)
|
. = ..(V, center)
|
||||||
|
|
||||||
mob/sd_StripLum(list/V, center = src)
|
mob/sd_StripLum(list/V, center = src)
|
||||||
@@ -584,7 +584,7 @@ mob/sd_StripLum(list/V, center = src)
|
|||||||
if(isturf(loc))
|
if(isturf(loc))
|
||||||
V = view(luminosity,loc)
|
V = view(luminosity,loc)
|
||||||
else
|
else
|
||||||
V = view(luminosity,src)
|
V = view(luminosity,get_turf(src))
|
||||||
. = ..(V, center)
|
. = ..(V, center)
|
||||||
|
|
||||||
mob/sd_ApplyLocalLum(list/affected)
|
mob/sd_ApplyLocalLum(list/affected)
|
||||||
|
|||||||
Reference in New Issue
Block a user