mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Delagged singularity.
It will now grab and slow down any humans when it tries to drag them in, and tell them: "\red The singularity has you in it's gravitational pull! It's hard to break free!" And adds 20 to their movement delay (can be adjusted later) All the DNA superpowers work now. Readded fatness as sprite only, can only be triggered by admins (some people were complaining about it being unavailible for adminstoff, so now they get a taste of how bad the sprite is.) To trigger fatness, modify the "mutations" variable to a value of 32
This commit is contained in:
@@ -867,6 +867,7 @@
|
||||
M.update_body()
|
||||
M.update_face()
|
||||
M.update_clothing()
|
||||
M.check_dna(M)
|
||||
|
||||
|
||||
/client/proc/radioalert()
|
||||
|
||||
@@ -549,7 +549,7 @@
|
||||
if (src.stat != 2)
|
||||
if (src.machine)
|
||||
if (!( src.machine.check_eye(src) ))
|
||||
src.reset_view(null)
|
||||
reset_view(null)
|
||||
else
|
||||
if(!client.adminobs)
|
||||
reset_view(null)
|
||||
|
||||
@@ -775,8 +775,8 @@
|
||||
|
||||
// lol
|
||||
var/fat = ""
|
||||
/*if (mutations & FAT)
|
||||
fat = "fat"*/
|
||||
if (mutations & FAT)
|
||||
fat = "fat"
|
||||
|
||||
if (mutations & HULK)
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "hulk[fat][!lying ? "_s" : "_l"]")
|
||||
@@ -879,10 +879,10 @@
|
||||
var/t1 = w_uniform.color
|
||||
if (!t1)
|
||||
t1 = icon_state
|
||||
/*if (mutations & FAT)
|
||||
if (mutations & FAT)
|
||||
overlays += image("icon" = 'uniform_fat.dmi', "icon_state" = "[t1][!lying ? "_s" : "_l"]", "layer" = MOB_LAYER)
|
||||
else*/
|
||||
overlays += image("icon" = 'uniform.dmi', "icon_state" = text("[][]",t1, (!(lying) ? "_s" : "_l")), "layer" = MOB_LAYER)
|
||||
else
|
||||
overlays += image("icon" = 'uniform.dmi', "icon_state" = text("[][]",t1, (!(lying) ? "_s" : "_l")), "layer" = MOB_LAYER)
|
||||
if (w_uniform.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "uniformblood[!lying ? "" : "2"]")
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
@@ -1289,7 +1289,7 @@
|
||||
lying_icon = new /icon('human.dmi', "torso_l")
|
||||
|
||||
var/husk = (mutations & HUSK)
|
||||
//var/obese = (mutations & FAT)
|
||||
var/obese = (mutations & FAT)
|
||||
|
||||
stand_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY)
|
||||
lying_icon.Blend(new /icon('human.dmi', "chest_[g]_l"), ICON_OVERLAY)
|
||||
@@ -1326,9 +1326,9 @@
|
||||
|
||||
stand_icon.Blend(husk_s, ICON_OVERLAY)
|
||||
lying_icon.Blend(husk_l, ICON_OVERLAY)
|
||||
/*else if(obese)
|
||||
else if(obese)
|
||||
stand_icon.Blend(new /icon('human.dmi', "fatbody_s"), ICON_OVERLAY)
|
||||
lying_icon.Blend(new /icon('human.dmi', "fatbody_l"), ICON_OVERLAY)*/
|
||||
lying_icon.Blend(new /icon('human.dmi', "fatbody_l"), ICON_OVERLAY)
|
||||
|
||||
// Skin tone
|
||||
if (s_tone >= 0)
|
||||
@@ -2524,6 +2524,7 @@ It can still be worn/put on as normal.
|
||||
update_body()
|
||||
update_face()
|
||||
update_clothing()
|
||||
check_dna()
|
||||
|
||||
for(var/mob/M in view())
|
||||
M.show_message("[src.name] just morphed!")
|
||||
@@ -2543,35 +2544,43 @@ It can still be worn/put on as normal.
|
||||
if(target.mutations & mRemotetalk)
|
||||
target.show_message("\blue You hear [src.real_name]'s voice: [say]")
|
||||
else
|
||||
target.show_message("\blue You hear a voice: [say]")
|
||||
target.show_message("\blue You hear a voice that seems to echo around the room: [say]")
|
||||
target << "\red This ain't an admin message, this is IC. Act like it. If someone's abusing it, pretending to be us, adminhelp it."
|
||||
usr.show_message("\blue You project your mind into [target.real_name]: [say]")
|
||||
for(var/mob/dead/observer/G in world)
|
||||
G.show_message("<i>Telepathic message from <b>[src]</b> to <b>[target]</b>: [say]</i>")
|
||||
/mob/living/carbon/human
|
||||
var/mob/remoteobserve
|
||||
|
||||
/mob/living/carbon/human/proc/remoteobserve()
|
||||
set name = "Remote View"
|
||||
set category = "Superpower"
|
||||
|
||||
if(!(src.mutations & mRemote))
|
||||
client.eye = client.mob
|
||||
reset_view(0)
|
||||
remoteobserve = null
|
||||
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
|
||||
return
|
||||
|
||||
if(client.eye != client.mob)
|
||||
client.eye = client.mob
|
||||
reset_view(0)
|
||||
remoteobserve = null
|
||||
return
|
||||
|
||||
var/list/mob/creatures = list()
|
||||
|
||||
for(var/mob/living/carbon/h in world)
|
||||
creatures += h
|
||||
client.perspective = EYE_PERSPECTIVE
|
||||
|
||||
|
||||
|
||||
var/mob/target = input ("Who do you want to project your mind to ?") as mob in creatures
|
||||
|
||||
if (target)
|
||||
client.eye = target
|
||||
reset_view(target)
|
||||
remoteobserve = target
|
||||
else
|
||||
client.eye = client.mob
|
||||
reset_view(0)
|
||||
remoteobserve = null
|
||||
|
||||
/mob/living/carbon/human/proc/check_dna()
|
||||
dna.check_integrity(src)
|
||||
return
|
||||
@@ -130,6 +130,10 @@
|
||||
var/pr = 50
|
||||
if(prob(pr))
|
||||
adjustToxLoss(1)
|
||||
else
|
||||
if(!lying)
|
||||
lying = 1 //Seriously, stay down :x
|
||||
update_clothing()
|
||||
|
||||
clamp_values()
|
||||
|
||||
@@ -154,7 +158,7 @@
|
||||
|
||||
|
||||
handle_disabilities()
|
||||
if (mutations & mHallucination)
|
||||
if(mutations2 & mHallucination)
|
||||
hallucination = 100
|
||||
halloss = 0
|
||||
|
||||
@@ -175,13 +179,12 @@
|
||||
for(var/atom/a in hallucinations)
|
||||
del a
|
||||
|
||||
|
||||
if(mutations & mSmallsize)
|
||||
if(!(flags & PASSTABLE))
|
||||
flags |= PASSTABLE
|
||||
if(mutations2 & mSmallsize)
|
||||
if(!(pass_flags & PASSTABLE))
|
||||
pass_flags |= PASSTABLE
|
||||
else
|
||||
if(flags & PASSTABLE)
|
||||
flags &= ~PASSTABLE
|
||||
if(pass_flags & PASSTABLE)
|
||||
pass_flags &= ~PASSTABLE
|
||||
|
||||
|
||||
|
||||
@@ -209,7 +212,7 @@
|
||||
src.verbs += /mob/living/carbon/human/proc/remoteobserve
|
||||
else
|
||||
if(!(mutations & mRemote))
|
||||
src.verbs += /mob/living/carbon/human/proc/remoteobserve
|
||||
src.verbs -= /mob/living/carbon/human/proc/remoteobserve
|
||||
|
||||
if(!(/mob/living/carbon/human/proc/remotesay in src.verbs))
|
||||
if(mutations & mRemotetalk)
|
||||
@@ -250,8 +253,8 @@
|
||||
pixel_x = old_x
|
||||
pixel_y = old_y
|
||||
if (disabilities & 16)
|
||||
if (prob(20))//Instant Chad Ore!
|
||||
stuttering = max(10, stuttering)
|
||||
if (prob(40))//Instant Chad Ore!
|
||||
stuttering = max(5, stuttering)
|
||||
|
||||
if (brainloss >= 60 && stat != 2)
|
||||
if (prob(7))
|
||||
@@ -312,6 +315,8 @@
|
||||
emote("gasp")
|
||||
updatehealth()
|
||||
|
||||
//As close as I could find to where to put it
|
||||
grav_delay = max(grav_delay-3,0)
|
||||
|
||||
breathe()
|
||||
|
||||
@@ -1147,9 +1152,10 @@
|
||||
if (machine)
|
||||
if (!( machine.check_eye(src) ))
|
||||
reset_view(null)
|
||||
else
|
||||
if(!client.adminobs)
|
||||
reset_view(null)
|
||||
else if(!(mutations & mRemote) && !client.adminobs)
|
||||
reset_view(null)
|
||||
if(remoteobserve)
|
||||
remoteobserve = null
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
//sort of a legacy burn method for /electrocute, /shock, and the e_chair
|
||||
/mob/living/proc/burn_skin(burn_amount)
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(src.mutations & mShock)
|
||||
if(src.mutations2 & mShock)
|
||||
return 0
|
||||
//world << "DEBUG: burn_skin(), mutations=[mutations]"
|
||||
if (src.mutations & COLD_RESISTANCE) //fireproof
|
||||
|
||||
@@ -185,6 +185,7 @@
|
||||
// move_delay += mob.organStructure.legs.moveWalkDelay
|
||||
move_delay += 5
|
||||
move_delay += mob.movement_delay()
|
||||
move_delay += mob.grav_delay
|
||||
|
||||
//We are now going to move
|
||||
moving = 1
|
||||
|
||||
@@ -2,7 +2,6 @@ var/global/list/uneatable = list(
|
||||
/turf/space,
|
||||
/obj/effect,
|
||||
/obj/effect/overlay,
|
||||
/obj/effect/decal/cleanable,
|
||||
/obj/effect/rune
|
||||
)
|
||||
|
||||
@@ -212,15 +211,19 @@ var/global/list/uneatable = list(
|
||||
consume(X)
|
||||
for(var/atom/movable/X in orange(grav_pull,src))
|
||||
if(is_type_in_list(X, uneatable)) continue
|
||||
if(((X) &&(!X:anchored) && (!istype(X,/mob/living/carbon/human)))|| (src.current_size >= 9))
|
||||
step_towards(X,src)
|
||||
if((((X) && (!X:anchored)) || (src.current_size >= 9)) && (!istype(X,/mob/living/carbon/human)))
|
||||
spawn(rand(0,15))
|
||||
step_towards(X,src)
|
||||
else if(istype(X,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = X
|
||||
if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
|
||||
H << "\red The singularity has you in it's gravitational pull! It's hard to break free!"
|
||||
H.grav_delay = 20 //No running this time!
|
||||
if(istype(H.shoes,/obj/item/clothing/shoes/magboots) && !(src.current_size >= 9))
|
||||
var/obj/item/clothing/shoes/magboots/M = H.shoes
|
||||
if(M.magpulse)
|
||||
continue
|
||||
step_towards(H,src)
|
||||
spawn(rand(0,15))
|
||||
step_towards(H,src)
|
||||
if(defer_powernet_rebuild != 2)
|
||||
defer_powernet_rebuild = 0
|
||||
return
|
||||
@@ -236,7 +239,8 @@ var/global/list/uneatable = list(
|
||||
gain = 100
|
||||
spawn()
|
||||
A:gib()
|
||||
sleep(1)
|
||||
//Sleep being called in process() :|
|
||||
// sleep(1)
|
||||
else if(istype(A,/obj/))
|
||||
|
||||
if (istype(A,/obj/item/weapon/storage/backpack/holding))
|
||||
@@ -258,8 +262,8 @@ var/global/list/uneatable = list(
|
||||
O.y = 2
|
||||
O.z = 2
|
||||
else
|
||||
A:ex_act(1.0)
|
||||
if(A) del(A)
|
||||
spawn(rand(0,10)) //Spreading shit out
|
||||
del(A)
|
||||
gain = 2
|
||||
else if(isturf(A))
|
||||
var/turf/T = A
|
||||
@@ -271,6 +275,9 @@ var/global/list/uneatable = list(
|
||||
src.consume(O)
|
||||
A:ReplaceWithSpace()
|
||||
gain = 2
|
||||
else
|
||||
spawn(rand(0,10)) //Spreading shit out
|
||||
del(A)
|
||||
src.energy += gain
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user