Merge pull request #13604 from Trilbyspaceclone/welding
Makes welder code better*
This commit is contained in:
@@ -21,6 +21,9 @@
|
|||||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30)
|
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30)
|
||||||
resistance_flags = FIRE_PROOF
|
resistance_flags = FIRE_PROOF
|
||||||
|
|
||||||
|
var/self_fueling = FALSE //Do we refill ourselves or not
|
||||||
|
var/nextrefueltick = 0 // How long it takes before we get a new fuel unit
|
||||||
|
|
||||||
custom_materials = list(/datum/material/iron=70, /datum/material/glass=30)
|
custom_materials = list(/datum/material/iron=70, /datum/material/glass=30)
|
||||||
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
|
var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
|
||||||
var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
|
var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
|
||||||
@@ -82,12 +85,18 @@
|
|||||||
//This is to start fires. process() is only called if the welder is on.
|
//This is to start fires. process() is only called if the welder is on.
|
||||||
open_flame()
|
open_flame()
|
||||||
|
|
||||||
|
//This handles refueling. Its looking at how much fuel the tool has and comparing that to how much it holds
|
||||||
|
//This then looks if the refuel tick has come based on world time.
|
||||||
|
//Then looks if we refuel ourselves or not.
|
||||||
|
|
||||||
|
if(get_fuel() < max_fuel && nextrefueltick < world.time && self_fueling)
|
||||||
|
nextrefueltick = world.time + 10
|
||||||
|
reagents.add_reagent(/datum/reagent/fuel, 1)
|
||||||
|
|
||||||
/obj/item/weldingtool/suicide_act(mob/user)
|
/obj/item/weldingtool/suicide_act(mob/user)
|
||||||
user.visible_message("<span class='suicide'>[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
user.visible_message("<span class='suicide'>[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||||
return (FIRELOSS)
|
return (FIRELOSS)
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weldingtool/attackby(obj/item/I, mob/user, params)
|
/obj/item/weldingtool/attackby(obj/item/I, mob/user, params)
|
||||||
if(istype(I, /obj/item/screwdriver))
|
if(istype(I, /obj/item/screwdriver))
|
||||||
flamethrower_screwdriver(I, user)
|
flamethrower_screwdriver(I, user)
|
||||||
@@ -318,7 +327,6 @@
|
|||||||
/obj/item/weldingtool/largetank/flamethrower_screwdriver()
|
/obj/item/weldingtool/largetank/flamethrower_screwdriver()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weldingtool/mini
|
/obj/item/weldingtool/mini
|
||||||
name = "emergency welding tool"
|
name = "emergency welding tool"
|
||||||
desc = "A miniature welder used during emergencies."
|
desc = "A miniature welder used during emergencies."
|
||||||
@@ -331,20 +339,6 @@
|
|||||||
/obj/item/weldingtool/mini/flamethrower_screwdriver()
|
/obj/item/weldingtool/mini/flamethrower_screwdriver()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weldingtool/abductor
|
|
||||||
name = "alien welding tool"
|
|
||||||
desc = "An alien welding tool. Whatever fuel it uses, it never runs out."
|
|
||||||
icon = 'icons/obj/abductor.dmi'
|
|
||||||
icon_state = "welder"
|
|
||||||
toolspeed = 0.1
|
|
||||||
light_intensity = 0
|
|
||||||
change_icons = 0
|
|
||||||
|
|
||||||
/obj/item/weldingtool/abductor/process()
|
|
||||||
if(get_fuel() <= max_fuel)
|
|
||||||
reagents.add_reagent(/datum/reagent/fuel, 1)
|
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/item/weldingtool/hugetank
|
/obj/item/weldingtool/hugetank
|
||||||
name = "upgraded industrial welding tool"
|
name = "upgraded industrial welding tool"
|
||||||
desc = "An upgraded welder based of the industrial welder."
|
desc = "An upgraded welder based of the industrial welder."
|
||||||
@@ -353,27 +347,6 @@
|
|||||||
max_fuel = 80
|
max_fuel = 80
|
||||||
custom_materials = list(/datum/material/iron=70, /datum/material/glass=120)
|
custom_materials = list(/datum/material/iron=70, /datum/material/glass=120)
|
||||||
|
|
||||||
/obj/item/weldingtool/experimental
|
|
||||||
name = "experimental welding tool"
|
|
||||||
desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes."
|
|
||||||
icon_state = "exwelder"
|
|
||||||
item_state = "exwelder"
|
|
||||||
max_fuel = 40
|
|
||||||
custom_materials = list(/datum/material/iron=70, /datum/material/glass=120)
|
|
||||||
var/last_gen = 0
|
|
||||||
change_icons = 0
|
|
||||||
can_off_process = 1
|
|
||||||
light_intensity = 1
|
|
||||||
toolspeed = 0.5
|
|
||||||
var/nextrefueltick = 0
|
|
||||||
|
|
||||||
/obj/item/weldingtool/experimental/brass
|
|
||||||
name = "brass welding tool"
|
|
||||||
desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch."
|
|
||||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
||||||
icon_state = "clockwelder"
|
|
||||||
item_state = "brasswelder"
|
|
||||||
|
|
||||||
/obj/item/weldingtool/bronze
|
/obj/item/weldingtool/bronze
|
||||||
name = "bronze plated welding tool"
|
name = "bronze plated welding tool"
|
||||||
desc = "A bronze plated welder."
|
desc = "A bronze plated welder."
|
||||||
@@ -382,24 +355,46 @@
|
|||||||
icon_state = "brasswelder"
|
icon_state = "brasswelder"
|
||||||
item_state = "brasswelder"
|
item_state = "brasswelder"
|
||||||
|
|
||||||
/obj/item/weldingtool/experimental/process()
|
//Self filling welders below
|
||||||
..()
|
|
||||||
if(get_fuel() < max_fuel && nextrefueltick < world.time)
|
/obj/item/weldingtool/experimental
|
||||||
nextrefueltick = world.time + 10
|
name = "experimental welding tool"
|
||||||
reagents.add_reagent(/datum/reagent/fuel, 1)
|
desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes."
|
||||||
|
icon_state = "exwelder"
|
||||||
|
item_state = "exwelder"
|
||||||
|
max_fuel = 40
|
||||||
|
custom_materials = list(/datum/material/iron=70, /datum/material/glass=120)
|
||||||
|
change_icons = 0
|
||||||
|
self_fueling = TRUE
|
||||||
|
can_off_process = 1
|
||||||
|
light_intensity = 1
|
||||||
|
toolspeed = 0.5
|
||||||
|
|
||||||
|
/obj/item/weldingtool/experimental/brass
|
||||||
|
name = "brass welding tool"
|
||||||
|
desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch."
|
||||||
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||||
|
icon_state = "clockwelder"
|
||||||
|
item_state = "brasswelder"
|
||||||
|
|
||||||
|
/obj/item/weldingtool/abductor
|
||||||
|
name = "alien welding tool"
|
||||||
|
desc = "An alien welding tool. Whatever fuel it uses, it never runs out."
|
||||||
|
icon = 'icons/obj/abductor.dmi'
|
||||||
|
icon_state = "welder"
|
||||||
|
self_fueling = TRUE
|
||||||
|
toolspeed = 0.1
|
||||||
|
light_intensity = 0
|
||||||
|
change_icons = 0
|
||||||
|
|
||||||
/obj/item/weldingtool/advanced
|
/obj/item/weldingtool/advanced
|
||||||
name = "advanced welding tool"
|
name = "advanced welding tool"
|
||||||
desc = "A modern welding tool combined with an alien welding tool, it never runs out of fuel and works almost as fast."
|
desc = "A modern welding tool combined with an alien welding tool, it never runs out of fuel and works almost as fast."
|
||||||
icon = 'icons/obj/advancedtools.dmi'
|
icon = 'icons/obj/advancedtools.dmi'
|
||||||
icon_state = "welder"
|
icon_state = "welder"
|
||||||
|
self_fueling = TRUE
|
||||||
toolspeed = 0.2
|
toolspeed = 0.2
|
||||||
light_intensity = 0
|
light_intensity = 0
|
||||||
change_icons = 0
|
change_icons = 0
|
||||||
|
|
||||||
/obj/item/weldingtool/advanced/process()
|
|
||||||
if(get_fuel() <= max_fuel)
|
|
||||||
reagents.add_reagent(/datum/reagent/fuel, 1)
|
|
||||||
..()
|
|
||||||
|
|
||||||
#undef WELDER_FUEL_BURN_INTERVAL
|
#undef WELDER_FUEL_BURN_INTERVAL
|
||||||
|
|||||||
Reference in New Issue
Block a user