Standardize Welder Fuel Usage (#76021)

Remove welder fuel usage from all actions except attacking and leaving
it on
most welder tasks require a minimum of 1u of fuel, some longer tasks
require a minimum of 2 or 3u welders now drain 1u every 5 seconds
they're active
## About The Pull Request
Prior to this PR welder fuel usage was random, a lot of tasks didn't use
any welder fuel and welders were basically near infinite so long as you
didn't use them for combat, it took 26 seconds of activity to drain 1u
of fuel, that means an emergency welder alone could run for 5 minutes
straight before needing a refuel

After this PR all welders will drain 1u every 5 seconds instead of every
26 seconds, but welding objects won't require extra fuel anymore, making
the fuel usage much more consistent.

resolves #55018
## Why It's Good For The Game
Actually makes fuel tanks useful and relevant without making it
obnoxious to do repetitive quick tasks like turn rods into plates,
there's actually a reason to upgrade off the emergency welder now since
it lasts 50 seconds rather than 5 minutes
## Changelog
🆑
qol: Welders now have a more consistent fuel usage
/🆑
This commit is contained in:
Couls
2023-06-19 23:01:10 -07:00
committed by GitHub
parent 8229972398
commit c0e46fabf7
54 changed files with 79 additions and 79 deletions
+1 -1
View File
@@ -163,7 +163,7 @@
balloon_alert(user, "core must be empty to deconstruct it!")
return
if(!P.tool_start_check(user, amount=0))
if(!P.tool_start_check(user, amount=1))
return
balloon_alert(user, "deconstructing frame...")
@@ -787,7 +787,7 @@
else if(opened)
if(istype(weapon, cutting_tool))
if(weapon.tool_behaviour == TOOL_WELDER)
if(!weapon.tool_start_check(user, amount=0))
if(!weapon.tool_start_check(user, amount=1))
return
to_chat(user, span_notice("You begin cutting \the [src] apart..."))
@@ -810,7 +810,7 @@
return
else if(weapon.tool_behaviour == TOOL_WELDER && can_weld_shut)
if(!weapon.tool_start_check(user, amount=0))
if(!weapon.tool_start_check(user, amount=1))
return
if(weapon.use_tool(src, user, 40, volume=50))
+2 -2
View File
@@ -138,11 +138,11 @@
to_chat(user, span_alert("Access denied."))
else if(tool.tool_behaviour == TOOL_WELDER && !user.combat_mode && !broken)
if(atom_integrity < max_integrity)
if(!tool.tool_start_check(user, amount=5))
if(!tool.tool_start_check(user, amount=1))
return
to_chat(user, span_notice("You begin repairing [src]..."))
if(tool.use_tool(src, user, 40, amount=5, volume=50))
if(tool.use_tool(src, user, 40, volume=50))
atom_integrity = max_integrity
update_appearance()
to_chat(user, span_notice("You repair [src]."))
@@ -60,7 +60,7 @@
created_name = t
else if((W.tool_behaviour == TOOL_WELDER) && (mineral || glass || !anchored ))
if(!W.tool_start_check(user, amount=0))
if(!W.tool_start_check(user, amount=1))
return
if(mineral)
+1 -1
View File
@@ -407,7 +407,7 @@
/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
if(W.tool_behaviour == TOOL_WELDER)
if(!W.tool_start_check(user, amount=0))
if(!W.tool_start_check(user, amount=1))
return
balloon_alert(user, "slicing apart...")
+1 -1
View File
@@ -108,7 +108,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28)
if(!broken)
return TRUE
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return TRUE
balloon_alert(user, "repairing...")
@@ -69,7 +69,7 @@
if(atom_integrity == max_integrity)
to_chat(user, span_warning("This plaque is already in perfect condition."))
return TRUE
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return TRUE
user.visible_message(span_notice("[user] starts repairing [src]..."), \
span_notice("You start repairing [src]."))
@@ -141,7 +141,7 @@
if(atom_integrity == max_integrity)
to_chat(user, span_warning("This plaque is already in perfect condition."))
return TRUE
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return TRUE
user.visible_message(span_notice("[user] starts repairing [src]..."), \
span_notice("You start repairing [src]."))
+1 -1
View File
@@ -48,7 +48,7 @@
if(I.tool_behaviour == TOOL_WELDER && !user.combat_mode)
if(atom_integrity < max_integrity)
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return
to_chat(user, span_notice("You begin repairing [src]..."))
+1 -1
View File
@@ -105,7 +105,7 @@
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/reflector/welder_act(mob/living/user, obj/item/tool)
if(!tool.tool_start_check(user, amount=0))
if(!tool.tool_start_check(user, amount=1))
return
if(atom_integrity < max_integrity)
user.visible_message(span_notice("[user] starts to repair [src]."),
+2 -2
View File
@@ -76,7 +76,7 @@
if(atom_integrity == max_integrity)
to_chat(user, span_warning("This sign is already in perfect condition."))
return TRUE
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return TRUE
user.visible_message(span_notice("[user] starts repairing [src]..."), \
span_notice("You start repairing [src]."))
@@ -220,7 +220,7 @@
if(atom_integrity == max_integrity)
to_chat(user, span_warning("This sign is already in perfect condition."))
return TRUE
if(!I.tool_start_check(user, amount=0))
if(!I.tool_start_check(user, amount=1))
return TRUE
user.visible_message(span_notice("[user] starts repairing [src]..."), \
span_notice("You start repairing [src]."))
@@ -98,7 +98,7 @@
switch(state)
if("01")
if(W.tool_behaviour == TOOL_WELDER && !anchored)
if(!W.tool_start_check(user, amount=0))
if(!W.tool_start_check(user, amount=1))
return
user.visible_message(span_notice("[user] disassembles the windoor assembly."),