mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 20:13:45 +01:00
Timers will no longer go off when you set them to 0 unless they are on.
Unsimulated turfs can be climbed on once more. Small blobs can use the blob to move around in space. Jetpacks now have a toggle for the stabilization. Jetpack fuel use has been reset to .01. Moved most of the tanks over to a new folder and files so they are not all crammed into one. The meteor event actually spawns more than one wave worth of meteors. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2488 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -11,67 +11,70 @@
|
||||
creating_blob = 0
|
||||
|
||||
|
||||
/mob/living/blob/New()
|
||||
real_name += " [pick(rand(1, 99))]"
|
||||
name = real_name
|
||||
..()
|
||||
New()
|
||||
real_name += " [pick(rand(1, 99))]"
|
||||
name = real_name
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/blob/say(var/message)
|
||||
return//No talking for you
|
||||
say(var/message)
|
||||
return//No talking for you
|
||||
|
||||
|
||||
/mob/living/blob/emote(var/act,var/m_type=1,var/message = null)
|
||||
return
|
||||
emote(var/act,var/m_type=1,var/message = null)
|
||||
return
|
||||
|
||||
|
||||
/mob/living/blob/Life()
|
||||
set invisibility = 0
|
||||
set background = 1
|
||||
|
||||
clamp_values()
|
||||
UpdateDamage()
|
||||
if(health < 0)
|
||||
src.gib()
|
||||
|
||||
|
||||
/mob/living/blob
|
||||
proc
|
||||
Life()
|
||||
set invisibility = 0
|
||||
set background = 1
|
||||
|
||||
clamp_values()
|
||||
stunned = 0//No stun here
|
||||
paralysis = 0
|
||||
weakened = 0
|
||||
sleeping = 0
|
||||
bruteloss = max(bruteloss, 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
if(stat)
|
||||
stat = 0
|
||||
return
|
||||
|
||||
|
||||
UpdateDamage()
|
||||
health = 60 - (oxyloss + toxloss + fireloss + bruteloss + cloneloss)
|
||||
return
|
||||
if(health < 0)
|
||||
src.gib()
|
||||
|
||||
|
||||
/mob/living/blob/death(gibbed)
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src)
|
||||
ghost.name = ghost_name
|
||||
ghost.real_name = ghost_name
|
||||
ghost.key = key
|
||||
if (ghost.client)
|
||||
ghost.client.eye = ghost
|
||||
return ..(gibbed)
|
||||
proc/clamp_values()
|
||||
stunned = 0
|
||||
paralysis = 0
|
||||
weakened = 0
|
||||
sleeping = 0
|
||||
bruteloss = max(bruteloss, 0)
|
||||
toxloss = max(toxloss, 0)
|
||||
oxyloss = max(oxyloss, 0)
|
||||
fireloss = max(fireloss, 0)
|
||||
if(stat)
|
||||
stat = 0
|
||||
return
|
||||
|
||||
|
||||
/mob/living/blob/blob_act()
|
||||
src << "The blob attempts to reabsorb you."
|
||||
toxloss += 20
|
||||
return
|
||||
proc/UpdateDamage()
|
||||
health = 60 - (oxyloss + toxloss + fireloss + bruteloss + cloneloss)
|
||||
return
|
||||
|
||||
|
||||
death(gibbed)
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src)
|
||||
ghost.name = ghost_name
|
||||
ghost.real_name = ghost_name
|
||||
ghost.key = key
|
||||
if (ghost.client)
|
||||
ghost.client.eye = ghost
|
||||
return ..(gibbed)
|
||||
|
||||
|
||||
blob_act()
|
||||
src << "The blob attempts to reabsorb you."
|
||||
toxloss += 20
|
||||
return
|
||||
|
||||
|
||||
Process_Spacemove()
|
||||
if(locate(/obj/effect/blob) in oview(1,src))
|
||||
return 1
|
||||
return (..())
|
||||
|
||||
|
||||
/mob/living/blob/verb/create_node()
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
|
||||
/mob/living/carbon/human/Process_Spacemove()
|
||||
/mob/living/carbon/human/Process_Spacemove(var/check_drift = 0)
|
||||
//Can we act
|
||||
if(restrained()) return 0
|
||||
|
||||
//Do we have a working jetpack
|
||||
if(istype(back, /obj/item/weapon/tank/jetpack))
|
||||
var/obj/item/weapon/tank/jetpack/J = back
|
||||
if(J.allow_thrust(0.005, src))
|
||||
if(check_drift && J.stabilization_on && !lying && J.allow_thrust(0.01, src))
|
||||
inertia_dir = 0
|
||||
return 1
|
||||
if(!check_drift && J.allow_thrust(0.01, src))
|
||||
return 1
|
||||
|
||||
//If no working jetpack then use the other checks
|
||||
if(..()) return 1
|
||||
return 0
|
||||
|
||||
|
||||
/mob/living/carbon/human/Process_Spaceslipping(var/prob_slip = 5)
|
||||
//If knocked out we might just hit it and stop. This makes it possible to get dead bodies and such.
|
||||
if(stat) prob_slip += 50
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
|
||||
if(istype(mob.loc, /turf/space) || (mob.flags & NOGRAV))
|
||||
if(!mob.Process_Spacemove()) return 0
|
||||
if(!mob.Process_Spacemove(0)) return 0
|
||||
|
||||
if(isobj(mob.loc) || ismob(mob.loc))//Inside an object, tell it we moved
|
||||
var/atom/O = mob.loc
|
||||
@@ -202,14 +202,13 @@
|
||||
M.animate_movement = 2
|
||||
return
|
||||
|
||||
else if(mob.confused)
|
||||
step(mob, pick(cardinal))
|
||||
else
|
||||
if(mob.confused)
|
||||
step(mob, pick(cardinal))
|
||||
else
|
||||
. = ..()
|
||||
for(var/obj/effect/speech_bubble/S in range(1, mob))
|
||||
if(S.parent == mob)
|
||||
S.loc = mob.loc
|
||||
. = ..()
|
||||
for(var/obj/effect/speech_bubble/S in range(1, mob))
|
||||
if(S.parent == mob)
|
||||
S.loc = mob.loc
|
||||
moving = 0
|
||||
|
||||
return .
|
||||
@@ -300,7 +299,7 @@
|
||||
///Called by /client/Move()
|
||||
///For moving in space
|
||||
///Return 1 for movement 0 for none
|
||||
/mob/proc/Process_Spacemove()
|
||||
/mob/proc/Process_Spacemove(var/check_drift = 0)
|
||||
//First check to see if we can do things
|
||||
if(restrained()) return 0
|
||||
|
||||
@@ -312,6 +311,12 @@
|
||||
if((istype(turf,/turf/simulated)) && !(istype(turf,/turf/simulated/floor)))
|
||||
dense_object++
|
||||
break
|
||||
if(istype(turf,/turf/unsimulated/floor) && !(src.flags & NOGRAV))
|
||||
dense_object++
|
||||
break
|
||||
if((istype(turf,/turf/unsimulated)) && !(istype(turf,/turf/unsimulated/floor)))
|
||||
dense_object++
|
||||
break
|
||||
|
||||
if(!dense_object && (locate(/obj/structure/lattice) in oview(1, src)))
|
||||
dense_object++
|
||||
|
||||
Reference in New Issue
Block a user