Ports the airlock bolt wrench from /tg/ station. (#23614)

* bolterwrench

* Update code/game/machinery/doors/airlock.dm

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

* Update code/game/objects/items/tools/wrench.dm

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

* Update code/modules/research/designs/equipment_designs.dm

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

* Update code/game/machinery/doors/airlock.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* most of lewc reviews

* i think this is what lewcc meant.

* Update airlock.dm

* Update code/modules/research/designs/equipment_designs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* lewc review

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
1080pCat
2024-01-29 18:17:20 -05:00
committed by GitHub
co-authored by Henri215 Burzah Luc
parent 1649ba6cb3
commit 2226231caf
6 changed files with 38 additions and 0 deletions
+20
View File
@@ -1694,6 +1694,26 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(exposed_temperature > (T0C + heat_resistance))
take_damage(round(exposed_volume / 100), BURN, 0, 0)
/obj/machinery/door/airlock/wrench_act(mob/living/user, obj/item/tool)
if(!istype(tool, /obj/item/wrench/bolter))
return
if(!locked)
return TRUE
if(!panel_open)
to_chat(user, "<span class='notice'>You do not have access to [src]'s bolts, open the panel first!</span>")
return TRUE
if(security_level != AIRLOCK_SECURITY_NONE)
to_chat(user, "<span class='notice'>You do not have access to [src]'s bolts, remove the reinforcements first!</span>")
return TRUE
user.visible_message("<span class='alert'>[user] has stuck a wrench into [src] and is struggling to raise the bolts!</span>", "<span class='alert'>You struggle to raise the bolts of [src].</span>")
if(!do_after(user, 5 SECONDS, target = src))
return TRUE
locked = FALSE
playsound(src, boltUp, 30, FALSE, 3)
update_icon()
return TRUE // Prevents you hitting the door if you're on harm intent, and you do the unbolt do_after.
#undef AIRLOCK_CLOSED
#undef AIRLOCK_CLOSING
#undef AIRLOCK_OPEN
+8
View File
@@ -126,3 +126,11 @@
user.dust()
user.visible_message("<span class='suicide'>[user]'s soul coalesces into a new [W.name]!</span>")
return OBLITERATION
/obj/item/wrench/bolter
name = "airlock bolt wrench"
desc = "A large wrench designed to interlock with an airlock's bolting mechanisms, allowing it to lift the bolts regardless of power."
icon_state = "bolter_wrench"
origin_tech = "materials=5;engineering=4"
w_class = WEIGHT_CLASS_NORMAL
toolspeed = 2.5
@@ -290,3 +290,13 @@
materials = list(MAT_SILVER = 4000, MAT_TITANIUM = 6000, MAT_URANIUM = 4000, MAT_PLASMA = 4000)
build_path = /obj/item/clothing/shoes/magboots/gravity
category = list("Equipment")
/datum/design/bolterwrench
name = "Door Bolt Wrench"
desc = "A large wrench designed to interlock with an airlock's bolting mechanisms, allowing it to lift the bolts regardless of power."
id = "bolter_wrench"
req_tech = list("materials" = 6, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_TITANIUM = 3000)
build_path = /obj/item/wrench/bolter
category = list("Equipment")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB