Screwsolder (#33302)

* Screwsolder

* add tech levels

* Update tools.dm
This commit is contained in:
Kurfursten
2022-09-23 15:38:07 -05:00
committed by GitHub
parent af14257b51
commit 30c6a3a026
8 changed files with 39 additions and 6 deletions

View File

@@ -333,7 +333,7 @@ to destroy them and players will be able to make replacements.
return return
S.playtoolsound(loc, 50) S.playtoolsound(loc, 50)
soldering = 1 soldering = 1
if(do_after(user, src,40)) if(do_after(user, src,4 SECONDS * S.work_speed))
var/boardType = allowed_boards[t] var/boardType = allowed_boards[t]
var/obj/item/I = new boardType(get_turf(user)) var/obj/item/I = new boardType(get_turf(user))
to_chat(user, "<span class='notice'>You fashion a crude [I] from the blank circuitboard.</span>") to_chat(user, "<span class='notice'>You fashion a crude [I] from the blank circuitboard.</span>")

View File

@@ -33,7 +33,7 @@
if(!S.remove_fuel(4,user)) if(!S.remove_fuel(4,user))
return return
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
if(do_after(user, src,40)) if(do_after(user, src,4 SECONDS * S.work_speed))
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
icon_state = "door_electronics" icon_state = "door_electronics"
to_chat(user, "<span class='notice'>You repair the blown fuses on the circuitboard.</span>") to_chat(user, "<span class='notice'>You repair the blown fuses on the circuitboard.</span>")

View File

@@ -639,7 +639,7 @@
if(!S.remove_fuel(4,user)) if(!S.remove_fuel(4,user))
return return
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
if(do_after(user, src,40)) if(do_after(user, src,4 SECONDS * S.work_speed))
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
stat &= !BROKEN stat &= !BROKEN
emagged = FALSE emagged = FALSE

View File

@@ -769,6 +769,7 @@
melt_temperature = MELTPOINT_STEEL melt_temperature = MELTPOINT_STEEL
origin_tech = Tc_ENGINEERING + "=1" origin_tech = Tc_ENGINEERING + "=1"
var/max_fuel = 20 //The max amount of acid stored var/max_fuel = 20 //The max amount of acid stored
var/work_speed = 1 //multiplier
toolsounds = list('sound/items/Welder.ogg') toolsounds = list('sound/items/Welder.ogg')
/obj/item/tool/solder/splashable() /obj/item/tool/solder/splashable()
@@ -843,6 +844,37 @@
reagents.add_reagent(SACID, 50) reagents.add_reagent(SACID, 50)
update_icon() update_icon()
/obj/item/tool/solder/screw
name = "screwsolder"
desc = "An advanced soldering tool with a screwdriver head. Use in hand to swap to and from the screwhead."
max_fuel = 32
work_speed = 0.5 //2x faster
icon_state = "ssolder-0"
origin_tech = Tc_ENGINEERING + "=6"
var/screwmode = TRUE
/obj/item/tool/solder/screw/attack_self(mob/user)
playsound(src,'sound/items/Screwdriver.ogg',40, 1)
screwmode = !screwmode
to_chat(user, "<span class='notice'>You toggle the screwhead [screwmode ? "on":"off"].</span>")
/obj/item/tool/solder/screw/is_screwdriver(mob/user)
return screwmode
/obj/item/tool/solder/screw/update_icon()
..()
switch(reagents.get_reagent_amount(SACID) + reagents.get_reagent_amount(FORMIC_ACID))
if(22 to INFINITY)
icon_state = "ssolder-20"
if(15 to 21)
icon_state = "ssolder-15"
if(8 to 14)
icon_state = "ssolder-10"
if(1 to 7)
icon_state = "ssolder-5"
if(0)
icon_state = "ssolder-0"
/* /*
* Fuel Can * Fuel Can
* A special, large container that fits on the belt * A special, large container that fits on the belt

View File

@@ -37,7 +37,8 @@
/obj/item/weapon/storage/belt/utility/chief, /obj/item/weapon/storage/belt/utility/chief,
/obj/item/clothing/glasses/scanner/material, /obj/item/clothing/glasses/scanner/material,
/obj/item/weapon/card/debit/preferred/department/engineering, /obj/item/weapon/card/debit/preferred/department/engineering,
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/gourmonger /obj/item/weapon/reagent_containers/food/snacks/monkeycube/gourmonger,
/obj/item/tool/solder/screw
) )
/obj/structure/closet/secure_closet/engineering_electrical /obj/structure/closet/secure_closet/engineering_electrical

View File

@@ -77,7 +77,7 @@
if(!S.remove_fuel(4,user)) if(!S.remove_fuel(4,user))
return return
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
if(do_after(user, src,40)) if(do_after(user, src,4 SECONDS * S.work_speed))
S.playtoolsound(loc, 100) S.playtoolsound(loc, 100)
broken = 0 broken = 0
to_chat(user, "<span class='notice'>You repair the electronics inside the locking mechanism!</span>") to_chat(user, "<span class='notice'>You repair the electronics inside the locking mechanism!</span>")

View File

@@ -103,7 +103,7 @@
if(!S.remove_fuel(4,user)) if(!S.remove_fuel(4,user))
return return
playsound(loc, 'sound/items/Welder.ogg', 100, 1) playsound(loc, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, src,40)) if(do_after(user, src,4 SECONDS * S.work_speed))
playsound(loc, 'sound/items/Welder.ogg', 100, 1) playsound(loc, 'sound/items/Welder.ogg', 100, 1)
integrity = 100 integrity = 100
to_chat(user, "<span class='notice'>You repair the blown fuses on [src].</span>") to_chat(user, "<span class='notice'>You repair the blown fuses on [src].</span>")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB