Gripper overhaul + New borg sprites (#1518)

Fixes #1489 
Fixes #1499 

Grippers basically torn up and remade, i went down to the root and incorporated them into cyborg click and inventory code. This should make them resistant against future bugs.
Fixes all current known gripper bugs. Grippers work properly with all the stuff they should. Minor tweaks to borg modules.

In addition, i went and raided VG, TG, paradise and bay repositories, and ported all their best sprites that were suitable for us. VG station was the most lucrative by far, about 70% of the new ones came from there.
This commit is contained in:
NanakoAC
2017-01-13 00:07:18 +02:00
committed by skull132
parent 3d0044f174
commit da63b8d171
23 changed files with 596 additions and 407 deletions
@@ -168,6 +168,7 @@
user << "<span class='notice'>It won't budge!</span>"
return
update_icon()
return 1
// this should probably use dump_contents()
/obj/structure/closet/ex_act(severity)
@@ -231,9 +232,7 @@
"<span class='notice'>You empty \the [LB] into \the [src].</span>", \
"<span class='notice'>You hear rustling of clothes.</span>")
return
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
if(!dropsafety(W))
return
usr.drop_item()
if(W)
@@ -290,7 +289,7 @@
/obj/structure/closet/attack_hand(mob/user as mob)
src.add_fingerprint(user)
src.toggle(user)
return src.toggle(user)
// tk grab then use on self
/obj/structure/closet/attack_self_tk(mob/user as mob)
@@ -64,31 +64,16 @@
user << "<span class='notice'>Access Denied</span>"
/obj/structure/closet/secure_closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(src.opened)
if(istype(W, /obj/item/weapon/storage/laundry_basket))
return ..(W,user)
if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
if(src.large)
src.MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
user << "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>"
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.
return
user.drop_item()
if(W)
W.forceMove(src.loc)
else if(istype(W, /obj/item/weapon/melee/energy/blade))
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>"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1)
playsound(src.loc, "sparks", 50, 1)
else if(istype(W,/obj/item/weapon/packageWrap) || istype(W,/obj/item/weapon/weldingtool))
return ..(W,user)
else if (!locked)
return ..()
else
togglelock(user)
@@ -173,7 +173,7 @@
user << span("warning", "You can't open that while it's under the table")
return 0
else
..()
return ..()
/obj/structure/closet/crate/proc/set_tablestatus(var/target)
if (tablestatus != target)
@@ -303,6 +303,7 @@
return
if(src.allowed(user))
set_locked(!locked, user)
return 1
else
user << "<span class='notice'>Access Denied</span>"
@@ -333,9 +334,9 @@
/obj/structure/closet/crate/secure/attack_hand(mob/user as mob)
src.add_fingerprint(user)
if(locked)
src.togglelock(user)
return src.togglelock(user)
else
src.toggle(user)
return src.toggle(user)
/obj/structure/closet/crate/secure/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(is_type_in_list(W, list(/obj/item/weapon/packageWrap, /obj/item/stack/cable_coil, /obj/item/device/radio/electropack, /obj/item/weapon/wirecutters)))