mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 14:37:04 +01:00
ALL HAIL LORD SINGULO
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
var/target = null //its target. moves towards the target if it has one
|
||||
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
|
||||
var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six
|
||||
|
||||
/obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
|
||||
//CARN: admin-alert for chuckle-fuckery.
|
||||
@@ -126,6 +127,8 @@
|
||||
var/temp_allowed_size = src.allowed_size
|
||||
if(force_size)
|
||||
temp_allowed_size = force_size
|
||||
if(temp_allowed_size >= STAGE_SIX && !consumedSupermatter)
|
||||
temp_allowed_size = STAGE_FIVE
|
||||
switch(temp_allowed_size)
|
||||
if(STAGE_ONE)
|
||||
current_size = STAGE_ONE
|
||||
@@ -182,6 +185,15 @@
|
||||
grav_pull = 10
|
||||
consume_range = 4
|
||||
dissipate = 0 //It cant go smaller due to e loss
|
||||
if(STAGE_SIX) //This only happens if a stage 5 singulo consumes a supermatter shard.
|
||||
current_size = STAGE_SIX
|
||||
icon = 'icons/effects/352x352.dmi'
|
||||
icon_state = "singularity_s11"
|
||||
pixel_x = -160
|
||||
pixel_y = -160
|
||||
grav_pull = 15
|
||||
consume_range = 5
|
||||
dissipate = 0
|
||||
if(current_size == allowed_size)
|
||||
investigate_log("<font color='red'>grew to size [current_size]</font>","singulo")
|
||||
return 1
|
||||
@@ -196,6 +208,8 @@
|
||||
investigate_log("collapsed.","singulo")
|
||||
qdel(src)
|
||||
return 0
|
||||
if(energy > 2999 && !consumedSupermatter)
|
||||
energy = 2000
|
||||
switch(energy)//Some of these numbers might need to be changed up later -Mport
|
||||
if(1 to 199)
|
||||
allowed_size = STAGE_ONE
|
||||
@@ -205,8 +219,10 @@
|
||||
allowed_size = STAGE_THREE
|
||||
if(1000 to 1999)
|
||||
allowed_size = STAGE_FOUR
|
||||
if(2000 to INFINITY)
|
||||
if(2000 to 2999)
|
||||
allowed_size = STAGE_FIVE
|
||||
if(3000 to INFINITY)
|
||||
allowed_size = STAGE_SIX
|
||||
if(current_size != allowed_size)
|
||||
expand()
|
||||
return 1
|
||||
@@ -227,6 +243,11 @@
|
||||
/obj/singularity/proc/consume(var/atom/A)
|
||||
var/gain = A.singularity_act(current_size)
|
||||
src.energy += gain
|
||||
if(istype(A, /obj/machinery/power/supermatter) && !consumedSupermatter)
|
||||
desc = "[initial(desc)] It glows fiercely with inner fire."
|
||||
name = "supermatter-charged [initial(name)]"
|
||||
consumedSupermatter = 1
|
||||
light_range = 10
|
||||
return
|
||||
|
||||
|
||||
@@ -323,6 +344,10 @@
|
||||
toxmob()
|
||||
if(4)//Stun mobs who lack optic scanners
|
||||
mezzer()
|
||||
if(5,6) //Sets all nearby mobs on fire
|
||||
if(current_size < STAGE_SIX)
|
||||
return 0
|
||||
combust_mobs()
|
||||
else
|
||||
return 0
|
||||
return 1
|
||||
@@ -344,6 +369,14 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/singularity/proc/combust_mobs()
|
||||
for(var/mob/living/carbon/C in orange(20, src))
|
||||
C.visible_message("<span class='warning'>[C]'s skin bursts into flame!</span>", \
|
||||
"<span class='boldannounce'>You feel an inner fire as your skin is suddenly covered in fire!</span>")
|
||||
C.adjust_fire_stacks(5)
|
||||
C.IgniteMob()
|
||||
return
|
||||
|
||||
/obj/singularity/proc/mezzer()
|
||||
for(var/mob/living/carbon/M in oviewers(8, src))
|
||||
if(istype(M, /mob/living/carbon/brain)) //Ignore brains
|
||||
|
||||
@@ -245,6 +245,17 @@
|
||||
damage += Proj.damage * config_bullet_energy
|
||||
return 0
|
||||
|
||||
/obj/machinery/power/supermatter/singularity_act()
|
||||
var/gain = 100
|
||||
investigate_log("Supermatter shard consumed by singularity.","singulo")
|
||||
message_admins("Singularity has consumed a supermatter shard and can now become stage six.")
|
||||
visible_message("<span class='userdanger'>[src] is consumed by the singularity!</span>")
|
||||
for(var/mob/M in mob_list)
|
||||
M << 'sound/effects/supermatter.ogg' //everyone goan know bout this
|
||||
M << "<span class='boldannounce'>A horrible screeching fills your ears, and a wave of dread washes over you...</span>"
|
||||
qdel(src)
|
||||
return(gain)
|
||||
|
||||
/obj/machinery/power/supermatter/attack_robot(mob/user as mob)
|
||||
if(Adjacent(user))
|
||||
return attack_hand(user)
|
||||
|
||||
Reference in New Issue
Block a user