mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 12:05:28 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into implanter_fix
# Conflicts: # icons/obj/items.dmi
This commit is contained in:
@@ -102,7 +102,16 @@
|
||||
flashfail = 1
|
||||
|
||||
else if(issilicon(M))
|
||||
M.Weaken(rand(5,10))
|
||||
flashfail = 0
|
||||
var/mob/living/silicon/S = M
|
||||
if(isrobot(S))
|
||||
var/mob/living/silicon/robot/R = S
|
||||
if(R.has_active_type(/obj/item/borg/combat/shield))
|
||||
var/obj/item/borg/combat/shield/shield = locate() in R
|
||||
if(shield)
|
||||
if(shield.active)
|
||||
shield.adjust_flash_count(R, 1)
|
||||
flashfail = 1
|
||||
else
|
||||
flashfail = 1
|
||||
|
||||
@@ -125,6 +134,7 @@
|
||||
else
|
||||
|
||||
user.visible_message("<span class='notice'>[user] overloads [M]'s sensors with the flash!</span>")
|
||||
M.Weaken(rand(5,10))
|
||||
else
|
||||
|
||||
user.visible_message("<span class='notice'>[user] fails to blind [M] with the flash!</span>")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
return
|
||||
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "<span class='warning'>Uh ... how do those things work?!</span>"
|
||||
to_chat(user, "<span class='warning'>Uh ... how do those things work?!</span>")
|
||||
place_handcuffs(user, user)
|
||||
return
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if(can_place(C, user))
|
||||
place_handcuffs(C, user)
|
||||
else
|
||||
user << "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>"
|
||||
to_chat(user, "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>")
|
||||
|
||||
/obj/item/weapon/handcuffs/proc/can_place(var/mob/target, var/mob/user)
|
||||
if(user == target)
|
||||
@@ -60,11 +60,11 @@
|
||||
return 0
|
||||
|
||||
if (!H.has_organ_for_slot(slot_handcuffed))
|
||||
user << "<span class='danger'>\The [H] needs at least two wrists before you can cuff them together!</span>"
|
||||
to_chat(user, "<span class='danger'>\The [H] needs at least two wrists before you can cuff them together!</span>")
|
||||
return 0
|
||||
|
||||
if(istype(H.gloves,/obj/item/clothing/gloves/gauntlets/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit.
|
||||
user << "<span class='danger'>\The [src] won't fit around \the [H.gloves]!</span>"
|
||||
to_chat(user, "<span class='danger'>\The [src] won't fit around \the [H.gloves]!</span>")
|
||||
return 0
|
||||
|
||||
user.visible_message("<span class='danger'>\The [user] is attempting to put [cuff_type] on \the [H]!</span>")
|
||||
@@ -166,7 +166,7 @@ var/last_chew = 0
|
||||
if (R.use(1))
|
||||
var/obj/item/weapon/material/wirerod/W = new(get_turf(user))
|
||||
user.put_in_hands(W)
|
||||
user << "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>"
|
||||
to_chat(user, "<span class='notice'>You wrap the cable restraint around the top of the rod.</span>")
|
||||
qdel(src)
|
||||
update_icon(user)
|
||||
|
||||
@@ -188,7 +188,7 @@ var/last_chew = 0
|
||||
desc = "Use this to keep prisoners in line."
|
||||
gender = PLURAL
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "handcuff"
|
||||
icon_state = "legcuff"
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
@@ -204,7 +204,7 @@ var/last_chew = 0
|
||||
return
|
||||
|
||||
if ((CLUMSY in user.mutations) && prob(50))
|
||||
user << "<span class='warning'>Uh ... how do those things work?!</span>"
|
||||
to_chat(user, "<span class='warning'>Uh ... how do those things work?!</span>")
|
||||
place_legcuffs(user, user)
|
||||
return
|
||||
|
||||
@@ -217,7 +217,7 @@ var/last_chew = 0
|
||||
if(can_place(C, user))
|
||||
place_legcuffs(C, user)
|
||||
else
|
||||
user << "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>"
|
||||
to_chat(user, "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>")
|
||||
|
||||
/obj/item/weapon/handcuffs/legcuffs/proc/place_legcuffs(var/mob/living/carbon/target, var/mob/user)
|
||||
playsound(src.loc, cuff_sound, 30, 1, -2)
|
||||
@@ -227,11 +227,11 @@ var/last_chew = 0
|
||||
return 0
|
||||
|
||||
if (!H.has_organ_for_slot(slot_legcuffed))
|
||||
user << "<span class='danger'>\The [H] needs at least two ankles before you can cuff them together!</span>"
|
||||
to_chat(user, "<span class='danger'>\The [H] needs at least two ankles before you can cuff them together!</span>")
|
||||
return 0
|
||||
|
||||
if(istype(H.shoes,/obj/item/clothing/shoes/magboots/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit.
|
||||
user << "<span class='danger'>\The [src] won't fit around \the [H.shoes]!</span>"
|
||||
to_chat(user, "<span class='danger'>\The [src] won't fit around \the [H.shoes]!</span>")
|
||||
return 0
|
||||
|
||||
user.visible_message("<span class='danger'>\The [user] is attempting to put [cuff_type] on \the [H]!</span>")
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
/obj/item/weapon/material/gravemarker
|
||||
name = "grave marker"
|
||||
desc = "An object used in marking graves."
|
||||
icon_state = "gravemarker"
|
||||
w_class = ITEMSIZE_LARGE
|
||||
fragile = 1
|
||||
force_divisor = 0.65
|
||||
thrown_force_divisor = 0.25
|
||||
|
||||
var/icon_changes = 1 //Does the sprite change when you put words on it?
|
||||
var/grave_name = "" //Name of the intended occupant
|
||||
var/epitaph = "" //A quick little blurb
|
||||
|
||||
/obj/item/weapon/material/gravemarker/attackby(obj/item/weapon/W, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
var/carving_1 = sanitizeSafe(input(user, "Who is \the [src.name] for?", "Gravestone Naming", null) as text, MAX_NAME_LEN)
|
||||
if(carving_1)
|
||||
user.visible_message("[user] starts carving \the [src.name].", "You start carving \the [src.name].")
|
||||
if(do_after(user, material.hardness * W.toolspeed))
|
||||
user.visible_message("[user] carves something into \the [src.name].", "You carve your message into \the [src.name].")
|
||||
grave_name += carving_1
|
||||
update_icon()
|
||||
var/carving_2 = sanitizeSafe(input(user, "What message should \the [src.name] have?", "Epitaph Carving", null) as text, MAX_NAME_LEN)
|
||||
if(carving_2)
|
||||
user.visible_message("[user] starts carving \the [src.name].", "You start carving \the [src.name].")
|
||||
if(do_after(user, material.hardness * W.toolspeed))
|
||||
user.visible_message("[user] carves something into \the [src.name].", "You carve your message into \the [src.name].")
|
||||
epitaph += carving_2
|
||||
update_icon()
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
user.visible_message("[user] starts carving \the [src.name].", "You start carving \the [src.name].")
|
||||
if(do_after(user, material.hardness * W.toolspeed))
|
||||
material.place_dismantled_product(get_turf(src))
|
||||
user.visible_message("[user] dismantles down \the [src.name].", "You dismantle \the [src.name].")
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/material/gravemarker/examine(mob/user)
|
||||
..()
|
||||
if(get_dist(src, user) < 4)
|
||||
if(grave_name)
|
||||
to_chat(user, "Here Lies [grave_name]")
|
||||
if(get_dist(src, user) < 2)
|
||||
if(epitaph)
|
||||
to_chat(user, epitaph)
|
||||
|
||||
/obj/item/weapon/material/gravemarker/update_icon()
|
||||
if(icon_changes)
|
||||
if(grave_name && epitaph)
|
||||
icon_state = "[initial(icon_state)]_3"
|
||||
else if(grave_name)
|
||||
icon_state = "[initial(icon_state)]_1"
|
||||
else if(epitaph)
|
||||
icon_state = "[initial(icon_state)]_2"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/weapon/material/gravemarker/attack_self(mob/user)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if(!isturf(user.loc))
|
||||
return 0
|
||||
|
||||
if(locate(/obj/structure/gravemarker, user.loc))
|
||||
to_chat(user, "<span class='warning'>There's already something there.</span>")
|
||||
return 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You begin to place \the [src.name].</span>")
|
||||
if(!do_after(usr, 10))
|
||||
return 0
|
||||
var/obj/structure/gravemarker/G = new /obj/structure/gravemarker/(user.loc, src.get_material())
|
||||
to_chat(user, "<span class='notice'>You place \the [src.name].</span>")
|
||||
G.grave_name = grave_name
|
||||
G.epitaph = epitaph
|
||||
G.add_fingerprint(usr)
|
||||
G.dir = user.dir
|
||||
qdel_null(src)
|
||||
return
|
||||
@@ -241,6 +241,50 @@
|
||||
new /obj/item/device/multitool/alien(src)
|
||||
new /obj/item/stack/cable_coil/alien(src)
|
||||
|
||||
/obj/item/weapon/storage/belt/medical/alien
|
||||
name = "alien belt"
|
||||
desc = "A belt(?) that can hold things."
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
icon_state = "belt"
|
||||
item_state = "security"
|
||||
can_hold = list(
|
||||
/obj/item/device/healthanalyzer,
|
||||
/obj/item/weapon/dnainjector,
|
||||
/obj/item/weapon/reagent_containers/dropper,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker,
|
||||
/obj/item/weapon/reagent_containers/glass/bottle,
|
||||
/obj/item/weapon/reagent_containers/pill,
|
||||
/obj/item/weapon/reagent_containers/syringe,
|
||||
/obj/item/weapon/flame/lighter/zippo,
|
||||
/obj/item/weapon/storage/fancy/cigarettes,
|
||||
/obj/item/weapon/storage/pill_bottle,
|
||||
/obj/item/stack/medical,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/device/pda,
|
||||
/obj/item/taperoll,
|
||||
/obj/item/device/megaphone,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/head/surgery,
|
||||
/obj/item/clothing/gloves,
|
||||
/obj/item/weapon/reagent_containers/hypospray,
|
||||
/obj/item/clothing/glasses,
|
||||
/obj/item/weapon/crowbar,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/cell/device,
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/weapon/surgical
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/medical/alien/New()
|
||||
..()
|
||||
new /obj/item/weapon/surgical/scalpel/alien(src)
|
||||
new /obj/item/weapon/surgical/hemostat/alien(src)
|
||||
new /obj/item/weapon/surgical/retractor/alien(src)
|
||||
new /obj/item/weapon/surgical/circular_saw/alien(src)
|
||||
new /obj/item/weapon/surgical/FixOVein/alien(src)
|
||||
new /obj/item/weapon/surgical/bone_clamp/alien(src)
|
||||
new /obj/item/weapon/surgical/cautery/alien(src)
|
||||
|
||||
/obj/item/weapon/storage/belt/champion
|
||||
name = "championship belt"
|
||||
desc = "Proves to the world that you are the strongest!"
|
||||
|
||||
@@ -166,13 +166,22 @@
|
||||
/obj/item/weapon/surgical/bonesetter
|
||||
name = "bone setter"
|
||||
desc = "Put them in their place."
|
||||
icon_state = "bone setter"
|
||||
icon_state = "bone_setter"
|
||||
force = 8.0
|
||||
throwforce = 9.0
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
attack_verb = list("attacked", "hit", "bludgeoned")
|
||||
|
||||
/obj/item/weapon/surgical/bone_clamp
|
||||
name = "bone clamp"
|
||||
desc = "The best way to get a bone fixed fast."
|
||||
icon_state = "bone_clamp"
|
||||
force = 8
|
||||
throwforce = 9
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
attack_verb = list("attacked", "hit", "bludgeoned")
|
||||
|
||||
// Cyborg Tools
|
||||
|
||||
@@ -201,4 +210,38 @@
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/weapon/surgical/bonesetter/cyborg
|
||||
toolspeed = 0.5
|
||||
toolspeed = 0.5
|
||||
|
||||
|
||||
// Alien Tools
|
||||
/obj/item/weapon/surgical/retractor/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/hemostat/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/cautery/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/surgicaldrill/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/scalpel/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/circular_saw/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/FixOVein/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.25
|
||||
|
||||
/obj/item/weapon/surgical/bone_clamp/alien
|
||||
icon = 'icons/obj/abductor.dmi'
|
||||
toolspeed = 0.75
|
||||
Reference in New Issue
Block a user