Merge remote-tracking branch 'upstream/dev-freeze' into dev

Conflicts:
	.travis.yml
This commit is contained in:
PsiOmega
2015-09-13 10:52:01 +02:00
7 changed files with 28 additions and 26 deletions

View File

@@ -372,7 +372,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Picks a string of symbols to display as the law number for hacked or ion laws //Picks a string of symbols to display as the law number for hacked or ion laws
/proc/ionnum() /proc/ionnum()
return "[pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" return "[pick("1","2","3","4","5","6","7","8","9","0")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]"
//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave. //When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave.
/proc/freeborg() /proc/freeborg()

View File

@@ -27,7 +27,7 @@
var/obj/item/I var/obj/item/I
for(I in src.loc) for(I in src.loc)
if(I.density || I.anchored || I == src) continue if(I.density || I.anchored || I == src) continue
I.loc = src I.forceMove(src)
// adjust locker size to hold all items with 5 units of free store room // adjust locker size to hold all items with 5 units of free store room
var/content_size = 0 var/content_size = 0
for(I in src.contents) for(I in src.contents)
@@ -71,13 +71,13 @@
/obj/structure/closet/proc/dump_contents() /obj/structure/closet/proc/dump_contents()
//Cham Projector Exception //Cham Projector Exception
for(var/obj/effect/dummy/chameleon/AD in src) for(var/obj/effect/dummy/chameleon/AD in src)
AD.loc = src.loc AD.forceMove(src.loc)
for(var/obj/I in src) for(var/obj/I in src)
I.loc = src.loc I.forceMove(src.loc)
for(var/mob/M in src) for(var/mob/M in src)
M.loc = src.loc M.forceMove(src.loc)
if(M.client) if(M.client)
M.client.eye = M.client.mob M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE M.client.perspective = MOB_PERSPECTIVE
@@ -125,7 +125,7 @@
for(var/obj/effect/dummy/chameleon/AD in src.loc) for(var/obj/effect/dummy/chameleon/AD in src.loc)
if((stored_units + added_units) > storage_capacity) if((stored_units + added_units) > storage_capacity)
break break
AD.loc = src AD.forceMove(src)
added_units++ added_units++
return added_units return added_units
@@ -136,7 +136,7 @@
if(stored_units + added_units + item_size > storage_capacity) if(stored_units + added_units + item_size > storage_capacity)
continue continue
if(!I.anchored) if(!I.anchored)
I.loc = src I.forceMove(src)
added_units += item_size added_units += item_size
return added_units return added_units
@@ -151,7 +151,7 @@
if(M.client) if(M.client)
M.client.perspective = EYE_PERSPECTIVE M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src M.client.eye = src
M.loc = src M.forceMove(src)
added_units += current_mob_size added_units += current_mob_size
return added_units return added_units
@@ -166,19 +166,19 @@
switch(severity) switch(severity)
if(1) if(1)
for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion for(var/atom/movable/A as mob|obj in src)//pulls everything out of the locker and hits it with an explosion
A.loc = src.loc A.forceMove(src.loc)
A.ex_act(severity++) A.ex_act(severity++)
qdel(src) qdel(src)
if(2) if(2)
if(prob(50)) if(prob(50))
for (var/atom/movable/A as mob|obj in src) for (var/atom/movable/A as mob|obj in src)
A.loc = src.loc A.forceMove(src.loc)
A.ex_act(severity++) A.ex_act(severity++)
qdel(src) qdel(src)
if(3) if(3)
if(prob(5)) if(prob(5))
for(var/atom/movable/A as mob|obj in src) for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc A.forceMove(src.loc)
A.ex_act(severity++) A.ex_act(severity++)
qdel(src) qdel(src)
@@ -186,7 +186,7 @@
health -= damage health -= damage
if(health <= 0) if(health <= 0)
for(var/atom/movable/A in src) for(var/atom/movable/A in src)
A.loc = src.loc A.forceMove(src.loc)
qdel(src) qdel(src)
/obj/structure/closet/bullet_act(var/obj/item/projectile/Proj) /obj/structure/closet/bullet_act(var/obj/item/projectile/Proj)
@@ -203,7 +203,7 @@
/obj/structure/closet/blob_act() /obj/structure/closet/blob_act()
if(prob(75)) if(prob(75))
for(var/atom/movable/A as mob|obj in src) for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc A.forceMove(src.loc)
qdel(src) qdel(src)
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -233,7 +233,7 @@
return return
usr.drop_item() usr.drop_item()
if(W) if(W)
W.loc = src.loc W.forceMove(src.loc)
else if(istype(W, /obj/item/weapon/packageWrap)) else if(istype(W, /obj/item/weapon/packageWrap))
return return
else if(istype(W, /obj/item/weapon/weldingtool)) else if(istype(W, /obj/item/weapon/weldingtool))

View File

@@ -146,7 +146,7 @@
attack_tk(mob/user as mob) attack_tk(mob/user as mob)
if(localopened && fireaxe) if(localopened && fireaxe)
fireaxe.loc = loc fireaxe.forceMove(loc)
user << "<span class='notice'>You telekinetically remove the fire axe.</span>" user << "<span class='notice'>You telekinetically remove the fire axe.</span>"
fireaxe = null fireaxe = null
update_icon() update_icon()

View File

@@ -65,7 +65,7 @@
if (istype(W, /obj/item/weapon/grab)) if (istype(W, /obj/item/weapon/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
user.drop_item() user.drop_item()
if (W) W.loc = src.loc if (W) W.forceMove(src.loc)
else if(istype(W, /obj/item/weapon/card/id)) else if(istype(W, /obj/item/weapon/card/id))
if(src.broken) if(src.broken)
user << "<span class='warning'>It appears to be broken.</span>" user << "<span class='warning'>It appears to be broken.</span>"

View File

@@ -77,7 +77,7 @@
return return
user.drop_item() user.drop_item()
if(W) if(W)
W.loc = src.loc W.forceMove(src.loc)
else if(istype(W, /obj/item/weapon/melee/energy/blade)) else if(istype(W, /obj/item/weapon/melee/energy/blade))
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>")) if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()

View File

@@ -35,7 +35,7 @@
playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3) playsound(src.loc, 'sound/machines/click.ogg', 15, 1, -3)
for(var/obj/O in src) for(var/obj/O in src)
O.loc = get_turf(src) O.forceMove(get_turf(src))
icon_state = icon_opened icon_state = icon_opened
src.opened = 1 src.opened = 1
@@ -60,7 +60,7 @@
var/obj/structure/bed/B = O var/obj/structure/bed/B = O
if(B.buckled_mob) if(B.buckled_mob)
continue continue
O.loc = src O.forceMove(src)
itemcount++ itemcount++
icon_state = icon_closed icon_state = icon_closed
@@ -75,7 +75,7 @@
return return
user.drop_item() user.drop_item()
if(W) if(W)
W.loc = src.loc W.forceMove(src.loc)
else if(istype(W, /obj/item/weapon/packageWrap)) else if(istype(W, /obj/item/weapon/packageWrap))
return return
else if(istype(W, /obj/item/stack/cable_coil)) else if(istype(W, /obj/item/stack/cable_coil))
@@ -91,7 +91,7 @@
if(rigged) if(rigged)
user << "<span class='notice'>You attach [W] to [src].</span>" user << "<span class='notice'>You attach [W] to [src].</span>"
user.drop_item() user.drop_item()
W.loc = src W.forceMove(src)
return return
else if(istype(W, /obj/item/weapon/wirecutters)) else if(istype(W, /obj/item/weapon/wirecutters))
if(rigged) if(rigged)
@@ -160,7 +160,7 @@
/obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null) /obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null)
if(locked == newlocked) return if(locked == newlocked) return
locked = newlocked locked = newlocked
if(user) if(user)
for(var/mob/O in viewers(user, 3)) for(var/mob/O in viewers(user, 3))
@@ -437,12 +437,12 @@
continue continue
if(!S.anchored) if(!S.anchored)
found = 1 found = 1
S.loc = src S.forceMove(src)
break break
if(!found) if(!found)
for(var/obj/machinery/M in src.loc) for(var/obj/machinery/M in src.loc)
if(!M.anchored) if(!M.anchored)
M.loc = src M.forceMove(src)
break break
return return
@@ -465,12 +465,12 @@
continue continue
if(!S.anchored) if(!S.anchored)
found = 1 found = 1
S.loc = src S.forceMove(src)
break break
if(!found) if(!found)
for(var/obj/machinery/M in src.loc) for(var/obj/machinery/M in src.loc)
if(!M.anchored) if(!M.anchored)
M.loc = src M.forceMove(src)
break break
return return

View File

@@ -141,6 +141,8 @@ Works together with spawning an observer, noted above.
var/client/C = U.client var/client/C = U.client
for(var/mob/living/carbon/human/target in target_list) for(var/mob/living/carbon/human/target in target_list)
C.images += target.hud_list[SPECIALROLE_HUD] C.images += target.hud_list[SPECIALROLE_HUD]
for(var/mob/living/silicon/target in target_list)
C.images += target.hud_list[SPECIALROLE_HUD]
return 1 return 1
/mob/proc/ghostize(var/can_reenter_corpse = 1) /mob/proc/ghostize(var/can_reenter_corpse = 1)