mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 23:27:34 +01:00
The singularity/narsie are no longer machines
This commit is contained in:
@@ -224,7 +224,7 @@
|
||||
"ep" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/academy/classrooms)
|
||||
"eq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/awaymission/academy/classrooms)
|
||||
"er" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaymission/academy/classrooms)
|
||||
"es" = (/obj/machinery/singularity/academy,/turf/space,/area/space)
|
||||
"es" = (/obj/singularity/academy,/turf/space,/area/space)
|
||||
"et" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/awaymission/academy/classrooms)
|
||||
"eu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/awaymission/academy/classrooms)
|
||||
"ev" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/plasteel,/area/awaymission/academy/classrooms)
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
"dt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
|
||||
"du" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/labcoat,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/awaymission/research)
|
||||
"dv" = (/obj/machinery/door/airlock/hatch{name = "High-Security Airlock"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/research)
|
||||
"dw" = (/obj/machinery/singularity/narsie/sc_Narsie{pixel_x = -48; pixel_y = -51},/turf/space,/area/awaymission/research)
|
||||
"dw" = (/obj/singularity/narsie/sc_Narsie{pixel_x = -48; pixel_y = -51},/turf/space,/area/awaymission/research)
|
||||
"dx" = (/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
"dy" = (/obj/machinery/message_server{stat = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
"dz" = (/obj/machinery/computer/message_monitor{stat = 1},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaymission/northblock)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
return // seems legit.
|
||||
|
||||
// Things you might plausibly want to follow
|
||||
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/machinery/singularity))
|
||||
if((ismob(A) && A != src) || istype(A,/obj/machinery/bot) || istype(A,/obj/singularity))
|
||||
ManualFollow(A)
|
||||
|
||||
// Otherwise jump
|
||||
|
||||
@@ -167,7 +167,7 @@ var/list/sacrificed = list()
|
||||
M.reagents.add_reagent("hell_water", 10)
|
||||
M << "<span class='h2.userdanger'>YOUR SOUL BURNS WITH YOUR ARROGANCE!!!</span>"
|
||||
return
|
||||
var/narsie_type = /obj/machinery/singularity/narsie/large
|
||||
var/narsie_type = /obj/singularity/narsie/large
|
||||
// Moves narsie if she was already summoned.
|
||||
var/obj/her = locate(narsie_type, machines)
|
||||
if(her)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/effect/rend/New()
|
||||
spawn(50)
|
||||
new /obj/machinery/singularity/narsie/wizard(get_turf(src))
|
||||
new /obj/singularity/narsie/wizard(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
if(surplus() < 1500)
|
||||
if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>"
|
||||
return
|
||||
for(var/obj/machinery/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in world)
|
||||
if(singulo.z == z)
|
||||
singulo.target = src
|
||||
icon_state = "[icontype]1"
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
|
||||
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
|
||||
for(var/obj/machinery/singularity/singulo in world)
|
||||
for(var/obj/singularity/singulo in world)
|
||||
if(singulo.target == src)
|
||||
singulo.target = null
|
||||
icon_state = "[icontype]0"
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
if(current && current.can_use())
|
||||
var/list/seen = current.can_see()
|
||||
var/list/names = list()
|
||||
for(var/obj/machinery/singularity/S in seen) // god help you if you see more than one
|
||||
for(var/obj/singularity/S in seen) // god help you if you see more than one
|
||||
if(S.name in names)
|
||||
names[S.name]++
|
||||
dat += "[S.name] ([names[S.name]])"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user << "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>"
|
||||
qdel(W)
|
||||
var/obj/machinery/singularity/singulo = new /obj/machinery/singularity (get_turf(src))
|
||||
var/obj/singularity/singulo = new /obj/singularity (get_turf(src))
|
||||
singulo.energy = 300 //should make it a bit bigger~
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
|
||||
@@ -989,7 +989,7 @@ var/global/list/g_fancy_list_of_types = null
|
||||
spawn(30)
|
||||
for(var/obj/machinery/the_singularitygen/G in world)
|
||||
if(G.anchored)
|
||||
var/obj/machinery/singularity/S = new /obj/machinery/singularity(get_turf(G), 50)
|
||||
var/obj/singularity/S = new /obj/singularity(get_turf(G), 50)
|
||||
// qdel(G)
|
||||
S.energy = 1750
|
||||
S.current_size = 7
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
set name = "Possess Obj"
|
||||
set category = "Object"
|
||||
|
||||
if(istype(O,/obj/machinery/singularity))
|
||||
if(istype(O,/obj/singularity))
|
||||
if(config.forbid_singulo_possession)
|
||||
usr << "It is forbidden to possess singularities."
|
||||
return
|
||||
|
||||
@@ -22,15 +22,15 @@
|
||||
|
||||
//Academy Items
|
||||
|
||||
/obj/machinery/singularity/academy
|
||||
/obj/singularity/academy
|
||||
dissipate = 0
|
||||
move_self = 0
|
||||
grav_pull = 1
|
||||
|
||||
/obj/machinery/singularity/academy/admin_investigate_setup()
|
||||
/obj/singularity/academy/admin_investigate_setup()
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/academy/process()
|
||||
/obj/singularity/academy/process()
|
||||
eat()
|
||||
if(prob(1))
|
||||
mezzer()
|
||||
|
||||
@@ -159,21 +159,21 @@ var/sc_safecode5 = "[rand(0,9)]"
|
||||
/*
|
||||
* Modified Nar-Sie
|
||||
*/
|
||||
/obj/machinery/singularity/narsie/sc_Narsie
|
||||
/obj/singularity/narsie/sc_Narsie
|
||||
desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible."
|
||||
move_self = 0 //Contianed narsie does not move!
|
||||
grav_pull = 0 //Contained narsie does not pull stuff in!
|
||||
|
||||
//Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/admin_investigate_setup()
|
||||
/obj/singularity/narsie/sc_Narsie/admin_investigate_setup()
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/process()
|
||||
/obj/singularity/narsie/sc_Narsie/process()
|
||||
eat()
|
||||
if(prob(25))
|
||||
mezzer()
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/consume(var/atom/A)
|
||||
/obj/singularity/narsie/sc_Narsie/consume(var/atom/A)
|
||||
if(is_type_in_list(A, uneatable))
|
||||
return 0
|
||||
if (istype(A,/mob/living))
|
||||
@@ -194,5 +194,5 @@ var/sc_safecode5 = "[rand(0,9)]"
|
||||
T.ChangeTurf(/turf/space)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/sc_Narsie/ex_act()
|
||||
/obj/singularity/narsie/sc_Narsie/ex_act()
|
||||
return
|
||||
@@ -518,7 +518,7 @@ var/list/slot_equipment_priority = list( \
|
||||
namecounts[name] = 1
|
||||
creatures[name] = O
|
||||
|
||||
if(istype(O, /obj/machinery/singularity))
|
||||
if(istype(O, /obj/singularity))
|
||||
var/name = "Singularity"
|
||||
if (names.Find(name))
|
||||
namecounts[name]++
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/field/CanPass(obj/mover as obj, turf/target, height=0)
|
||||
if((istype(mover, /obj/machinery) && !istype(mover, /obj/machinery/singularity)) || \
|
||||
if((istype(mover, /obj/machinery) && !istype(mover, /obj/singularity)) || \
|
||||
istype(mover, /obj/structure) || \
|
||||
istype(mover, /obj/mecha))
|
||||
bump(mover)
|
||||
|
||||
@@ -344,7 +344,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 world)
|
||||
for(var/obj/singularity/O in world)
|
||||
if(O.last_warning && temp)
|
||||
if((world.time - O.last_warning) > 50) //to stop message-spam
|
||||
temp = 0
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/machinery/the_singularitygen/process()
|
||||
var/turf/T = get_turf(src)
|
||||
if(src.energy >= 200)
|
||||
new /obj/machinery/singularity/(T, 50)
|
||||
new /obj/singularity/(T, 50)
|
||||
if(src) qdel(src)
|
||||
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/machinery/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO
|
||||
/obj/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO
|
||||
name = "Nar-sie's Avatar"
|
||||
desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees."
|
||||
icon = 'icons/obj/magic_terror.dmi'
|
||||
@@ -12,7 +12,7 @@
|
||||
consume_range = 6 //How many tiles out do we eat
|
||||
var/uneatable = list(/turf/space, /obj/effect/overlay, /mob/living/simple_animal/construct)
|
||||
|
||||
/obj/machinery/singularity/narsie/large
|
||||
/obj/singularity/narsie/large
|
||||
name = "Nar-Sie"
|
||||
icon = 'icons/obj/narsie.dmi'
|
||||
// Pixel stuff centers Narsie.
|
||||
@@ -23,7 +23,7 @@
|
||||
grav_pull = 10
|
||||
consume_range = 12 //How many tiles out do we eat
|
||||
|
||||
/obj/machinery/singularity/narsie/large/New()
|
||||
/obj/singularity/narsie/large/New()
|
||||
..()
|
||||
world << "<font size='15' color='red'><b>NAR-SIE HAS RISEN</b></font>"
|
||||
world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg'))
|
||||
@@ -39,7 +39,7 @@
|
||||
emergency_shuttle.incall(0.3) // Cannot recall
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
|
||||
/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
|
||||
if(!(src in view()))
|
||||
user << "Your soul is too far away."
|
||||
return
|
||||
@@ -47,7 +47,7 @@
|
||||
new /obj/effect/effect/sleep_smoke(user.loc)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/process()
|
||||
/obj/singularity/narsie/process()
|
||||
eat()
|
||||
if(!target || prob(5))
|
||||
pickcultist()
|
||||
@@ -56,15 +56,15 @@
|
||||
mezzer()
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/Bump(atom/A)//you dare stand before a god?!
|
||||
/obj/singularity/narsie/Bump(atom/A)//you dare stand before a god?!
|
||||
godsmack(A)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/Bumped(atom/A)
|
||||
/obj/singularity/narsie/Bumped(atom/A)
|
||||
godsmack(A)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/godsmack(var/atom/A)
|
||||
/obj/singularity/narsie/proc/godsmack(var/atom/A)
|
||||
if(istype(A,/obj/))
|
||||
var/obj/O = A
|
||||
O.ex_act(1.0)
|
||||
@@ -75,7 +75,7 @@
|
||||
T.ChangeTurf(/turf/simulated/floor/engine/cult)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/mezzer()
|
||||
/obj/singularity/narsie/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(M.stat == CONSCIOUS)
|
||||
if(!iscultist(M))
|
||||
@@ -83,7 +83,7 @@
|
||||
M.apply_effect(3, STUN)
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/consume(var/atom/A)
|
||||
/obj/singularity/narsie/consume(var/atom/A)
|
||||
if(is_type_in_list(A, uneatable))
|
||||
return 0
|
||||
|
||||
@@ -105,11 +105,11 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO
|
||||
/obj/singularity/narsie/ex_act() //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()
|
||||
var/list/noncultists = list()
|
||||
for(var/mob/living/carbon/food in living_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess
|
||||
@@ -143,7 +143,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/acquire(var/mob/food)
|
||||
/obj/singularity/narsie/proc/acquire(var/mob/food)
|
||||
target << "<span class='notice'>NAR-SIE HAS LOST INTEREST IN YOU</span>"
|
||||
target = food
|
||||
if(ishuman(target))
|
||||
@@ -152,10 +152,10 @@
|
||||
target << "<span class ='userdanger'>NAR-SIE HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL</span>"
|
||||
|
||||
//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
|
||||
// if(defer_powernet_rebuild != 2)
|
||||
// defer_powernet_rebuild = 1
|
||||
@@ -167,7 +167,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/narsie/proc/narsie_spawn_animation()
|
||||
/obj/singularity/narsie/proc/narsie_spawn_animation()
|
||||
icon = 'icons/obj/narsie_spawn_anim.dmi'
|
||||
dir = SOUTH
|
||||
move_self = 0
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
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
|
||||
return
|
||||
|
||||
|
||||
@@ -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
|
||||
var/contained = 1 //Are we going to move around?
|
||||
@@ -27,20 +26,24 @@
|
||||
var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing
|
||||
var/last_warning
|
||||
|
||||
/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()
|
||||
|
||||
src.energy = starting_energy
|
||||
..()
|
||||
processing_objects.Add(src)
|
||||
for(var/obj/machinery/power/singularity_beacon/singubeacon in world)
|
||||
if(singubeacon.active)
|
||||
target = singubeacon
|
||||
break
|
||||
return
|
||||
|
||||
/obj/singularity/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/singularity/Move(atom/newloc, direct)
|
||||
/obj/singularity/Move(atom/newloc, direct)
|
||||
if(current_size >= STAGE_FIVE || check_turfs_in(direct))
|
||||
last_failed_movement = 0//Reset this because we moved
|
||||
return ..()
|
||||
@@ -49,17 +52,17 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/singularity/attack_hand(mob/user as mob)
|
||||
/obj/singularity/attack_hand(mob/user as mob)
|
||||
consume(user)
|
||||
return 1
|
||||
|
||||
/obj/machinery/singularity/Process_Spacemove() //The singularity stops drifting for no man!
|
||||
/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man!
|
||||
return 0
|
||||
|
||||
/obj/machinery/singularity/blob_act(severity)
|
||||
/obj/singularity/blob_act(severity)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/ex_act(severity, target)
|
||||
/obj/singularity/ex_act(severity, target)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
if(current_size <= STAGE_TWO)
|
||||
@@ -75,21 +78,21 @@
|
||||
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)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/Bumped(atom/A)
|
||||
/obj/singularity/Bumped(atom/A)
|
||||
consume(A)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/process()
|
||||
/obj/singularity/process()
|
||||
if(current_size >= STAGE_TWO)
|
||||
move()
|
||||
pulse()
|
||||
@@ -102,17 +105,17 @@
|
||||
return
|
||||
|
||||
|
||||
/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/field/containment) in orange(30, src)
|
||||
if(!count) message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1)
|
||||
investigate_log("was created. [count?"":"<font color='red'>No containment fields were active</font>"]","singulo")
|
||||
|
||||
/obj/machinery/singularity/proc/dissipate()
|
||||
/obj/singularity/proc/dissipate()
|
||||
if(!dissipate)
|
||||
return
|
||||
if(dissipate_track >= dissipate_delay)
|
||||
@@ -122,7 +125,7 @@
|
||||
dissipate_track++
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/expand(var/force_size = 0)
|
||||
/obj/singularity/proc/expand(var/force_size = 0)
|
||||
var/temp_allowed_size = src.allowed_size
|
||||
if(force_size)
|
||||
temp_allowed_size = force_size
|
||||
@@ -191,7 +194,7 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/check_energy()
|
||||
/obj/singularity/proc/check_energy()
|
||||
if(energy <= 0)
|
||||
investigate_log("collapsed.","singulo")
|
||||
qdel(src)
|
||||
@@ -212,11 +215,11 @@
|
||||
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(dist > consume_range)
|
||||
X.singularity_pull(S, current_size)
|
||||
else if(dist <= consume_range)
|
||||
@@ -224,13 +227,13 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/consume(var/atom/A)
|
||||
/obj/singularity/proc/consume(var/atom/A)
|
||||
var/gain = A.singularity_act(current_size)
|
||||
src.energy += gain
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/move(var/force_move = 0)
|
||||
/obj/singularity/proc/move(var/force_move = 0)
|
||||
if(!move_self)
|
||||
return 0
|
||||
|
||||
@@ -245,7 +248,7 @@
|
||||
step(src, movement_dir)
|
||||
|
||||
|
||||
/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
|
||||
@@ -298,7 +301,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/can_move(var/turf/T)
|
||||
/obj/singularity/proc/can_move(var/turf/T)
|
||||
if(!T)
|
||||
return 0
|
||||
if((locate(/obj/machinery/field/containment) in T)||(locate(/obj/machinery/shieldwall) in T))
|
||||
@@ -314,7 +317,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/event()
|
||||
/obj/singularity/proc/event()
|
||||
var/numb = pick(1,2,3,4,5,6)
|
||||
switch(numb)
|
||||
if(1)//EMP
|
||||
@@ -328,7 +331,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/toxmob()
|
||||
/obj/singularity/proc/toxmob()
|
||||
var/toxrange = 10
|
||||
var/toxdamage = 4
|
||||
var/radiation = 15
|
||||
@@ -344,7 +347,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
|
||||
@@ -361,19 +364,19 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/singularity/proc/emp_area()
|
||||
/obj/singularity/proc/emp_area()
|
||||
empulse(src, 8, 10)
|
||||
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)
|
||||
return
|
||||
|
||||
/obj/machinery/singularity/singularity_act()
|
||||
/obj/singularity/singularity_act()
|
||||
var/gain = (energy/2)
|
||||
var/dist = max((current_size - 2),1)
|
||||
explosion(src.loc,(dist),(dist*2),(dist*4))
|
||||
|
||||
Reference in New Issue
Block a user