Merge pull request #4020 from caelaislinn/bugfix

Various bugfixes
This commit is contained in:
Alex
2014-07-26 17:59:07 +01:00
8 changed files with 33 additions and 8 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
var/global/list/cable_list = list() //Index for all cables, so that powernets don't have to look through the entire world all the time
var/global/list/portals = list() //for use by portals
var/global/list/portals = list() //list of all /obj/effect/portal
var/global/list/airlocks = list() //list of all airlocks
var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
var/global/list/shuttle_caller_list = list() //list of all communication consoles and AIs, for automatic shuttle calls when there are none.
+3 -1
View File
@@ -99,7 +99,9 @@
var/turf/curturf = get_turf(teleatom)
var/area/destarea = get_area(destination)
if(precision)
var/list/posturfs = circlerangeturfs(destination,precision)
var/list/posturfs = list()
for(var/turf/T in range(precision,destination))
posturfs.Add(T)
destturf = safepick(posturfs)
else
destturf = get_turf(destination)
@@ -74,7 +74,7 @@
return
var/obj/machinery/door/airlock/AL
for(var/obj/machinery/door/D in portals)
for(var/obj/machinery/door/D in airlocks)
spawn()
if(istype(D, /obj/machinery/door/airlock))
AL = D
@@ -109,7 +109,7 @@
return
var/obj/machinery/door/airlock/AL
for(var/obj/machinery/door/D in portals)
for(var/obj/machinery/door/D in airlocks)
spawn()
if(istype(D, /obj/machinery/door/airlock))
AL = D
@@ -47,6 +47,9 @@ var/bomb_set
/obj/machinery/nuclearbomb/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/nuclearbomb/attack_ai(mob/user as mob)
return
/obj/machinery/nuclearbomb/attack_hand(mob/user as mob)
user.set_machine(src)
var/dat = text("<TT>\nAuth. Disk: <A href='?src=\ref[];auth=1'>[]</A><HR>", src, (src.auth ? "++++++++++" : "----------"))
+2 -2
View File
@@ -27,7 +27,7 @@
explosion_resistance = 0
update_freelook_sight()
air_update_turf(1)
portals += src
airlocks += src
return
@@ -35,7 +35,7 @@
density = 0
air_update_turf(1)
update_freelook_sight()
portals -= src
airlocks -= src
..()
return
+5 -2
View File
@@ -78,6 +78,8 @@
spark_system.attach(src)
// targets = new
..()
src.cover = new /obj/machinery/turretcover(src.loc)
src.cover.host = src
return
/obj/machinery/turretcover
@@ -168,8 +170,9 @@
if(stat & (NOPOWER|BROKEN))
return
if(src.cover==null)
src.cover = new /obj/machinery/turretcover(src.loc)
src.cover.host = src
src.loc = null
qdel(src)
return ..()
protected_area = get_protected_area()
if(!enabled || !protected_area || protected_area.turretTargets.len<=0)
if(!isDown() && !isPopping())
@@ -68,12 +68,22 @@
//BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around!
var/turf/oldloc = loc
var/turf/other_loc = tmob.loc
loc = tmob.loc
tmob.loc = oldloc
now_pushing = 0
for(var/mob/living/carbon/slime/slime in view(1,tmob))
if(slime.Victim == tmob)
slime.UpdateFeed()
//cross any movable atoms on either turf
for(var/atom/movable/M in other_loc)
M.Crossed(src)
for(var/atom/movable/M in oldloc)
M.Crossed(tmob)
return
if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot))
+6
View File
@@ -777,6 +777,12 @@
// pipe affected by explosion
ex_act(severity)
//pass on ex_act to our contents before calling it on ourself
var/obj/structure/disposalholder/H = locate() in src
if(H)
for(var/atom/movable/AM in H)
AM.ex_act(severity)
switch(severity)
if(1.0)
broken(0)