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>
@@ -15502,6 +15502,7 @@
|
||||
/obj/item/folder/yellow,
|
||||
/obj/item/multitool,
|
||||
/obj/item/pen/red,
|
||||
/obj/item/screwdriver/cargo,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "brown"
|
||||
@@ -26673,6 +26674,7 @@
|
||||
listening = 0;
|
||||
pixel_y = 28
|
||||
},
|
||||
/obj/item/wirecutters/security,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 8;
|
||||
icon_state = "vault"
|
||||
@@ -29387,6 +29389,7 @@
|
||||
name = "north bump";
|
||||
pixel_y = 28
|
||||
},
|
||||
/obj/item/crowbar/engineering,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/break_room)
|
||||
"bzP" = (
|
||||
@@ -95806,6 +95809,7 @@
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/toolbox/mechanical,
|
||||
/obj/item/wrench,
|
||||
/obj/item/weldingtool/research,
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/toxins/explab)
|
||||
"vzo" = (
|
||||
|
||||
@@ -8845,7 +8845,6 @@
|
||||
/obj/item/stack/sheet/glass{
|
||||
amount = 12
|
||||
},
|
||||
/obj/item/crowbar,
|
||||
/obj/item/grenade/chem_grenade/metalfoam,
|
||||
/obj/item/grenade/chem_grenade/metalfoam,
|
||||
/obj/effect/turf_decal/bot,
|
||||
@@ -8854,6 +8853,7 @@
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/item/crowbar/engineering,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/hardsuitstorage)
|
||||
"aLq" = (
|
||||
@@ -46129,6 +46129,7 @@
|
||||
"cNu" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/crowbar,
|
||||
/obj/item/weldingtool/research,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "white"
|
||||
},
|
||||
@@ -63957,6 +63958,7 @@
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/taperecorder,
|
||||
/obj/item/flashlight/lamp,
|
||||
/obj/item/wirecutters/security,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -73809,6 +73811,7 @@
|
||||
},
|
||||
/obj/item/book/manual/wiki/sop_supply,
|
||||
/obj/item/storage/belt/utility,
|
||||
/obj/item/screwdriver/cargo,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "brown"
|
||||
|
||||
@@ -9070,6 +9070,7 @@
|
||||
name = "east bump"
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on,
|
||||
/obj/item/wirecutters/security,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -19575,6 +19576,7 @@
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/clothing/gloves/color/yellow,
|
||||
/obj/item/crowbar/engineering,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "darkyellow"
|
||||
},
|
||||
@@ -25933,6 +25935,7 @@
|
||||
name = "cargo display";
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/screwdriver/cargo,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "darkbrown"
|
||||
@@ -69813,6 +69816,7 @@
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/item/weldingtool/research,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "white"
|
||||
},
|
||||
|
||||
@@ -9706,6 +9706,7 @@
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/taperecorder,
|
||||
/obj/item/flashlight/lamp,
|
||||
/obj/item/wirecutters/security,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -39446,6 +39447,7 @@
|
||||
"bWW" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/belt/utility,
|
||||
/obj/item/screwdriver/cargo,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/quartermaster/office)
|
||||
"bWY" = (
|
||||
@@ -57087,7 +57089,6 @@
|
||||
/obj/item/clothing/gloves/color/black,
|
||||
/obj/item/clothing/gloves/color/black,
|
||||
/obj/item/clothing/gloves/color/black,
|
||||
/obj/item/crowbar/large,
|
||||
/obj/item/storage/box/lights/mixed,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
@@ -57097,6 +57098,7 @@
|
||||
name = "south bump";
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/item/crowbar/engineering,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/equipmentstorage)
|
||||
"cTU" = (
|
||||
@@ -58749,6 +58751,7 @@
|
||||
d2 = 2;
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/item/weldingtool/research,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "whitepurple"
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 180 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 22 KiB |