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:
mport2004@gmail.com
2011-11-05 05:25:22 +00:00
parent cf62068041
commit fbd0a5a9b5
18 changed files with 350 additions and 329 deletions
+51 -48
View File
@@ -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
+14 -9
View File
@@ -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++