Adds four new departmental tools (#20822)

* engineering crowbar

* engineering crowbar map changes

* command multitool description overhaul

* command multitool inhands

* security wirecutters

* security wirecutters map changes

* science welder

* crowbar weight class

* science welder suicide act

* welder map edits

* oagh
fixes "the the research welding tool" in its suicide act

* cargo screwdriver

* immobilize > stun

* cargo screwdriver mapping in

* sirryan review

* lewcc review

* oops

* comment clarification

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* forgor 💀
I forgot to stage the changes to this file before the last commit

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
JimKil3
2023-05-14 18:00:23 -05:00
committed by GitHub
parent e9257a9817
commit dd3a23de7d
14 changed files with 149 additions and 8 deletions
+36
View File
@@ -69,6 +69,42 @@
item_state = "crowbar_large"
toolspeed = 0.5
/obj/item/crowbar/engineering
name = "engineering crowbar"
desc = "It's a big crowbar, perfect for fending off those assistants trying to get at your gloves."
force = 12
//w_class = WEIGHT_CLASS_NORMAL Commented out so it can fit in belts
throw_speed = 3
throw_range = 3
materials = list(MAT_METAL = 400)
icon_state = "crowbar_eng"
item_state = "crowbar_eng"
belt_icon = "crowbar_eng"
toolspeed = 0.5
/obj/item/crowbar/engineering/suicide_act(mob/living/user)
if(!user)
return
user.visible_message("<span class='suicide'>[user] looks up and hooks [src] into a ceiling tile! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.Immobilize(10 SECONDS)
playsound(loc, 'sound/items/crowbar.ogg', 50, TRUE, -1)
sleep(2 SECONDS)
add_fingerprint(user)
to_chat(user, "<span class='userdanger'>You pry open the ceiling tile above you and look beyond it.. oh God, what the hell is <i>that?!</i></span>")
user.emote("scream")
animate_fading_leap_up(user)
for(var/obj/item/W in user)
user.unEquip(W)
user.dust()
return OBLITERATION
/obj/item/crowbar/cyborg
name = "hydraulic crowbar"
desc = "A hydraulic prying tool, compact but powerful. Designed to replace crowbar in construction cyborgs."
+12 -4
View File
@@ -112,8 +112,10 @@
name = "command multitool"
desc = "Used for pulsing wires to test which to cut. Not recommended by the Captain."
icon_state = "multitool_command"
item_state = "multitool_command"
belt_icon = "multitool_command"
toolspeed = 0.95 //command those wires / that fireaxe cabinet!
var/list/victims = list()
/obj/item/multitool/command/suicide_act(mob/living/user)
user.visible_message("<span class='suicide'>[user] is attempting to command the command multitool! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -121,13 +123,19 @@
if(!user)
return
user.Stun(10 SECONDS)
playsound(loc, 'sound/effects/supermatter.ogg', 50, TRUE, -1)
user.Immobilize(10 SECONDS)
sleep(20)
add_fingerprint(user)
desc += " Its screen displays the text \"[user.name]: executed for mutiny.\""
var/base_desc = "Used for pulsing wires to test which to cut. Not recommended by the Captain. Its screen displays the text \""
victims += user.name
if(length(victims) < 3)
desc = base_desc + english_list(victims) + ": executed for mutiny.\""
else
desc = base_desc + english_list(victims) + ", all executed for mutiny. Impressive.\""
playsound(loc, 'sound/effects/supermatter.ogg', 50, TRUE, -1)
for(var/obj/item/W in user)
user.unEquip(W)
@@ -67,6 +67,29 @@
random_color = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/screwdriver/cargo
name = "cargo screwdriver"
desc = "A brownish screwdriver belonging to the supply department. Unfortunately, it can't do all the paperwork for you..."
icon_state = "screwdriver_cargo"
belt_icon = "screwdriver_cargo"
toolspeed = 0.75
random_color = FALSE
/obj/item/screwdriver/cargo/suicide_act(mob/living/user)
if(!user)
return
user.visible_message("<span class='suicide'>[user] is trying to take [src]'s independence! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.Immobilize(10 SECONDS)
sleep(2 SECONDS)
add_fingerprint(user)
user.visible_message("<span class='warn'>[src] retaliates viciously!</span>", "<span class='userdanger'>[src] retaliates viciously!</span>")
playsound(loc, hitsound, 50, TRUE, -1)
return BRUTELOSS
/obj/item/screwdriver/abductor
name = "alien screwdriver"
desc = "An ultrasonic screwdriver."
+28
View File
@@ -213,6 +213,34 @@
desc = "An advanced welder designed to be used in robotic systems."
toolspeed = 0.5
/obj/item/weldingtool/research
name = "research welding tool"
desc = "A scratched-up welder that's been modified many times. Is it still the same tool?"
icon_state = "welder_research"
item_state = "welder_research"
belt_icon = "welder_research"
maximum_fuel = 40
toolspeed = 0.75
light_intensity = 1
/obj/item/weldingtool/research/suicide_act(mob/living/user)
if(!user)
return
user.visible_message("<span class='suicide'>[user] is tinkering with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
to_chat(user, "<span class='notice'> You begin tinkering with [src]...")
user.Immobilize(10 SECONDS)
sleep(2 SECONDS)
add_fingerprint(user)
user.visible_message("<span class='danger'>[src] blows up in [user]'s face!</span>", "<span class='userdanger'>Oh, shit!</span>")
playsound(loc, "sound/effects/explosion1.ogg", 50, TRUE, -1)
user.gib()
return OBLITERATION
/obj/item/weldingtool/mini
name = "emergency welding tool"
desc = "A miniature welder used during emergencies."
@@ -47,6 +47,38 @@
playsound(loc, usesound, 50, 1, -1)
return BRUTELOSS
/obj/item/wirecutters/security
name = "security wirecutters"
desc = "A pair of wirecutters with a tactical grip and robust build."
icon_state = "cutters_sec"
belt_icon = "wirecutters_sec"
item_state = "cutters_red" //shh
attack_verb = list("reformed", "robusted", "102'd") //102: battery in space law
force = 9 //same as seclites
toolspeed = 0.75
random_color = FALSE
/obj/item/wirecutters/security/suicide_act(mob/living/user)
if(!user)
return
user.visible_message("<span class='suicide'>[user] is cutting [user.p_themselves()] free from the mortal coil! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.Immobilize(10 SECONDS)
sleep(2 SECONDS)
add_fingerprint(user)
playsound(loc, usesound, 50, TRUE, -1)
new /obj/item/restraints/handcuffs/cable/zipties/used(user.loc)
for(var/obj/item/W in user)
user.unEquip(W)
user.dust()
return OBLITERATION
/obj/item/wirecutters/brass
name = "brass wirecutters"
desc = "A pair of wirecutters made of brass. The handle feels freezing cold to the touch."
+2 -2
View File
@@ -97,8 +97,8 @@
animate(filter, alpha = 110, time = 3, loop = -1)
animate(alpha = 40, time = 6)
// Stun stops them from wandering off
user.Stun(10 SECONDS)
// Immobilize stops them from wandering off and dropping the wrench
user.Immobilize(10 SECONDS)
playsound(loc, 'sound/effects/pray.ogg', 50, 1, -1)
// Let the sound effect finish playing