mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-04 14:33:30 +00:00
Fixed Narsie
Instead of being a var-edited singularity (which ends up following the normal singularity rules), narsie is now a child object of the singularity, with modified code to prevent it from doing things like changing size or getting exploded by R&D throwing a bluespace backpack into it. Unless someone beats me to it, I'll probably make it follow cultists/ghosts instead of randomwalking at some point. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1621 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -128,12 +128,7 @@ var/list/sacrificed = list()
|
||||
M.say("Tok-lyr rqa'nap g'lt-ulotf!")
|
||||
cultist_count += 1
|
||||
if(cultist_count >= 9)
|
||||
var/obj/machinery/singularity/S = new /obj/machinery/singularity/(src.loc)
|
||||
S.icon = 'magic_terror.dmi'
|
||||
S.name = "Tear in the Fabric of Reality"
|
||||
S.desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees."
|
||||
S.pixel_x = -89
|
||||
S.pixel_y = -85
|
||||
new /obj/machinery/singularity/narsie(src.loc)
|
||||
if(ticker.mode.name == "cult")
|
||||
ticker.mode:eldergod = 0
|
||||
return
|
||||
|
||||
@@ -427,4 +427,47 @@ var/global/list/uneatable = list(
|
||||
for(var/obj/machinery/power/rad_collector/R in orange(15,src))
|
||||
if(istype(R,/obj/machinery/power/rad_collector))
|
||||
R.receive_pulse(energy)
|
||||
return
|
||||
|
||||
|
||||
|
||||
narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO
|
||||
name = "Tear in the Fabric of Reality"
|
||||
desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees."
|
||||
icon = 'magic_terror.dmi'
|
||||
pixel_x = -89
|
||||
pixel_y = -85
|
||||
current_size = 9 //It moves/eats like a max-size singulo, aside from range. --NEO
|
||||
contained = 0 //Are we going to move around?
|
||||
dissipate = 0 //Do we lose energy over time?
|
||||
move_self = 1 //Do we move on our own?
|
||||
grav_pull = 10 //How many tiles out do we pull?
|
||||
consume_range = 3 //How many tiles out do we eat
|
||||
|
||||
process()
|
||||
eat()
|
||||
move()
|
||||
if(prob(25))
|
||||
mezzer()
|
||||
|
||||
consume(var/atom/A) //Has its own consume proc because it doesn't need energy and I don't want BoHs to explode it. --NEO
|
||||
if(is_type_in_list(A, uneatable))
|
||||
return 0
|
||||
if (istype(A,/mob/living))//Mobs get gibbed
|
||||
A:gib()
|
||||
else if(istype(A,/obj/))
|
||||
A:ex_act(1.0)
|
||||
if(A) del(A)
|
||||
else if(isturf(A))
|
||||
var/turf/T = A
|
||||
if(T.intact)
|
||||
for(var/obj/O in T.contents)
|
||||
if(O.level != 1)
|
||||
continue
|
||||
if(O.invisibility == 101)
|
||||
src.consume(O)
|
||||
A:ReplaceWithSpace()
|
||||
return
|
||||
|
||||
ex_act() //No throwing bombs at it either. --NEO
|
||||
return
|
||||
Reference in New Issue
Block a user