Telescience!

This commit is contained in:
ZomgPonies
2013-11-04 07:48:43 -05:00
parent bd24ed42d8
commit 8bf368f547
17 changed files with 8562 additions and 7963 deletions
+3
View File
@@ -221,6 +221,8 @@
// ++++ROCKDTBEN++++ MOB PROCS //END
/*
/mob/living/carbon/proc/handle_ventcrawl(var/obj/machinery/atmospherics/unary/vent_pump/vent_found = null) // -- TLE -- Merged by Carn
if(stat)
src << "You must be conscious to do this!"
@@ -311,6 +313,7 @@
if(new_area)
new_area.Entered(src)
*/
/mob/living/carbon/clean_blood()
. = ..()
+81
View File
@@ -0,0 +1,81 @@
/mob/living/proc/handle_ventcrawl()
for(var/obj/machinery/atmospherics/unary/vent_pump/V in range(src,1))
if(V.welded) continue
src.Move(V)
return
src << "You can only enter an unwelded vent!"
/obj/machinery/atmospherics/relaymove(mob/user as mob,var/mdir)
if(!anchored)
user.loc = get_turf(src.loc)
return
if(user.stat || !isturf(src.loc))
return
if(!(mdir&initialize_directions))
visible_message(pick("clang","CLANG","Clang","clong","CLONG","Clong","tink","tak","tok","DOK","DAK"))
user << "donk" // find the user and put a donk on it
user.Stun(1)
return
var/turf/T = get_step(loc,mdir)
var/fromdir = turn(mdir,180)
for(var/obj/machinery/atmospherics/OMA in T)
if(!(OMA.initialize_directions&fromdir))
continue
user.Move(OMA)
return
user.Move(T) // broken pipe
/obj/machinery/atmospherics/Entered(mob/M)
if(istype(M) && M.client)
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = loc
/obj/machinery/atmospherics/unary/vent_pump/Entered(mob/user, atom/oldloc)
if(istype(oldloc, /obj/machinery/atmospherics)) // this is a unary device, came from a pipe rather than the world
if(welded)
user << "\red [src] is welded shut!"
return ..()
user.Move(loc)
user.visible_message("\blue [user] scrambles out of [src].")
if(user.client)
user.client.perspective = MOB_PERSPECTIVE
user.client.eye = user
return ..()
/obj/machinery/atmospherics/binary/pump/Enter(mob/M,atom/oldloc)
if(stat || !on) return 1
if(get_dir(src,oldloc) == dir) // output
M << "You can't move against the flow of [src]!"
return 0
return 1
/obj/machinery/atmospherics/binary/pump/Entered(mob/living/M as mob)
if(on)
M << "[src] spits you violently out the other side!"
M.apply_damage(5)
src.relaymove(M,dir)
return ..()
/obj/machinery/atmospherics/binary/volume_pump/Enter(mob/M,atom/oldloc)
if(stat || !on) return 1
if(get_dir(src,oldloc) == dir) // output
M << "You can't move against the flow of [src]!"
return 0
return 1
/obj/machinery/atmospherics/binary/volume_pump/Entered(mob/living/M as mob)
if(on)
M << "[src] spits you violently out the other side!"
M.apply_damage(5)
src.relaymove(M,dir)
return ..()
/obj/machinery/atmospherics/valve/Enter(mob/M,atom/oldloc)
if(!stat && !open)
M << "You can't get past [src]."
return 0
return 1
/obj/machinery/atmospherics/Del()
for(var/atom/movable/AM in src)
AM.loc = loc
..()
+10
View File
@@ -1593,6 +1593,16 @@ datum/design/beacon
materials = list ("$metal" = 20, "$glass" = 10)
build_path = "/obj/item/device/radio/beacon"
datum/design/telepad_beacon
name = "Telepad Beacon"
desc = "Use to warp in a cargo telepad."
id = "telepad_beacon"
req_tech = list("bluespace" = 3, "materials" = 4)
build_type = PROTOLATHE
materials = list ("$metal" = 2000, "$glass" = 1750, "$silver" = 500)
build_path = "/obj/item/device/telepad_beacon"
datum/design/bag_holding
name = "Bag of Holding"
desc = "A backpack that opens into a localized pocket of Blue Space."