mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Added bolas to map and machines
- Bolas can now be found in sec lockers and the SecVend - Bolas can now be printed from a hacked autolathe - Fixed a bug where throwing a bolas at the same tile as its source would create a stationary projectile
This commit is contained in:
@@ -210,9 +210,13 @@
|
||||
T.xo = (targetloc.x - T.starting.x)
|
||||
if (ishuman(usr) && T.starting == usr.loc) // determines if the bolas should spawn an item when it dies (prevents infinite spam from mechs)
|
||||
T.shot_from = /obj/item/weapon/legcuffs/bolas
|
||||
T.firer = usr
|
||||
else
|
||||
T.shot_from = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/bolas
|
||||
T.firer = T.shot_from
|
||||
// log_admin("Bolas fired from [T.shot_from], location [T.starting] to [T.original], with [T.xo] and [T.yo]")
|
||||
if(!T.xo && !T.yo) //Required. If you take this out, you can create stationary projectiles which never disappear
|
||||
T.OnDeath()
|
||||
T.process()
|
||||
playsound(src, throw_sound, 20, 1)
|
||||
Destroy() //gets rid of the bolas item in the hand
|
||||
|
||||
@@ -61,6 +61,7 @@ var/global/list/autolathe_recipes_hidden = list( \
|
||||
new /obj/item/device/radio/electropack(), \
|
||||
new /obj/item/weapon/weldingtool/largetank(), \
|
||||
new /obj/item/weapon/handcuffs(), \
|
||||
new /obj/item/weapon/legcuffs/bolas(), \
|
||||
new /obj/item/ammo_magazine/a357(), \
|
||||
new /obj/item/ammo_casing/shotgun(), \
|
||||
new /obj/item/ammo_casing/shotgun/dart(), \
|
||||
|
||||
@@ -761,7 +761,8 @@
|
||||
icon_deny = "sec-deny"
|
||||
req_access_txt = "1"
|
||||
products = list(/obj/item/weapon/handcuffs = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,
|
||||
/obj/item/weapon/legcuffs/bolas = 8)
|
||||
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2)
|
||||
|
||||
/obj/machinery/vending/hydronutrients
|
||||
|
||||
@@ -188,6 +188,7 @@
|
||||
new /obj/item/taperoll/police(src)
|
||||
new /obj/item/device/hailer(src) //wonder if vg would spam this
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/weapon/legcuffs/bolas(src) //I added this - Comic
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -740,7 +740,7 @@
|
||||
if(!CM.legcuffed || CM.buckled)
|
||||
return // time leniency for lag which also might make this whole thing pointless but the server
|
||||
for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink
|
||||
O.show_message("\red <B>[CM] manages to remove the legcuffs!</B>", 1)
|
||||
O.show_message("\red <B>[CM] manages to remove the [HC.name]!</B>", 1)
|
||||
CM << "\blue You successfully remove \the [CM.legcuffed]."
|
||||
CM.legcuffed.loc = usr.loc
|
||||
CM.legcuffed = null
|
||||
|
||||
@@ -180,7 +180,6 @@
|
||||
OnDeath()
|
||||
|
||||
OnDeath()
|
||||
log_admin(shot_from)
|
||||
if(shot_from == /obj/item/weapon/legcuffs/bolas) //if it's thrown, we want it to respawn the item. Mechs don't do this to avoid spam and infinite bolas works
|
||||
// log_admin("Bolas created at [get_turf(src)]")
|
||||
var /obj/item/weapon/legcuffs/bolas/B = new /obj/item/weapon/legcuffs/bolas
|
||||
@@ -188,8 +187,10 @@
|
||||
qdel(src)
|
||||
|
||||
Bump(atom/A as mob|obj|turf|area)
|
||||
if(A == firer)
|
||||
loc = A.loc
|
||||
if(A == firer) //As if this ever happens
|
||||
loc = get_turf(A)
|
||||
A <<"\blue You run into your own bolas!"
|
||||
OnDeath()
|
||||
return
|
||||
if(src)
|
||||
if(A)
|
||||
|
||||
Reference in New Issue
Block a user