mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 11:38:12 +01:00
Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into item-color
Conflicts: code/game/machinery/washing_machine.dm code/modules/mob/living/carbon/human/update_icons.dm
This commit is contained in:
@@ -20,13 +20,13 @@
|
||||
if(1.0)
|
||||
explosion(get_turf(src), 1, 2, 3, 5)//Should likely be larger but this works fine for now I guess
|
||||
if(src)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if(prob((fuel/10)-stability))
|
||||
explosion(get_turf(src), 1, 2, 3, 5)
|
||||
if(src)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
stability -= 40
|
||||
if(3.0)
|
||||
|
||||
@@ -35,16 +35,16 @@
|
||||
linked_cores = list()
|
||||
|
||||
|
||||
/obj/machinery/power/am_control_unit/Del()//Perhaps damage and run stability checks rather than just del on the others
|
||||
/obj/machinery/power/am_control_unit/Destroy()//Perhaps damage and run stability checks rather than just qdel on the others
|
||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||
del(AMS)
|
||||
qdel(AMS)
|
||||
..()
|
||||
|
||||
|
||||
/obj/machinery/power/am_control_unit/process()
|
||||
if(exploding)
|
||||
explosion(get_turf(src),8,12,18,12)
|
||||
if(src) del(src)
|
||||
if(src) qdel(src)
|
||||
|
||||
if(update_shield_icons && !shield_icon_delay)
|
||||
check_shield_icons()
|
||||
@@ -108,7 +108,7 @@
|
||||
AMS.blob_act()
|
||||
spawn(0)
|
||||
//Likely explode
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
check_stability()
|
||||
return
|
||||
@@ -211,7 +211,7 @@
|
||||
|
||||
/obj/machinery/power/am_control_unit/proc/check_stability()//TODO: make it break when low also might want to add a way to fix it like a part or such that can be replaced
|
||||
if(stability <= 0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
user << "You insert the rod into the injector"
|
||||
injecting = 1
|
||||
var/fuel = F.fuel
|
||||
del(F)
|
||||
qdel(F)
|
||||
spawn( 300 )
|
||||
injecting = 0
|
||||
new/obj/item/weapon/fuel(src.loc)
|
||||
@@ -60,7 +60,7 @@
|
||||
user << "You insert the rod into the injector"
|
||||
injecting = 1
|
||||
var/fuel = F.fuel
|
||||
del(F)
|
||||
qdel(F)
|
||||
spawn( 300 )
|
||||
injecting = 0
|
||||
new /obj/item/weapon/fuel(src.loc)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
user << "You have added the anti-Hydrogen to the storage ring, it now contains [src.fuel]kg"
|
||||
if(istype(F, /obj/item/weapon/fuel/H))
|
||||
src.fuel += F.fuel
|
||||
del(F)
|
||||
qdel(F)
|
||||
src:annihilation(src.fuel)
|
||||
if(istype(src, /obj/item/weapon/fuel/H))
|
||||
if(istype(F, /obj/item/weapon/fuel/H))
|
||||
@@ -38,7 +38,7 @@
|
||||
user << "You have added the Hydrogen to the storage ring, it now contains [src.fuel]kg"
|
||||
if(istype(F, /obj/item/weapon/fuel/antiH))
|
||||
src.fuel += F.fuel
|
||||
del(src)
|
||||
qdel(src)
|
||||
F:annihilation(F.fuel)
|
||||
|
||||
/obj/item/weapon/fuel/antiH/proc/annihilation(var/mass)
|
||||
@@ -54,7 +54,7 @@
|
||||
if (strength > (300+T0C))
|
||||
explosion(T, 0, 0, 2, 3)
|
||||
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
var/turf/ground_zero = get_turf(loc)
|
||||
@@ -63,7 +63,7 @@
|
||||
explosion(ground_zero, ground_zero_range, ground_zero_range*2, ground_zero_range*3, ground_zero_range*4)
|
||||
|
||||
//SN src = null
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
M.gib()
|
||||
if("Hydrogen")
|
||||
M << "\blue You feel very light, as if you might just float away..."
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/fuel/attack(mob/M as mob, mob/user as mob)
|
||||
|
||||
@@ -36,12 +36,12 @@ proc/cardinalrange(var/center)
|
||||
/obj/machinery/am_shielding/proc/controllerscan(var/priorscan = 0)
|
||||
//Make sure we are the only one here
|
||||
if(!istype(src.loc, /turf))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
for(var/obj/machinery/am_shielding/AMS in loc.contents)
|
||||
if(AMS == src) continue
|
||||
spawn(0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
//Search for shielding first
|
||||
@@ -61,11 +61,11 @@ proc/cardinalrange(var/center)
|
||||
controllerscan(1)//Last chance
|
||||
return
|
||||
spawn(0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/am_shielding/Del()
|
||||
/obj/machinery/am_shielding/Destroy()
|
||||
if(control_unit) control_unit.remove_shielding(src)
|
||||
if(processing) shutdown_core()
|
||||
visible_message("\red The [src.name] melts!")
|
||||
@@ -98,7 +98,7 @@ proc/cardinalrange(var/center)
|
||||
else
|
||||
new /obj/effect/blob(src.loc,60)
|
||||
spawn(0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
check_stability()
|
||||
return
|
||||
@@ -185,7 +185,7 @@ proc/cardinalrange(var/center)
|
||||
if(injecting_fuel && control_unit)
|
||||
control_unit.exploding = 1
|
||||
if(src)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@ proc/cardinalrange(var/center)
|
||||
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
|
||||
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
|
||||
new/obj/machinery/am_shielding(src.loc)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
return
|
||||
+12
-13
@@ -100,7 +100,6 @@
|
||||
var/update_overlay = -1
|
||||
var/global/status_overlays = 0
|
||||
var/updating_icon = 0
|
||||
var/standard_max_charge
|
||||
var/global/list/status_overlays_lock
|
||||
var/global/list/status_overlays_charging
|
||||
var/global/list/status_overlays_equipment
|
||||
@@ -143,9 +142,6 @@
|
||||
/obj/machinery/power/apc/New(turf/loc, var/ndir, var/building=0)
|
||||
..()
|
||||
wires = new(src)
|
||||
var/tmp/obj/item/weapon/cell/tmp_cell = new
|
||||
standard_max_charge = tmp_cell.maxcharge
|
||||
del(tmp_cell)
|
||||
|
||||
// offset 24 pixels in direction of dir
|
||||
// this allows the APC to be embedded in a wall, yet still inside an area
|
||||
@@ -169,16 +165,19 @@
|
||||
spawn(5)
|
||||
src.update()
|
||||
|
||||
/obj/machinery/power/apc/Del()
|
||||
/obj/machinery/power/apc/Destroy()
|
||||
if(operating && malf && src.z in config.station_levels) //if (is_type_in_list(get_area(src), the_station_areas))
|
||||
malf.hacked_apcs -= src
|
||||
area.power_light = 0
|
||||
area.power_equip = 0
|
||||
area.power_environ = 0
|
||||
area.power_change()
|
||||
del(wires)
|
||||
if(wires)
|
||||
wires.Destroy()
|
||||
wires = null
|
||||
if(cell)
|
||||
del(cell) // qdel
|
||||
cell.loc = loc
|
||||
cell = null
|
||||
if(terminal)
|
||||
disconnect_terminal()
|
||||
|
||||
@@ -559,7 +558,7 @@
|
||||
return
|
||||
new /obj/item/stack/cable_coil(loc,10)
|
||||
user << "<span class='notice'>You cut the cables and dismantle the power terminal.</span>"
|
||||
del(terminal) // qdel
|
||||
qdel(terminal)
|
||||
else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && !((stat & BROKEN) || malfhack))
|
||||
user.visible_message("<span class='warning'>[user.name] inserts the power control board into [src].</span>", \
|
||||
"You start to insert the power control board into the frame...")
|
||||
@@ -568,7 +567,7 @@
|
||||
if(has_electronics==0)
|
||||
has_electronics = 1
|
||||
user << "<span class='notice'>You place the power control board inside the frame.</span>"
|
||||
del(W) // qdel
|
||||
qdel(W)
|
||||
else if (istype(W, /obj/item/weapon/module/power_control) && opened && has_electronics==0 && ((stat & BROKEN) || malfhack))
|
||||
user << "<span class='warning'>You cannot put the board inside, the frame is damaged.</span>"
|
||||
return
|
||||
@@ -595,7 +594,7 @@
|
||||
"<span class='warning'>[src] has been cut from the wall by [user.name] with the weldingtool.</span>",\
|
||||
"<span class='notice'>You cut the APC frame from the wall.</span>",\
|
||||
"You hear welding.")
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
else if (istype(W, /obj/item/apc_frame) && opened && emagged)
|
||||
emagged = 0
|
||||
@@ -604,7 +603,7 @@
|
||||
user.visible_message(\
|
||||
"<span class='warning'>[user.name] has replaced the damaged APC frontal panel with a new one.</span>",\
|
||||
"<span class='notice'>You replace the damaged APC frontal panel with a new one.</span>")
|
||||
del(W) // qdel
|
||||
qdel(W)
|
||||
update_icon()
|
||||
else if (istype(W, /obj/item/apc_frame) && opened && ((stat & BROKEN) || malfhack))
|
||||
if (has_electronics)
|
||||
@@ -616,7 +615,7 @@
|
||||
user.visible_message(\
|
||||
"<span class='notice'>[user.name] has replaced the damaged APC frame with new one.</span>",\
|
||||
"You replace the damaged APC frame with new one.")
|
||||
del(W) // qdel
|
||||
qdel(W)
|
||||
stat &= ~BROKEN
|
||||
malfai = null
|
||||
malfhack = 0
|
||||
@@ -1211,7 +1210,7 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on)
|
||||
//set_broken() //now Del() do what we need
|
||||
if (cell)
|
||||
cell.ex_act(1.0) // more lags woohoo
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if(I.reliability != 100 && crit_fail)
|
||||
I.crit_fail = 1
|
||||
I.loc = src.loc
|
||||
del(src)
|
||||
qdel(src)
|
||||
return 1
|
||||
else
|
||||
user << "<span class='warning'>Turn off the [src] before dismantling it.</span>"
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
else
|
||||
icon_state = icon_state_off
|
||||
for(var/obj/structure/cable/C in src.loc)
|
||||
del(C)
|
||||
qdel(C)
|
||||
|
||||
// Used by RCON to toggle the breaker box.
|
||||
/obj/machinery/power/breakerbox/proc/auto_toggle()
|
||||
|
||||
+10
-10
@@ -85,7 +85,7 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
cable_list += src //add it to the global cable list
|
||||
|
||||
|
||||
/obj/structure/cable/Del() // called when a cable is deleted
|
||||
/obj/structure/cable/Destroy() // called when a cable is deleted
|
||||
if(powernet)
|
||||
cut_cable_from_powernet() // update the powernets
|
||||
cable_list -= src //remove it from global cable list
|
||||
@@ -154,11 +154,11 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
var/turf/below = locate(src.x, src.y, controller.down_target)
|
||||
for(var/obj/structure/cable/c in below)
|
||||
if(c.d1 == 12 || c.d2 == 12)
|
||||
c.Del()
|
||||
qdel(c)
|
||||
///// Z-Level Stuff
|
||||
investigate_log("was cut by [key_name(usr, usr.client)] in [user.loc.loc]","wires")
|
||||
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -201,16 +201,16 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
/obj/structure/cable/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
new/obj/item/stack/cable_coil(src.loc, src.d1 ? 2 : 1, color)
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
|
||||
if(3.0)
|
||||
if (prob(25))
|
||||
new/obj/item/stack/cable_coil(src.loc, src.d1 ? 2 : 1, color)
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
obj/structure/cable/proc/cableColor(var/colorC)
|
||||
@@ -418,7 +418,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
propagate_network(powerlist[1],PN) //propagates the new powernet beginning at the source cable
|
||||
|
||||
if(PN.is_empty()) //can happen with machines made nodeless when smoothing cables
|
||||
del(PN) // qdel
|
||||
qdel(PN)
|
||||
|
||||
// cut the cable's powernet at this cable and updates the powergrid
|
||||
/obj/structure/cable/proc/cut_cable_from_powernet()
|
||||
@@ -769,7 +769,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
if (C.shock(user, 50))
|
||||
if (prob(50)) //fail
|
||||
new/obj/item/stack/cable_coil(C.loc, 1, C.color)
|
||||
del(C) // qdel
|
||||
qdel(C)
|
||||
|
||||
// called when cable_coil is click on an installed obj/cable
|
||||
// or click on a turf that already contains a "node" cable
|
||||
@@ -833,7 +833,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
if (NC.shock(user, 50))
|
||||
if (prob(50)) //fail
|
||||
new/obj/item/stack/cable_coil(NC.loc, 1, NC.color)
|
||||
del(NC) // qdel
|
||||
qdel(NC)
|
||||
|
||||
return
|
||||
|
||||
@@ -881,7 +881,7 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
if (C.shock(user, 50))
|
||||
if (prob(50)) //fail
|
||||
new/obj/item/stack/cable_coil(C.loc, 2, C.color)
|
||||
del(C) // qdel
|
||||
qdel(C)
|
||||
return
|
||||
|
||||
C.denode()// this call may have disconnected some cables that terminated on the centre of the turf, if so split the powernets.
|
||||
|
||||
@@ -118,8 +118,7 @@
|
||||
|
||||
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range)
|
||||
|
||||
spawn(1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/cell/proc/corrupt()
|
||||
charge /= 2
|
||||
@@ -144,17 +143,17 @@
|
||||
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if (prob(50))
|
||||
corrupt()
|
||||
if(3.0)
|
||||
if (prob(25))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if (prob(25))
|
||||
corrupt()
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
ChangeTurf(/turf/space)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
ChangeTurf(/turf/space)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
@@ -32,6 +32,6 @@
|
||||
/turf/simulated/floor/engine/blob_act()
|
||||
if (prob(25))
|
||||
ChangeTurf(/turf/space)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
@@ -24,7 +24,7 @@
|
||||
/obj/item/light_fixture_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded )
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
usr.visible_message("[usr.name] attaches [src] to the wall.", \
|
||||
"You attach [src] to the wall.")
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/light_fixture_frame/small
|
||||
name = "small light fixture frame"
|
||||
@@ -111,7 +111,7 @@
|
||||
user.visible_message("[user.name] deconstructs [src].", \
|
||||
"You deconstruct [src].", "You hear a noise.")
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 75, 1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
if (src.stage == 2)
|
||||
usr << "You have to remove the wires first."
|
||||
return
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
newlight.dir = src.dir
|
||||
src.transfer_fingerprints_to(newlight)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
spawn(1)
|
||||
update(0)
|
||||
|
||||
/obj/machinery/light/Del()
|
||||
/obj/machinery/light/Destroy()
|
||||
var/area/A = get_area(src)
|
||||
if(A)
|
||||
on = 0
|
||||
@@ -370,7 +370,7 @@
|
||||
update()
|
||||
|
||||
user.drop_item() //drop the item to update overlays and such
|
||||
del(L)
|
||||
qdel(L)
|
||||
|
||||
if(on && rigged)
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
newlight.fingerprints = src.fingerprints
|
||||
newlight.fingerprintshidden = src.fingerprintshidden
|
||||
newlight.fingerprintslast = src.fingerprintslast
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
user << "You stick \the [W] into the light socket!"
|
||||
@@ -579,7 +579,7 @@
|
||||
/obj/machinery/light/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(75))
|
||||
@@ -629,7 +629,7 @@
|
||||
sleep(2)
|
||||
explosion(T, 0, 0, 2, 2)
|
||||
sleep(1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
// the light item
|
||||
// can be tube or bulb subtypes
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
I.loc = src.loc
|
||||
new_frame.state = 2
|
||||
new_frame.icon_state = "box_1"
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
attack_hand(mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
/obj/machinery/power/port_gen/proc/explode()
|
||||
explosion(src.loc, -1, 3, 5, -1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
#define TEMPERATURE_DIVISOR 40
|
||||
#define TEMPERATURE_CHANGE_MAX 20
|
||||
@@ -125,7 +125,7 @@
|
||||
component_parts += new board_path(src)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/Del()
|
||||
/obj/machinery/power/port_gen/pacman/Destroy()
|
||||
DropFuel()
|
||||
..()
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
|
||||
new_frame.state = 2
|
||||
new_frame.icon_state = "box_1"
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob)
|
||||
..()
|
||||
@@ -424,7 +424,7 @@
|
||||
L.apply_effect(max(20, round(rads/get_dist(L,src))), IRRADIATE)
|
||||
|
||||
explosion(src.loc, 3, 3, 5, 3)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/mrs
|
||||
name = "M.R.S.P.A.C.M.A.N.-type Portable Generator"
|
||||
@@ -446,4 +446,4 @@
|
||||
/obj/machinery/power/port_gen/pacman/mrs/explode()
|
||||
//no special effects, but the explosion is pretty big (same as a supermatter shard).
|
||||
explosion(src.loc, 3, 6, 12, 16, 1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
idle_power_usage = 0
|
||||
active_power_usage = 0
|
||||
|
||||
/obj/machinery/power/Del()
|
||||
/obj/machinery/power/Destroy()
|
||||
disconnect_from_network()
|
||||
..()
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
// rebuild all power networks from scratch - only called at world creation or by the admin verb
|
||||
/proc/makepowernets()
|
||||
for(var/datum/powernet/PN in powernets)
|
||||
del(PN)
|
||||
qdel(PN)
|
||||
powernets.Cut()
|
||||
|
||||
for(var/obj/structure/cable/PC in cable_list)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
powernets += src
|
||||
..()
|
||||
|
||||
/datum/powernet/Del()
|
||||
/datum/powernet/Destroy()
|
||||
powernets -= src
|
||||
..()
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
cables -= C
|
||||
C.powernet = null
|
||||
if(is_empty())//the powernet is now empty...
|
||||
del(src)///... delete it - qdel
|
||||
qdel(src)///... delete it
|
||||
|
||||
//add a cable to the current powernet
|
||||
//Warning : this proc DON'T check if the cable exists
|
||||
@@ -62,7 +62,7 @@
|
||||
nodes -=M
|
||||
M.powernet = null
|
||||
if(is_empty())//the powernet is now empty...
|
||||
del(src)///... delete it - qdel
|
||||
qdel(src)///... delete it - qdel
|
||||
|
||||
|
||||
//add a power machine to the current powernet
|
||||
|
||||
@@ -47,7 +47,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
owned_core = core
|
||||
|
||||
if(!owned_core)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
//create the gimmicky things to handle field collisions
|
||||
var/obj/effect/rust_particle_catcher/catcher
|
||||
@@ -118,7 +118,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
/obj/effect/rust_em_field/process()
|
||||
//make sure the field generator is still intact
|
||||
if(!owned_core)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
//handle radiation
|
||||
if(!radiator)
|
||||
@@ -427,10 +427,10 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
||||
AddParticles(reactant, reactants_reacting_pool[reactant])
|
||||
//world << "retained: [reactant], [reactants_reacting_pool[reactant]]"
|
||||
|
||||
/obj/effect/rust_em_field/Del()
|
||||
/obj/effect/rust_em_field/Destroy()
|
||||
//radiate everything in one giant burst
|
||||
for(var/obj/effect/rust_particle_catcher/catcher in particle_catchers)
|
||||
del (catcher)
|
||||
qdel (catcher)
|
||||
RadiateAll()
|
||||
|
||||
processing_objects.Remove(src)
|
||||
|
||||
@@ -268,7 +268,7 @@ max volume of phoron storeable by the field = the total volume of a number of ti
|
||||
//todo: safety checks for field status
|
||||
if(owned_field)
|
||||
icon_state = "core0"
|
||||
del(owned_field)
|
||||
qdel(owned_field)
|
||||
luminosity = 0
|
||||
use_power = 1
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 )
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
usr << "\red Port cannot be placed in this area."
|
||||
return
|
||||
new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
//construction steps
|
||||
/obj/machinery/rust_fuel_assembly_port/New(turf/loc, var/ndir, var/building=0)
|
||||
@@ -110,7 +110,7 @@
|
||||
if(do_after(user, 10))
|
||||
has_electronics &= 1
|
||||
user << "You place the port control board inside the frame."
|
||||
del(W)
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
|
||||
@@ -127,7 +127,7 @@
|
||||
"\red [src] has been cut away from the wall by [user.name].",\
|
||||
"You detached the port frame.",\
|
||||
"\red You hear welding.")
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
@@ -25,7 +25,7 @@ var/const/max_assembly_amount = 300
|
||||
/obj/machinery/rust_fuel_compressor/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/rcd_ammo))
|
||||
compressed_matter += 10
|
||||
del(W)
|
||||
qdel(W)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -93,7 +93,7 @@ var/const/max_assembly_amount = 300
|
||||
break
|
||||
//world << "\blue [reagent]: new_assembly_quantities[reagent]<br>"
|
||||
if(fail)
|
||||
del(F)
|
||||
qdel(F)
|
||||
compressed_matter = old_matter
|
||||
usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'"
|
||||
else
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 )
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
usr << "\red Compressor cannot be placed in this area."
|
||||
return
|
||||
new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
//construction steps
|
||||
/obj/machinery/rust_fuel_compressor/New(turf/loc, var/ndir, var/building=0)
|
||||
@@ -137,7 +137,7 @@
|
||||
if(do_after(user, 10))
|
||||
has_electronics &= 1
|
||||
user << "You place the circuitboard inside the frame."
|
||||
del(W)
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics)
|
||||
@@ -154,7 +154,7 @@
|
||||
"\red [src] has been cut away from the wall by [user.name].",\
|
||||
"You detached the compressor frame.",\
|
||||
"\red You hear welding.")
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
else
|
||||
time_alive -= 0.1
|
||||
if(time_alive < 0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
//radiate mobs nearby here
|
||||
//
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
for(var/obj/machinery/rust/em_field/field in range(6))
|
||||
parent = field
|
||||
if(!parent)
|
||||
del(src)*/
|
||||
qdel(src)*/
|
||||
|
||||
/obj/effect/rust_particle_catcher/process()
|
||||
if(!parent)
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/rust_particle_catcher/proc/SetSize(var/newsize)
|
||||
name = "collector [newsize]"
|
||||
|
||||
@@ -40,8 +40,7 @@
|
||||
/obj/singularity_act()
|
||||
ex_act(1)
|
||||
if(src)
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
return 2
|
||||
|
||||
/obj/singularity_pull(S, current_size)
|
||||
@@ -72,6 +71,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/power/supermatter/shard/singularity_act()
|
||||
src.loc = null
|
||||
qdel(src)
|
||||
return 5000
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
SetUniversalState(/datum/universal_state/supermatter_cascade)
|
||||
log_admin("New super singularity made by eating a SM crystal [prints]. Last touched by [src.fingerprintslast].")
|
||||
message_admins("New super singularity made by eating a SM crystal [prints]. Last touched by [src.fingerprintslast].")
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
src.loc = null
|
||||
qdel(src)
|
||||
return 50000
|
||||
|
||||
/obj/item/projectile/beam/emitter/singularity_pull()
|
||||
|
||||
@@ -21,7 +21,7 @@ var/global/list/rad_collectors = list()
|
||||
..()
|
||||
rad_collectors += src
|
||||
|
||||
/obj/machinery/power/rad_collector/Del()
|
||||
/obj/machinery/power/rad_collector/Destroy()
|
||||
rad_collectors -= src
|
||||
..()
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
var/obj/machinery/field_generator/FG2 = null
|
||||
var/hasShocked = 0 //Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
|
||||
|
||||
/obj/machinery/containment_field/Del()
|
||||
/obj/machinery/containment_field/Destroy()
|
||||
if(FG1 && !FG1.clean_up)
|
||||
FG1.cleanup()
|
||||
if(FG2 && !FG2.clean_up)
|
||||
@@ -54,7 +54,7 @@
|
||||
if(hasShocked)
|
||||
return 0
|
||||
if(!FG1 || !FG2)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return 0
|
||||
if(isliving(user))
|
||||
hasShocked = 1
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
if(state == 2 && anchored)
|
||||
connect_to_network()
|
||||
|
||||
/obj/machinery/power/emitter/Del()
|
||||
/obj/machinery/power/emitter/Destroy()
|
||||
message_admins("Emitter deleted at ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
|
||||
log_game("Emitter deleted at ([x],[y],[z])")
|
||||
investigate_log("<font color='red'>deleted</font> at ([x],[y],[z])","singulo")
|
||||
|
||||
@@ -31,7 +31,7 @@ field_generator power level display
|
||||
var/list/obj/machinery/containment_field/fields
|
||||
var/list/obj/machinery/field_generator/connected_gens
|
||||
var/clean_up = 0
|
||||
|
||||
|
||||
//If keeping field generators powered is hard then increase the emitter active power usage.
|
||||
var/gen_power_draw = 5500 //power needed per generator
|
||||
var/field_power_draw = 2000 //power needed per field object
|
||||
@@ -61,7 +61,6 @@ field_generator power level display
|
||||
connected_gens = list()
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/field_generator/process()
|
||||
if(Varedit_start == 1)
|
||||
if(active == 0)
|
||||
@@ -177,7 +176,7 @@ field_generator power level display
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/field_generator/Del()
|
||||
/obj/machinery/field_generator/Destroy()
|
||||
src.cleanup()
|
||||
..()
|
||||
|
||||
@@ -231,22 +230,22 @@ field_generator power level display
|
||||
//Tries to draw the needed power from our own power reserve, or connected generators if we can. Returns the amount of power we were able to get.
|
||||
/obj/machinery/field_generator/proc/draw_power(var/draw = 0, var/list/flood_list = list())
|
||||
flood_list += src
|
||||
|
||||
|
||||
if(src.power >= draw)//We have enough power
|
||||
src.power -= draw
|
||||
return draw
|
||||
|
||||
|
||||
//Need more power
|
||||
var/actual_draw = src.power //already checked that power < draw
|
||||
src.power = 0
|
||||
|
||||
|
||||
for(var/obj/machinery/field_generator/FG in connected_gens)
|
||||
if (FG in flood_list)
|
||||
continue
|
||||
actual_draw += FG.draw_power(draw - actual_draw, flood_list) //since the flood list reference is shared this actually works.
|
||||
if (actual_draw >= draw)
|
||||
return actual_draw
|
||||
|
||||
|
||||
return actual_draw
|
||||
|
||||
/obj/machinery/field_generator/proc/start_fields()
|
||||
@@ -325,7 +324,7 @@ field_generator power level display
|
||||
for (var/obj/machinery/containment_field/F in fields)
|
||||
if (isnull(F))
|
||||
continue
|
||||
del(F)
|
||||
qdel(F)
|
||||
fields = list()
|
||||
for(var/obj/machinery/field_generator/FG in connected_gens)
|
||||
if (isnull(FG))
|
||||
@@ -343,7 +342,7 @@ field_generator power level display
|
||||
//I want to avoid using global variables.
|
||||
spawn(1)
|
||||
var/temp = 1 //stops spam
|
||||
for(var/obj/machinery/singularity/O in machines)
|
||||
for(var/obj/singularity/O in machines)
|
||||
if(O.last_warning && temp)
|
||||
if((world.time - O.last_warning) > 50) //to stop message-spam
|
||||
temp = 0
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
/obj/machinery/the_singularitygen/process()
|
||||
var/turf/T = get_turf(src)
|
||||
if(src.energy >= 200)
|
||||
new /obj/machinery/singularity/(T, 50)
|
||||
if(src) del(src)
|
||||
new /obj/singularity/(T, 50)
|
||||
if(src) qdel(src)
|
||||
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
var/global/narsie_behaviour = "CultStation13"
|
||||
var/global/narsie_cometh = 0
|
||||
var/global/list/narsie_list = list()
|
||||
/obj/machinery/singularity/narsie //Moving narsie to its own file for the sake of being clearer
|
||||
/obj/singularity/narsie //Moving narsie to its own file for the sake of being clearer
|
||||
name = "Nar-Sie"
|
||||
desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees."
|
||||
icon = 'icons/obj/narsie.dmi'
|
||||
@@ -16,15 +15,15 @@ var/global/list/narsie_list = list()
|
||||
consume_range = 3 //How many tiles out do we eat
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/New()
|
||||
/obj/singularity/narsie/New()
|
||||
..()
|
||||
narsie_list.Add(src)
|
||||
|
||||
/obj/machinery/singularity/narsie/Destroy()
|
||||
/obj/singularity/narsie/Destroy()
|
||||
narsie_list.Remove(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/singularity/narsie/large
|
||||
/obj/singularity/narsie/large
|
||||
name = "Nar-Sie"
|
||||
icon = 'icons/obj/narsie.dmi'
|
||||
icon_state = "narsie"//mobs perceive the geometer of blood through their see_narsie proc
|
||||
@@ -40,21 +39,23 @@ var/global/list/narsie_list = list()
|
||||
var/announce=1
|
||||
var/narnar = 1
|
||||
|
||||
/obj/machinery/singularity/narsie/large/New()
|
||||
/obj/singularity/narsie/large/New()
|
||||
..()
|
||||
if(announce)
|
||||
world << "<font size='15' color='red'><b>[uppertext(name)] HAS RISEN</b></font>"
|
||||
world << sound('sound/effects/wind/wind_5_1.ogg')
|
||||
|
||||
if(emergency_shuttle && emergency_shuttle.can_call())
|
||||
emergency_shuttle.call_evac()
|
||||
emergency_shuttle.launch_time = 0 // Cannot recall
|
||||
narsie_spawn_animation()
|
||||
|
||||
if(narnar)
|
||||
SetUniversalState(/datum/universal_state/hell)
|
||||
narsie_cometh = 1
|
||||
|
||||
/obj/machinery/singularity/narsie/process()
|
||||
spawn(10 SECONDS)
|
||||
if(emergency_shuttle && emergency_shuttle.can_call())
|
||||
emergency_shuttle.call_evac()
|
||||
emergency_shuttle.launch_time = 0 // Cannot recall
|
||||
|
||||
/obj/singularity/narsie/process()
|
||||
eat()
|
||||
|
||||
if (!target || prob(5))
|
||||
@@ -65,13 +66,13 @@ var/global/list/narsie_list = list()
|
||||
if (prob(25))
|
||||
mezzer()
|
||||
|
||||
/obj/machinery/singularity/narsie/large/eat()
|
||||
/obj/singularity/narsie/large/eat()
|
||||
set background = BACKGROUND_ENABLED
|
||||
|
||||
for (var/turf/A in orange(consume_range, src))
|
||||
consume(A)
|
||||
|
||||
/obj/machinery/singularity/narsie/mezzer()
|
||||
/obj/singularity/narsie/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(M.stat == CONSCIOUS)
|
||||
if(M.status_flags & GODMODE)
|
||||
@@ -81,21 +82,21 @@ var/global/list/narsie_list = list()
|
||||
M.apply_effect(3, STUN)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/large/Bump(atom/A)
|
||||
/obj/singularity/narsie/large/Bump(atom/A)
|
||||
if(!narnar) return
|
||||
if(isturf(A))
|
||||
narsiewall(A)
|
||||
else if(istype(A, /obj/structure/cult))
|
||||
qdel(A)
|
||||
|
||||
/obj/machinery/singularity/narsie/large/Bumped(atom/A)
|
||||
/obj/singularity/narsie/large/Bumped(atom/A)
|
||||
if(!narnar) return
|
||||
if(isturf(A))
|
||||
narsiewall(A)
|
||||
else if(istype(A, /obj/structure/cult))
|
||||
qdel(A)
|
||||
|
||||
/obj/machinery/singularity/narsie/move(var/force_move = 0)
|
||||
/obj/singularity/narsie/move(var/force_move = 0)
|
||||
if(!move_self)
|
||||
return 0
|
||||
|
||||
@@ -113,7 +114,7 @@ var/global/list/narsie_list = list()
|
||||
step(src, movement_dir)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/narsie/large/move(var/force_move = 0)
|
||||
/obj/singularity/narsie/large/move(var/force_move = 0)
|
||||
if(!move_self)
|
||||
return 0
|
||||
|
||||
@@ -138,14 +139,14 @@ var/global/list/narsie_list = list()
|
||||
M.see_narsie(src,movement_dir)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/narsiefloor(var/turf/T)//leaving "footprints"
|
||||
/obj/singularity/narsie/proc/narsiefloor(var/turf/T)//leaving "footprints"
|
||||
if(!(istype(T, /turf/simulated/wall/cult)||istype(T, /turf/space)))
|
||||
if(T.icon_state != "cult-narsie")
|
||||
T.desc = "something that goes beyond your understanding went this way"
|
||||
T.icon_state = "cult-narsie"
|
||||
T.luminosity = 1
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/narsiewall(var/turf/T)
|
||||
/obj/singularity/narsie/proc/narsiewall(var/turf/T)
|
||||
T.desc = "An opening has been made on that wall, but who can say if what you seek truly lies on the other side?"
|
||||
T.icon = 'icons/turf/walls.dmi'
|
||||
T.icon_state = "cult-narsie"
|
||||
@@ -153,7 +154,7 @@ var/global/list/narsie_list = list()
|
||||
T.density = 0
|
||||
luminosity = 1
|
||||
|
||||
/obj/machinery/singularity/narsie/large/consume(const/atom/A) //Has its own consume proc because it doesn't need energy and I don't want BoHs to explode it. --NEO
|
||||
/obj/singularity/narsie/large/consume(const/atom/A) //Has its own consume proc because it doesn't need energy and I don't want BoHs to explode it. --NEO
|
||||
//NEW BEHAVIOUR
|
||||
if(narsie_behaviour == "CultStation13")
|
||||
//MOB PROCESSING
|
||||
@@ -163,7 +164,7 @@ var/global/list/narsie_list = list()
|
||||
else if(narsie_behaviour == "Nar-Singulo")
|
||||
old_narsie(A)
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/new_narsie(const/atom/A)
|
||||
/obj/singularity/narsie/proc/new_narsie(const/atom/A)
|
||||
if (istype(A, /mob/) && (get_dist(A, src) <= 7))
|
||||
var/mob/M = A
|
||||
|
||||
@@ -192,7 +193,7 @@ var/global/list/narsie_list = list()
|
||||
T.holy = 0 //Nar-Sie doesn't give a shit about sacred grounds.
|
||||
T.cultify()
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/old_narsie(const/atom/A)
|
||||
/obj/singularity/narsie/proc/old_narsie(const/atom/A)
|
||||
if(!(A.singuloCanEat()))
|
||||
return 0
|
||||
|
||||
@@ -224,7 +225,7 @@ var/global/list/narsie_list = list()
|
||||
var/turf/T2 = A
|
||||
T2.ChangeTurf(/turf/space)
|
||||
|
||||
/obj/machinery/singularity/narsie/consume(const/atom/A) //This one is for the small ones.
|
||||
/obj/singularity/narsie/consume(const/atom/A) //This one is for the small ones.
|
||||
if(!(A.singuloCanEat()))
|
||||
return 0
|
||||
|
||||
@@ -266,10 +267,10 @@ var/global/list/narsie_list = list()
|
||||
var/turf/T2 = A
|
||||
T2.ChangeTurf(/turf/space)
|
||||
|
||||
/obj/machinery/singularity/narsie/ex_act(severity) //No throwing bombs at it either. --NEO
|
||||
/obj/singularity/narsie/ex_act(severity) //No throwing bombs at it either. --NEO
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO
|
||||
/obj/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO
|
||||
var/list/cultists = list()
|
||||
for(var/datum/mind/cult_nh_mind in cult.current_antagonists)
|
||||
if(!cult_nh_mind.current)
|
||||
@@ -307,7 +308,7 @@ var/global/list/narsie_list = list()
|
||||
return
|
||||
//no living humans, follow a ghost instead.
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/acquire(const/mob/food)
|
||||
/obj/singularity/narsie/proc/acquire(const/mob/food)
|
||||
var/capname = uppertext(name)
|
||||
|
||||
target << "<span class='notice'><b>[capname] HAS LOST INTEREST IN YOU.</b></span>"
|
||||
@@ -318,17 +319,17 @@ var/global/list/narsie_list = list()
|
||||
else
|
||||
target << "<span class='danger'>[capname] HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL.</span>"
|
||||
|
||||
/obj/machinery/singularity/narsie/on_capture()
|
||||
/obj/singularity/narsie/on_capture()
|
||||
chained = 1
|
||||
move_self = 0
|
||||
icon_state ="narsie-small-chains"
|
||||
|
||||
/obj/machinery/singularity/narsie/on_release()
|
||||
/obj/singularity/narsie/on_release()
|
||||
chained = 0
|
||||
move_self = 1
|
||||
icon_state ="narsie-small"
|
||||
|
||||
/obj/machinery/singularity/narsie/large/on_capture()
|
||||
/obj/singularity/narsie/large/on_capture()
|
||||
chained = 1
|
||||
move_self = 0
|
||||
icon_state ="narsie-chains"
|
||||
@@ -336,22 +337,31 @@ var/global/list/narsie_list = list()
|
||||
if(M.client)
|
||||
M.see_narsie(src)
|
||||
|
||||
/obj/machinery/singularity/narsie/large/on_release()
|
||||
/obj/singularity/narsie/large/on_release()
|
||||
chained = 0
|
||||
move_self = 1
|
||||
icon_state ="narsie"
|
||||
|
||||
/obj/machinery/singularity/narsie/cultify()
|
||||
/obj/singularity/narsie/cultify()
|
||||
return
|
||||
|
||||
/**
|
||||
* Wizard narsie.
|
||||
*/
|
||||
/obj/machinery/singularity/narsie/wizard
|
||||
/obj/singularity/narsie/wizard
|
||||
grav_pull = 0
|
||||
|
||||
/obj/machinery/singularity/narsie/wizard/eat()
|
||||
/obj/singularity/narsie/wizard/eat()
|
||||
set background = BACKGROUND_ENABLED
|
||||
|
||||
for (var/turf/T in trange(consume_range, src))
|
||||
consume(T)
|
||||
|
||||
/obj/singularity/narsie/proc/narsie_spawn_animation()
|
||||
icon = 'icons/obj/narsie_spawn_anim.dmi'
|
||||
dir = SOUTH
|
||||
move_self = 0
|
||||
flick("narsie_spawn_anim",src)
|
||||
sleep(11)
|
||||
move_self = 1
|
||||
icon = initial(icon)
|
||||
|
||||
@@ -41,14 +41,14 @@
|
||||
if (A)
|
||||
if(ismob(A))
|
||||
toxmob(A)
|
||||
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/machinery/singularity/)))
|
||||
if((istype(A,/obj/machinery/the_singularitygen))||(istype(A,/obj/singularity/)))
|
||||
A:energy += energy
|
||||
else if( istype(A,/obj/effect/rust_particle_catcher) )
|
||||
var/obj/effect/rust_particle_catcher/collided_catcher = A
|
||||
if(particle_type && particle_type != "neutron")
|
||||
if(collided_catcher.AddParticles(particle_type, 1 + additional_particles))
|
||||
collided_catcher.parent.AddEnergy(energy,mega_energy)
|
||||
del (src)
|
||||
qdel(src)
|
||||
else if( istype(A,/obj/machinery/power/rust_core) )
|
||||
var/obj/machinery/power/rust_core/collided_core = A
|
||||
if(particle_type && particle_type != "neutron")
|
||||
@@ -56,7 +56,7 @@
|
||||
var/energy_loss_ratio = abs(collided_core.owned_field.frequency - frequency) / 1e9
|
||||
collided_core.owned_field.mega_energy += mega_energy - mega_energy * energy_loss_ratio
|
||||
collided_core.owned_field.energy += energy - energy * energy_loss_ratio
|
||||
del (src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
|
||||
/obj/effect/accelerated_particle/ex_act(severity)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
src.loc = get_step(src,dir)
|
||||
movement_range--
|
||||
if(movement_range <= 0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
else
|
||||
sleep(lag)
|
||||
move(lag)
|
||||
|
||||
@@ -72,6 +72,12 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
var/strength = null
|
||||
var/desc_holder = null
|
||||
|
||||
/obj/structure/particle_accelerator/Destroy()
|
||||
construction_state = 0
|
||||
if(master)
|
||||
master.part_scan()
|
||||
..()
|
||||
|
||||
/obj/structure/particle_accelerator/end_cap
|
||||
name = "Alpha Particle Generation Array"
|
||||
desc_holder = "This is where Alpha particles are generated from \[REDACTED\]"
|
||||
@@ -138,15 +144,15 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
/obj/structure/particle_accelerator/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(3.0)
|
||||
if (prob(25))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
@@ -154,13 +160,13 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
|
||||
/obj/structure/particle_accelerator/blob_act()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/particle_accelerator/meteorhit()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/structure/particle_accelerator/update_icon()
|
||||
@@ -325,15 +331,15 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
/obj/machinery/particle_accelerator/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(3.0)
|
||||
if (prob(25))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
@@ -341,13 +347,13 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
|
||||
/obj/machinery/particle_accelerator/blob_act()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/meteorhit()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
active_power_usage = initial(active_power_usage) * (strength + 1)
|
||||
..()
|
||||
|
||||
/obj/machinery/particle_accelerator/control_box/Destroy()
|
||||
if(active)
|
||||
toggle_power()
|
||||
..()
|
||||
|
||||
/obj/machinery/particle_accelerator/control_box/attack_hand(mob/user as mob)
|
||||
if(construction_state >= 3)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
/obj/machinery/singularity/
|
||||
/obj/singularity/
|
||||
name = "gravitational singularity"
|
||||
desc = "A gravitational singularity."
|
||||
icon = 'icons/obj/singularity.dmi'
|
||||
@@ -10,7 +10,6 @@
|
||||
layer = 6
|
||||
luminosity = 6
|
||||
unacidable = 1 //Don't comment this out.
|
||||
use_power = 0
|
||||
|
||||
var/current_size = 1
|
||||
var/allowed_size = 1
|
||||
@@ -30,7 +29,7 @@
|
||||
|
||||
var/chained = 0//Adminbus chain-grab
|
||||
|
||||
/obj/machinery/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
/obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
//CARN: admin-alert for chuckle-fuckery.
|
||||
admin_investigate_setup()
|
||||
energy = starting_energy
|
||||
@@ -40,19 +39,24 @@
|
||||
qdel(src)
|
||||
|
||||
..()
|
||||
processing_objects += src
|
||||
for(var/obj/machinery/power/singularity_beacon/singubeacon in machines)
|
||||
if(singubeacon.active)
|
||||
target = singubeacon
|
||||
break
|
||||
|
||||
/obj/machinery/singularity/attack_hand(mob/user as mob)
|
||||
/obj/singularity/Destroy()
|
||||
processing_objects -= src
|
||||
..()
|
||||
|
||||
/obj/singularity/attack_hand(mob/user as mob)
|
||||
consume(user)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/blob_act(severity)
|
||||
/obj/singularity/blob_act(severity)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/ex_act(severity)
|
||||
/obj/singularity/ex_act(severity)
|
||||
if(current_size == STAGE_SUPER)//IT'S UNSTOPPABLE
|
||||
return
|
||||
switch(severity)
|
||||
@@ -67,16 +71,16 @@
|
||||
energy += round((rand(20,60)/2),1)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/bullet_act(obj/item/projectile/P)
|
||||
/obj/singularity/bullet_act(obj/item/projectile/P)
|
||||
return 0 //Will there be an impact? Who knows. Will we see it? No.
|
||||
|
||||
/obj/machinery/singularity/Bump(atom/A)
|
||||
/obj/singularity/Bump(atom/A)
|
||||
consume(A)
|
||||
|
||||
/obj/machinery/singularity/Bumped(atom/A)
|
||||
/obj/singularity/Bumped(atom/A)
|
||||
consume(A)
|
||||
|
||||
/obj/machinery/singularity/process()
|
||||
/obj/singularity/process()
|
||||
eat()
|
||||
dissipate()
|
||||
check_energy()
|
||||
@@ -88,10 +92,10 @@
|
||||
if (prob(event_chance)) //Chance for it to run a special event TODO: Come up with one or two more that fit.
|
||||
event()
|
||||
|
||||
/obj/machinery/singularity/attack_ai() //To prevent ais from gibbing themselves when they click on one.
|
||||
/obj/singularity/attack_ai() //To prevent ais from gibbing themselves when they click on one.
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/proc/admin_investigate_setup()
|
||||
/obj/singularity/proc/admin_investigate_setup()
|
||||
last_warning = world.time
|
||||
var/count = locate(/obj/machinery/containment_field) in orange(30, src)
|
||||
|
||||
@@ -100,7 +104,7 @@
|
||||
|
||||
investigate_log("was created. [count ? "" : "<font color='red'>No containment fields were active.</font>"]", I_SINGULO)
|
||||
|
||||
/obj/machinery/singularity/proc/dissipate()
|
||||
/obj/singularity/proc/dissipate()
|
||||
if (!dissipate)
|
||||
return
|
||||
|
||||
@@ -110,7 +114,7 @@
|
||||
else
|
||||
dissipate_track++
|
||||
|
||||
/obj/machinery/singularity/proc/expand(var/force_size = 0, var/growing = 1)
|
||||
/obj/singularity/proc/expand(var/force_size = 0, var/growing = 1)
|
||||
if(current_size == STAGE_SUPER)//if this is happening, this is an error
|
||||
message_admins("expand() was called on a super singulo. This should not happen. Contact a coder immediately!")
|
||||
return
|
||||
@@ -241,7 +245,7 @@
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/machinery/singularity/proc/check_energy()
|
||||
/obj/singularity/proc/check_energy()
|
||||
if (energy <= 0)
|
||||
investigate_log("collapsed.", I_SINGULO)
|
||||
qdel(src)
|
||||
@@ -265,12 +269,12 @@
|
||||
expand(null, current_size > allowed_size)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/proc/eat()
|
||||
/obj/singularity/proc/eat()
|
||||
set background = BACKGROUND_ENABLED
|
||||
|
||||
for(var/atom/X in orange(grav_pull, src))
|
||||
var/dist = get_dist(X, src)
|
||||
var/obj/machinery/singularity/S = src
|
||||
var/obj/singularity/S = src
|
||||
if(!istype(src))
|
||||
return
|
||||
if(dist > consume_range)
|
||||
@@ -283,11 +287,11 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/proc/consume(const/atom/A)
|
||||
/obj/singularity/proc/consume(const/atom/A)
|
||||
src.energy += A.singularity_act(src, current_size)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/proc/move(var/force_move = 0)
|
||||
/obj/singularity/proc/move(var/force_move = 0)
|
||||
if(!move_self)
|
||||
return 0
|
||||
|
||||
@@ -314,7 +318,7 @@
|
||||
last_failed_movement = movement_dir
|
||||
return 0
|
||||
|
||||
/obj/machinery/singularity/proc/check_turfs_in(var/direction = 0, var/step = 0)
|
||||
/obj/singularity/proc/check_turfs_in(var/direction = 0, var/step = 0)
|
||||
if(!direction)
|
||||
return 0
|
||||
var/steps = 0
|
||||
@@ -368,7 +372,7 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/proc/can_move(const/turf/T)
|
||||
/obj/singularity/proc/can_move(const/turf/T)
|
||||
if (!isturf(T))
|
||||
return 0
|
||||
|
||||
@@ -386,7 +390,7 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/proc/event()
|
||||
/obj/singularity/proc/event()
|
||||
var/numb = pick(1, 2, 3, 4, 5, 6)
|
||||
|
||||
switch (numb)
|
||||
@@ -403,7 +407,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/toxmob()
|
||||
/obj/singularity/proc/toxmob()
|
||||
var/toxrange = 10
|
||||
var/toxdamage = 4
|
||||
var/radiation = 15
|
||||
@@ -421,7 +425,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/mezzer()
|
||||
/obj/singularity/proc/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(istype(M, /mob/living/carbon/brain)) //Ignore brains
|
||||
continue
|
||||
@@ -440,13 +444,13 @@
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("<span class='danger'>[] stares blankly at The []!</span>", M, src), 1)
|
||||
|
||||
/obj/machinery/singularity/proc/emp_area()
|
||||
/obj/singularity/proc/emp_area()
|
||||
if(current_size != 11)
|
||||
empulse(src, 8, 10)
|
||||
else
|
||||
empulse(src, 12, 16)
|
||||
|
||||
/obj/machinery/singularity/proc/smwave()
|
||||
/obj/singularity/proc/smwave()
|
||||
for(var/mob/living/M in view(10, src.loc))
|
||||
if(prob(67))
|
||||
M.apply_effect(rand(energy), IRRADIATE)
|
||||
@@ -458,12 +462,12 @@
|
||||
M.dust()
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/proc/pulse()
|
||||
/obj/singularity/proc/pulse()
|
||||
for(var/obj/machinery/power/rad_collector/R in rad_collectors)
|
||||
if (get_dist(R, src) <= 15) //Better than using orange() every process.
|
||||
R.receive_pulse(energy)
|
||||
|
||||
/obj/machinery/singularity/proc/on_capture()
|
||||
/obj/singularity/proc/on_capture()
|
||||
chained = 1
|
||||
overlays = 0
|
||||
move_self = 0
|
||||
@@ -479,12 +483,12 @@
|
||||
if(9)
|
||||
overlays += image('icons/effects/288x288.dmi',"chain_s9")
|
||||
|
||||
/obj/machinery/singularity/proc/on_release()
|
||||
/obj/singularity/proc/on_release()
|
||||
chained = 0
|
||||
overlays = 0
|
||||
move_self = 1
|
||||
|
||||
/obj/machinery/singularity/singularity_act(S, size)
|
||||
/obj/singularity/singularity_act(S, size)
|
||||
if(current_size <= size)
|
||||
var/gain = (energy/2)
|
||||
var/dist = max((current_size - 2), 1)
|
||||
|
||||
@@ -83,6 +83,12 @@
|
||||
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/power/smes/Destroy()
|
||||
if(terminal)
|
||||
disconnect_terminal()
|
||||
..()
|
||||
|
||||
/obj/machinery/power/smes/update_icon()
|
||||
overlays.Cut()
|
||||
if(stat & BROKEN) return
|
||||
@@ -281,7 +287,7 @@
|
||||
user.visible_message(\
|
||||
"<span class='notice'>[user.name] cut the cables and dismantled the power terminal.</span>",\
|
||||
"<span class='notice'>You cut the cables and dismantle the power terminal.</span>")
|
||||
del(terminal)
|
||||
qdel(terminal)
|
||||
building_terminal = 0
|
||||
return 0
|
||||
return 1
|
||||
@@ -374,7 +380,7 @@
|
||||
smoke.attach(src)
|
||||
smoke.start()
|
||||
explosion(src.loc, -1, 0, 1, 3, 1, 0)
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(prob(15)) //Power drain
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
src.ping("DANGER! Magnetic containment field failure in 3 ... 2 ... 1 ...")
|
||||
explosion(src.loc,1,2,4,8)
|
||||
// Not sure if this is necessary, but just in case the SMES *somehow* survived..
|
||||
del(src)
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -345,7 +345,7 @@
|
||||
if(I.reliability != 100 && crit_fail)
|
||||
I.crit_fail = 1
|
||||
I.loc = src.loc
|
||||
del(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
// Superconducting Magnetic Coil - Upgrade the SMES
|
||||
|
||||
+10
-10
@@ -30,7 +30,7 @@ var/list/solars_list = list()
|
||||
Make(S)
|
||||
connect_to_network()
|
||||
|
||||
/obj/machinery/power/solar/Del()
|
||||
/obj/machinery/power/solar/Destroy()
|
||||
unset_control() //remove from control computer
|
||||
..()
|
||||
|
||||
@@ -71,7 +71,7 @@ var/list/solars_list = list()
|
||||
S.give_glass()
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] takes the glass off the solar panel.</span>")
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
else if (W)
|
||||
src.add_fingerprint(user)
|
||||
@@ -93,7 +93,7 @@ var/list/solars_list = list()
|
||||
else
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
new /obj/item/weapon/shard(src.loc)
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -154,13 +154,13 @@ var/list/solars_list = list()
|
||||
if(1.0)
|
||||
if(prob(15))
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(2.0)
|
||||
if (prob(25))
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if (prob(50))
|
||||
@@ -270,7 +270,7 @@ var/list/solars_list = list()
|
||||
if(istype(W, /obj/item/weapon/tracker_electronics))
|
||||
tracker = 1
|
||||
user.drop_item()
|
||||
del(W) // qdel
|
||||
qdel(W)
|
||||
user.visible_message("<span class='notice'>[user] inserts the electronics into the solar assembly.</span>")
|
||||
return 1
|
||||
else
|
||||
@@ -314,7 +314,7 @@ var/list/solars_list = list()
|
||||
initialize()
|
||||
connect_to_network()
|
||||
|
||||
/obj/machinery/power/solar_control/Del()
|
||||
/obj/machinery/power/solar_control/Destroy()
|
||||
for(var/obj/machinery/power/solar/M in connected_panels)
|
||||
M.unset_control()
|
||||
if(connected_tracker)
|
||||
@@ -433,7 +433,7 @@ var/list/solars_list = list()
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.anchored = 1
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
@@ -444,7 +444,7 @@ var/list/solars_list = list()
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.anchored = 1
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
@@ -534,7 +534,7 @@ var/list/solars_list = list()
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
//SN src = null
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
if (prob(50))
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if(level==1) hide(T.intact)
|
||||
return
|
||||
|
||||
/obj/machinery/power/terminal/Del()
|
||||
/obj/machinery/power/terminal/Destroy()
|
||||
if(master)
|
||||
master.disconnect_terminal()
|
||||
return ..()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
Make(S)
|
||||
connect_to_network()
|
||||
|
||||
/obj/machinery/power/tracker/Del()
|
||||
/obj/machinery/power/tracker/Destroy()
|
||||
unset_control() //remove from control computer
|
||||
..()
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
S.give_glass()
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] takes the glass off the tracker.</span>")
|
||||
del(src) // qdel
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
qdel(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
@@ -255,7 +255,7 @@
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
qdel(src)
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user