diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm index e42b1d1794..f2920424a1 100644 --- a/code/datums/supplypacks/engineering.dm +++ b/code/datums/supplypacks/engineering.dm @@ -45,6 +45,18 @@ containertype = /obj/structure/closet/crate containername = "Mechanical maintenance crate" +/datum/supply_packs/eng/adv_welding + name = "Advanced Welding Supplies" + contains = list( + /obj/item/weapon/weldingtool/experimental = 2, + /obj/item/clothing/head/welding = 2, + /obj/item/weapon/weldpack = 2, + /obj/item/clothing/glasses/welding = 2 + ) + cost = 20 + containertype = /obj/structure/closet/crate + containername = "Advanced Welding Supplies crate + /datum/supply_packs/eng/fueltank name = "Fuel tank crate" contains = list(/obj/structure/reagent_dispensers/fueltank) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index db9d51290f..6387e84399 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -42,6 +42,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) + H.equip_to_slot_or_del(new /obj/item/weapon/weldingtool/experimental(H), slot_r_store) return 1 equip_survival(var/mob/living/carbon/human/H) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ee5d9b44ea..865d2058df 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -968,7 +968,7 @@ /obj/item/device/flashlight/glowstick = 3, /obj/item/device/flashlight/glowstick/red = 3, /obj/item/device/flashlight/glowstick/blue = 3, /obj/item/device/flashlight/glowstick/orange =3, /obj/item/device/flashlight/glowstick/yellow = 3) contraband = list(/obj/item/weapon/weldingtool/hugetank = 2,/obj/item/clothing/gloves/fyellow = 2,) - premium = list(/obj/item/clothing/gloves/yellow = 1) + premium = list(/obj/item/clothing/gloves/yellow = 1, /obj/item/weapon/weldingtool/experimental = 2) /obj/machinery/vending/engivend name = "Engi-Vend" diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 8e6e5ca682..fac5e9fb70 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -74,7 +74,7 @@ new /obj/item/clothing/gloves/yellow(src) new /obj/item/weapon/screwdriver(src) new /obj/item/weapon/wrench(src) - new /obj/item/weapon/weldingtool(src) + new /obj/item/weapon/weldingtool/experimental(src) new /obj/item/weapon/crowbar(src) new /obj/item/weapon/wirecutters(src) new /obj/item/device/multitool(src) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index c61ee90918..c39053b5aa 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -390,16 +390,21 @@ w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_ENGINEERING = 4, TECH_PHORON = 3) matter = list(DEFAULT_WALL_MATERIAL = 70, "glass" = 120) - var/last_gen = 0 + var/nextrefueltick = 0 +/obj/item/weapon/weldingtool/experimental/New() + processing_objects |= src + ..() +/obj/item/weapon/weldingtool/experimental/Destroy() + processing_objects -= src + ..() -/obj/item/weapon/weldingtool/experimental/proc/fuel_gen()//Proc to make the experimental welder generate fuel, optimized as fuck -Sieve - var/gen_amount = ((world.time-last_gen)/25) - reagents += (gen_amount) - if(reagents > max_fuel) - reagents = max_fuel - +/obj/item/weapon/weldingtool/experimental/process() + ..() + if(get_fuel() < max_fuel && nextrefueltick < world.time) + nextrefueltick = world.time + 10 + reagents.add_reagent("fuel", 1) /* * Crowbar */