Genetics tweaks and changelog.

Stealth is overtime instead of instantaneous
Cryokinesis is less OP, deals less damage to unclothed targets and respects hardsuits and internals.
Leap is nerfed, cooldown doubled as well as not being able to leap while restrained.

T-ray scanners and flashes will reveal 'invisible' mobs for a short period of time. this is a work in progress and possibly buggy!

Conflicts:
	html/changelog.html
This commit is contained in:
d3athrow
2014-06-20 14:34:38 -04:00
committed by ZomgPonies
parent 0a532ac1de
commit 9e0e080376
3 changed files with 60 additions and 10 deletions
+44 -9
View File
@@ -56,7 +56,7 @@
if(!istype(T))
return
if(T.lighting_lumcount <= 2)
M.alpha = 0
M.alpha -= 25
else
M.alpha = round(255 * 0.80)
@@ -72,7 +72,7 @@
OnMobLife(var/mob/M)
if((world.time - M.last_movement) >= 30 && !M.stat && M.canmove && !M.restrained())
M.alpha = 0
M.alpha -= 25
else
M.alpha = round(255 * 0.80)
@@ -150,12 +150,26 @@
if (M_RESIST_COLD in C.mutations)
C.visible_message("\red A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!")
return
var/handle_suit = 0
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(istype(H.head, /obj/item/clothing/head/helmet/space))
if(istype(H.wear_suit, /obj/item/clothing/suit/space))
handle_suit = 1
if(H.internal)
H.visible_message("\red A cloud of fine ice crystals engulfs [H]!",
"<span class='notice'>A cloud of fine ice crystals cover your [H.head]'s visor.</span>")
else
H.visible_message("\red A cloud of fine ice crystals engulfs [H]!",
"<span class='warning'>A cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.</span>")
H.bodytemperature = max(0, H.bodytemperature - 50)
H.adjustFireLoss(5)
if(!handle_suit)
C.bodytemperature = max(0, C.bodytemperature - 100)
C.adjustFireLoss(10)
C.ExtinguishMob()
C.bodytemperature = 0
C.adjustFireLoss(20)
C.ExtinguishMob()
C.visible_message("\red A cloud of fine ice crystals engulfs [C]!")
C.visible_message("\red A cloud of fine ice crystals engulfs [C]!")
//playsound(usr.loc, 'bamf.ogg', 50, 0)
@@ -323,20 +337,41 @@
include_user = 1
charge_type = "recharge"
charge_max = 30
charge_max = 60
clothes_req = 0
stat_allowed = 0
invocation_type = "none"
/obj/effect/proc_holder/spell/targeted/leap/cast(list/targets)
var/failure = 0
if (istype(usr.loc,/mob/))
usr << "\red You can't jump right now!"
return
if (istype(usr.loc,/turf/))
if(usr.restrained())//Why being pulled while cuffed prevents you from moving
for(var/mob/M in range(usr, 1))
if(M.pulling == usr)
if(!M.restrained() && M.stat == 0 && M.canmove && usr.Adjacent(M))
failure = 1
else
M.stop_pulling()
if(usr.pinned.len)
failure = 1
usr.visible_message("\red <b>[usr.name]</b> takes a huge leap!")
playsound(usr.loc, 'sound/weapons/thudswoosh.ogg', 50, 1)
if(failure)
usr.Weaken(5)
usr.Stun(5)
usr.visible_message("<span class='warning'> \the [usr] attempts to leap away but is slammed back down to the ground!</span>",
"<span class='warning'>You attempt to leap away but are suddenly slammed back down to the ground!</span>",
"<span class='notice'>You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.</span>")
return 0
var/prevLayer = usr.layer
usr.layer = 9
@@ -534,4 +569,4 @@
New()
..()
block = SUPERFARTBLOCK
block = SUPERFARTBLOCK
+9 -1
View File
@@ -163,12 +163,20 @@
sleep(5)
del(animation)
for(var/mob/living/carbon/M in oviewers(3, null))
for(var/mob/living/carbon/M in viewers(3, null))
if(prob(50))
if (locate(/obj/item/weapon/cloaking_device, M))
for(var/obj/item/weapon/cloaking_device/S in M)
S.active = 0
S.icon_state = "shield0"
if(M.alpha < 255)
var/oldalpha = M.alpha
if(prob(80))
M.alpha = 255
M.visible_message("<span class='warning'>[M] suddenly becomes fully visible!</span>",\
"<span class='warning'>You see a bright flash of light and are suddenly fully visible again.</span>")
spawn(10)
M.alpha = oldalpha
var/safety = M:eyecheck()
if(!safety)
if(!M.blinded)
@@ -56,6 +56,13 @@ REAGENT SCANNER
var/turf/U = O.loc
if(U.intact)
O.invisibility = 101
for(var/mob/living/M in T.contents)
var/oldalpha = M.alpha
if(M.alpha < 255 && istype(M))
M.alpha = 255
spawn(10)
if(M)
M.alpha = oldalpha
var/mob/living/M = locate() in T
if(M && M.invisibility == 2)