Beepsky was freaking out that his target got away (vanished) and almost crashed the server, this has been fixed.

Fixed a few other runtimes.
Space movement should be working slightly better.
Projectile weapons now give a X has fired Y message, this might get removed in the near future depending on how spammy it ends up being.
Projectiles now give a X has been hit by Y rather than a X has been shot by Y because knowing who shot you when you could not see them was rather silly.
Securitrons will no longer scan for weapons when they are set to not scan for weapon auth, they also will nolonger ignore arrest status if set to check for weapon auth and the guy has it.
Shotguns are nolonger on the Securitron's ignore list if weapon auth is on while all melee class weapons like eswords and batons are now on the list.
The incinerator disposal is part of the station loop.
A window has been added to the north side of tool storage.
Emergency Storage now has the proper access.
Disposal's mass driver control will no longer fire tox's mass driver. 
Removed a few old grey pipes in the courtroom.
Toxins test chamber once again has a teleportation beacon.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2495 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2011-11-07 10:19:24 +00:00
parent f2c23ce151
commit 8140cf0f12
9 changed files with 8575 additions and 8584 deletions
@@ -6,11 +6,11 @@
//Do we have a working jetpack
if(istype(back, /obj/item/weapon/tank/jetpack))
var/obj/item/weapon/tank/jetpack/J = back
if(check_drift && J.stabilization_on && !lying && J.allow_thrust(0.01, src))
if(((!check_drift) || (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(!check_drift && J.allow_thrust(0.01, src))
// return 1
//If no working jetpack then use the other checks
if(..()) return 1
@@ -57,6 +57,7 @@
//whereas area/A/B and /area/A/C would have it as 3
var/area/cur_area = get_area(current)
if(!cur_area) continue
var/list/new_types = dd_text2list("[cur_area.type]", "/")
for(var/i = 1; i <= old_types.len && i <= new_types.len; i++)
if(old_types[i] == new_types[i])
+16 -19
View File
@@ -106,11 +106,13 @@
/client/proc/Move_object(direct)
if(mob.control_object.density)
step(mob.control_object,direct)
mob.control_object.dir = direct
else
mob.control_object.loc = get_step(mob.control_object,direct)
if(mob && mob.control_object)
if(mob.control_object.density)
step(mob.control_object,direct)
if(!mob.control_object) return
mob.control_object.dir = direct
else
mob.control_object.loc = get_step(mob.control_object,direct)
return
@@ -304,28 +306,23 @@
if(restrained()) return 0
var/dense_object = 0
for(var/turf/simulated/turf in oview(1,src))
if(istype(turf,/turf/simulated/floor) && !(src.flags & NOGRAV))
dense_object++
break
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
for(var/turf/turf in oview(1,src))
if(istype(turf,/turf/space))
continue
if(istype(turf,/turf/simulated/floor) && (src.flags & NOGRAV))
continue
dense_object++
break
if(!dense_object && (locate(/obj/structure/lattice) in oview(1, src)))
dense_object++
//Lastly attempt to locate any dense objects we could push off of
//TODO: If we implement objects drifing in space this needs to really push them
//Due to a few issues only anchored and dense objects will now work.
if(!dense_object)
for(var/obj/O in oview(1, src))
if((O) && (O.density))
if((O) && (O.density) && (O.anchored))
dense_object++
break
@@ -146,6 +146,8 @@
stat("[player.key]", (player.ready)?("(Playing)"):(null))
Topic(href, href_list[])
if(!client) return 0
if(href_list["show_preferences"])
preferences.ShowChoices(src)
return 1
+6 -5
View File
@@ -67,11 +67,6 @@
user << "\red *click*";
return
if(silenced)
playsound(user, fire_sound, 10, 1)
else
playsound(user, fire_sound, 50, 1)
if(!in_chamber) return
in_chamber.firer = user
@@ -87,6 +82,12 @@
spawn()
shake_camera(user, recoil + 1, recoil)
if(silenced)
playsound(user, fire_sound, 10, 1)
else
playsound(user, fire_sound, 50, 1)
user.visible_message("\red [user.name] fires the [src.name]!", "\red You fire the [src.name]!", "\blue You hear a [istype(in_chamber, /obj/item/projectile/beam) ? "laser blast" : "gunshot"]!")
in_chamber.original = targloc
in_chamber.loc = get_turf(user)
user.next_move = world.time + 4
+1 -1
View File
@@ -67,7 +67,7 @@
return // nope.avi
if(!silenced)
visible_message("\red [A.name] has been shot by [firer.name]!", "\blue You hear a [istype(src, /obj/item/projectile/beam) ? "gunshot" : "laser blast"]!")
visible_message("\red [A.name] has been shot by the [src.name]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter
else
M << "\red You've been shot!"
if(istype(firer, /mob))