mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
Merge branch 'master' of https://github.com/tgstation/-tg-station into EmergencyResponseTeam
Conflicts: code/modules/projectiles/guns/energy/nuclear.dm icons/obj/gun.dmi
This commit is contained in:
@@ -44,6 +44,21 @@
|
||||
|
||||
var/suittoggled = 0
|
||||
var/hooded = 0
|
||||
var/list/can_be_placed_into = list(
|
||||
/obj/structure/table,
|
||||
/obj/structure/rack,
|
||||
/obj/structure/closet,
|
||||
/obj/item/weapon/storage,
|
||||
/obj/structure/safe,
|
||||
/obj/machinery/disposal
|
||||
)
|
||||
/obj/item/proc/check_allowed_items(atom/target, not_inside)
|
||||
if((src in target) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into))
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
|
||||
var/attackback = 0 //calls calls attackby() when you hit an obj with an item with this var set to 1.
|
||||
|
||||
/obj/item/device
|
||||
icon = 'icons/obj/device.dmi'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
action_button_is_hands_free = 1
|
||||
var/activated = 1 //1 for implant types that can be activated, 0 for ones that are "always on" like loyalty implants
|
||||
var/implanted = null
|
||||
var/mob/imp_in = null
|
||||
var/mob/living/imp_in = null
|
||||
item_color = "b"
|
||||
var/allow_reagents = 0
|
||||
|
||||
@@ -190,6 +190,7 @@
|
||||
imp_in.SetStunned(0)
|
||||
imp_in.SetWeakened(0)
|
||||
imp_in.SetParalysis(0)
|
||||
imp_in.adjustStaminaLoss(-75)
|
||||
imp_in.lying = 0
|
||||
imp_in.update_canmove()
|
||||
|
||||
|
||||
@@ -12,9 +12,19 @@
|
||||
origin_tech = "programming=3"
|
||||
var/list/signs = list()
|
||||
var/max_signs = 10
|
||||
can_be_placed_into = list(
|
||||
/obj/machinery/r_n_d/destructive_analyzer,
|
||||
/obj/structure/table,
|
||||
/obj/structure/rack,
|
||||
/obj/structure/closet,
|
||||
/obj/item/weapon/storage,
|
||||
/obj/structure/safe,
|
||||
/obj/machinery/disposal
|
||||
)
|
||||
|
||||
/obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag)
|
||||
if(flag)
|
||||
if(!check_allowed_items(target, 1)) return
|
||||
var/turf/T = get_turf(target)
|
||||
var/obj/effect/overlay/holograph/H = locate() in T
|
||||
if(H)
|
||||
|
||||
@@ -173,4 +173,14 @@
|
||||
/obj/item/weapon/reagent_containers/spray,
|
||||
/obj/item/weapon/soap,
|
||||
/obj/item/weapon/holosign_creator
|
||||
)
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/bandolier
|
||||
name = "bandolier"
|
||||
desc = "A bandolier for holding shotgun ammunition."
|
||||
icon_state = "bandolier"
|
||||
item_state = "bandolier"
|
||||
storage_slots = 6
|
||||
can_hold = list(
|
||||
/obj/item/ammo_casing/shotgun
|
||||
)
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/crossbow))
|
||||
if(!prevent_warning && !istype(W, /obj/item/weapon/gun/projectile/automatic/crossbow))
|
||||
for(var/mob/M in viewers(usr, null))
|
||||
if(M == usr)
|
||||
usr << "<span class='notice'>You put [W] [preposition]to [src].</span>"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
return
|
||||
|
||||
if("stealth")
|
||||
new /obj/item/weapon/gun/energy/crossbow(src)
|
||||
new /obj/item/weapon/gun/projectile/automatic/crossbow(src)
|
||||
new /obj/item/weapon/pen/sleepy(src)
|
||||
new /obj/item/device/chameleon(src)
|
||||
return
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
user.visible_message("<span class='notice'>[user] is loosening the [name]'s bolts...</span>", \
|
||||
"<span class='notice'>You are loosening the [name]'s bolts...</span>")
|
||||
if(do_after(user,40))
|
||||
if(!src) return
|
||||
if(!anchored) return
|
||||
if(!src.loc || !anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] loosened the [name]'s bolts!</span>", \
|
||||
"<span class='notice'>You loosened the [name]'s bolts!</span>")
|
||||
anchored = 0
|
||||
else if(!anchored)
|
||||
else
|
||||
if (!istype(src.loc, /turf/simulated/floor))
|
||||
user.visible_message("<span class='danger'>A floor must be present to secure the [name]!</span>")
|
||||
return
|
||||
@@ -38,8 +38,8 @@
|
||||
user.visible_message("<span class='notice'>[user] is securing the [name]'s bolts...</span>", \
|
||||
"<span class='notice'>You are securing the [name]'s bolts...</span>")
|
||||
if(do_after(user, 40))
|
||||
if(!src) return
|
||||
if(anchored) return
|
||||
if(!src.loc || anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] has secured the [name]'s bolts!</span>", \
|
||||
"<span class='notice'>You have secured the [name]'s bolts!</span>")
|
||||
anchored = 1
|
||||
@@ -48,7 +48,8 @@
|
||||
user.visible_message("<span class='notice'>[user] is slicing apart the [name]...</span>", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
if(do_after(user,30))
|
||||
if(!src.loc) return
|
||||
if(!src.loc)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] slices apart the [name]!</span>", \
|
||||
"<span class='notice'>You slice apart the [name]!</span>")
|
||||
Dismantle(1)
|
||||
@@ -57,20 +58,23 @@
|
||||
user.visible_message("<span class='notice'>[user] begins to drill apart the [name]!</span>", \
|
||||
"<span class='notice'>You begin to drill apart the [name]!</span>")
|
||||
if(do_after(user,5))
|
||||
if(!src.loc) return
|
||||
if(!src.loc)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] destroys the [name]!</span>", \
|
||||
"<span class='notice'>You destroy the [name]!</span>")
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
if(!anchored)
|
||||
user.visible_message("<span class='notice'>[user] is slicing apart the [name]...</span>", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
if(do_after(user, 40))
|
||||
if(!src.loc) return
|
||||
user.visible_message("<span class='notice'>[user] slices apart the [name]!</span>", \
|
||||
"<span class='notice'>You slice apart the [name]!</span>")
|
||||
Dismantle(1)
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored)
|
||||
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
|
||||
user.visible_message("<span class='notice'>[user] is slicing apart the [name]...</span>", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
if(do_after(user, 40))
|
||||
if(!src.loc)
|
||||
return
|
||||
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] slices apart the [name]!</span>", \
|
||||
"<span class='notice'>You slice apart the [name]!</span>")
|
||||
Dismantle(1)
|
||||
|
||||
else
|
||||
hardness -= W.force/100
|
||||
|
||||
Reference in New Issue
Block a user