Merge pull request #11810 from PsiOmegaDelta/151229-PolarisDev

Polaris Fixes
This commit is contained in:
GinjaNinja32
2015-12-29 18:28:01 +00:00
2 changed files with 24 additions and 15 deletions

View File

@@ -110,7 +110,7 @@
visible_message("<span class='notice'>The console beeps happily as it disgorges \the [I].</span>", 3) visible_message("<span class='notice'>The console beeps happily as it disgorges \the [I].</span>", 3)
I.loc = get_turf(src) I.forceMove(get_turf(src))
frozen_items -= I frozen_items -= I
else if(href_list["allitems"]) else if(href_list["allitems"])
@@ -123,7 +123,7 @@
visible_message("<span class='notice'>The console beeps happily as it disgorges the desired objects.</span>", 3) visible_message("<span class='notice'>The console beeps happily as it disgorges the desired objects.</span>", 3)
for(var/obj/item/I in frozen_items) for(var/obj/item/I in frozen_items)
I.loc = get_turf(src) I.forceMove(get_turf(src))
frozen_items -= I frozen_items -= I
src.updateUsrDialog() src.updateUsrDialog()
@@ -210,7 +210,7 @@
/obj/machinery/cryopod/Destroy() /obj/machinery/cryopod/Destroy()
if(occupant) if(occupant)
occupant.loc = loc occupant.forceMove(loc)
occupant.resting = 1 occupant.resting = 1
..() ..()
@@ -272,7 +272,7 @@
qdel(R.mmi) qdel(R.mmi)
for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc
for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags
O.loc = R O.forceMove(R)
qdel(I) qdel(I)
qdel(R.module) qdel(R.module)
@@ -284,13 +284,13 @@
//Drop all items into the pod. //Drop all items into the pod.
for(var/obj/item/W in occupant) for(var/obj/item/W in occupant)
occupant.drop_from_inventory(W) occupant.drop_from_inventory(W)
W.loc = src W.forceMove(src)
if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items. if(W.contents.len) //Make sure we catch anything not handled by qdel() on the items.
for(var/obj/item/O in W.contents) for(var/obj/item/O in W.contents)
if(istype(O,/obj/item/weapon/storage/internal)) //Stop eating pockets, you fuck! if(istype(O,/obj/item/weapon/storage/internal)) //Stop eating pockets, you fuck!
continue continue
O.loc = src O.forceMove(src)
//Delete all items not on the preservation list. //Delete all items not on the preservation list.
var/list/items = src.contents.Copy() var/list/items = src.contents.Copy()
@@ -300,10 +300,18 @@
for(var/obj/item/W in items) for(var/obj/item/W in items)
var/preserve = null var/preserve = null
for(var/T in preserve_items) // Snowflaaaake.
if(istype(W,T)) if(istype(W, /obj/item/device/mmi))
var/obj/item/device/mmi/brain = W
if(brain.brainmob && brain.brainmob.client && brain.brainmob.key)
preserve = 1 preserve = 1
break else
continue
else
for(var/T in preserve_items)
if(istype(W,T))
preserve = 1
break
if(!preserve) if(!preserve)
qdel(W) qdel(W)
@@ -312,7 +320,7 @@
control_computer.frozen_items += W control_computer.frozen_items += W
W.loc = null W.loc = null
else else
W.loc = src.loc W.forceMove(src.loc)
//Update any existing objectives involving this mob. //Update any existing objectives involving this mob.
for(var/datum/objective/O in all_objectives) for(var/datum/objective/O in all_objectives)
@@ -402,7 +410,7 @@
if(do_after(user, 20)) if(do_after(user, 20))
if(!M || !G || !G:affecting) return if(!M || !G || !G:affecting) return
M.loc = src M.forceMove(src)
if(M.client) if(M.client)
M.client.perspective = EYE_PERSPECTIVE M.client.perspective = EYE_PERSPECTIVE
@@ -438,7 +446,7 @@
if(announce) items -= announce if(announce) items -= announce
for(var/obj/item/W in items) for(var/obj/item/W in items)
W.loc = get_turf(src) W.forceMove(get_turf(src))
src.go_out() src.go_out()
add_fingerprint(usr) add_fingerprint(usr)
@@ -477,7 +485,7 @@
usr.stop_pulling() usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src usr.client.eye = src
usr.loc = src usr.forceMove(src)
set_occupant(usr) set_occupant(usr)
icon_state = occupied_icon_state icon_state = occupied_icon_state
@@ -500,7 +508,7 @@
occupant.client.eye = src.occupant.client.mob occupant.client.eye = src.occupant.client.mob
occupant.client.perspective = MOB_PERSPECTIVE occupant.client.perspective = MOB_PERSPECTIVE
occupant.loc = get_turf(src) occupant.forceMove(get_turf(src))
set_occupant(null) set_occupant(null)
icon_state = base_icon_state icon_state = base_icon_state

View File

@@ -112,7 +112,8 @@ obj/aiming_overlay/proc/update_aiming_deferred()
update_icon() update_icon()
var/cancel_aim = 1 var/cancel_aim = 1
if(!(aiming_with in owner) || (owner.l_hand != aiming_with && owner.r_hand != aiming_with))
if(!(aiming_with in owner) || (istype(owner, /mob/living/carbon/human) && (owner.l_hand != aiming_with && owner.r_hand != aiming_with)))
owner << "<span class='warning'>You must keep hold of your weapon!</span>" owner << "<span class='warning'>You must keep hold of your weapon!</span>"
else if(!aiming_at || !istype(aiming_at.loc, /turf)) else if(!aiming_at || !istype(aiming_at.loc, /turf))
owner << "<span class='warning'>You have lost sight of your target!</span>" owner << "<span class='warning'>You have lost sight of your target!</span>"