Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port of Upstream Digi Legs #38

Closed
wants to merge 111 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
9744cd0
Update mob.dm
KillianKirilenko Sep 19, 2023
cf6ea34
convert throwmode messages to prefbased
KillianKirilenko Sep 20, 2023
74748cf
Adds raptor vore mobs
SatinIsle Sep 25, 2023
f6c839c
Makes sprite update on nutrition gain past 900
SatinIsle Sep 26, 2023
2841145
Reworks Borg belly overlay system
ReoDaProtovali Sep 27, 2023
8e24048
Vore panel adjustments and fixes
ReoDaProtovali Sep 28, 2023
2a29ae5
Makes bellies always round instead of CEILING above 1 fullness
ReoDaProtovali Sep 28, 2023
ad7d63d
Fixes island radiation
SatinIsle Sep 30, 2023
d62009d
Merge pull request #15427 from SatinIsle/Fix-islands
Heroman3003 Sep 30, 2023
9a94306
Refactors tool typechecks, refactors transforming tools, makes Altevi…
Heroman3003 Sep 30, 2023
cb75ed1
Juice that makes DreamChecker say yes
ReoDaProtovali Sep 30, 2023
3ce4fce
Juice that makes DreamChecker say yes 2
ReoDaProtovali Sep 30, 2023
f8bf22e
Merge pull request #15428 from Heroman3003/big-tool-refactor
Heroman3003 Oct 1, 2023
fb94aad
Merge pull request #15423 from SatinIsle/dinos
Heroman3003 Oct 1, 2023
f1da58c
Regular Map Swap
Heroman3003 Oct 1, 2023
8008f86
Merge pull request #15430 from Heroman3003/mapswpa
Heroman3003 Oct 1, 2023
b255b1a
Fixes belts and pouches not being able to hold power tools
Heroman3003 Oct 2, 2023
f13f395
Altevian Adjustments - Descriptions & Small Tweaks
Enzo-Leon Oct 2, 2023
7958ee6
Merge pull request #15433 from Heroman3003/powertoolfix
Heroman3003 Oct 2, 2023
241a40a
Merge pull request #15425 from ReoDaProtovali/Borg-belly-naming-change
Heroman3003 Oct 2, 2023
f5cc531
Feedback adjustments for improved sentence structue.
Enzo-Leon Oct 2, 2023
818d9be
Submap Compile Fix
Novacat Oct 4, 2023
17e1cc5
Bump pillow from 9.3.0 to 10.0.1 in /tools/mapmerge2
dependabot[bot] Oct 4, 2023
a45a6f0
Adds approved fluff medal
Heroman3003 Oct 4, 2023
4f153b0
Merge pull request #15436 from VOREStation/dependabot/pip/tools/mapme…
Heroman3003 Oct 4, 2023
fa3585b
Merge pull request #15435 from Novacat/nova-basicfixes
Heroman3003 Oct 4, 2023
aa29834
Merge pull request #15434 from Enzo-Leon/altevian
Heroman3003 Oct 4, 2023
0db86c9
Merge pull request #15437 from Heroman3003/fluffi
Heroman3003 Oct 4, 2023
24f7a1c
Fixes conveyors + Ports speed changing
ReoDaProtovali Oct 5, 2023
cf2734d
Merge pull request #15440 from ReoDaProtovali/Missed-a-spot
Oct 6, 2023
9e82c1d
Bump stefanzweifel/git-auto-commit-action from 4 to 5
dependabot[bot] Oct 6, 2023
67e094d
New Mob: Scel
SatinIsle Oct 6, 2023
f626c74
Merge pull request #15442 from SatinIsle/Scel
Very-Soft Oct 7, 2023
8adc368
NanoMap Auto-Update (Sat Oct 7 18:49:53 UTC 2023)
actions-user Oct 7, 2023
9107f59
Fixes transforming tools being unable to interact with item bank and …
Heroman3003 Oct 7, 2023
a143877
Merge pull request #15445 from Heroman3003/toolfix
Oct 8, 2023
ed97f5b
Back to Tether
Very-Soft Oct 9, 2023
2c2b01e
Merge pull request #15446 from Very-Soft/backtotether
Very-Soft Oct 9, 2023
0a8e919
Merge pull request #15441 from VOREStation/dependabot/github_actions/…
Oct 9, 2023
35797d6
Merge pull request #15444 from VOREStation/nanomaps_generation
Oct 9, 2023
a9854ab
Scel and lunging.
SatinIsle Oct 9, 2023
fda4d7c
Update mob.dm
KillianKirilenko Oct 9, 2023
f468e50
Update paper.dm
KillianKirilenko Oct 10, 2023
67e9885
Merge pull request #15449 from KillianKirilenko/kk-mini2
Oct 10, 2023
f77a4cc
Merge pull request #15448 from SatinIsle/Scel
Oct 10, 2023
9c05084
Merge pull request #15405 from KillianKirilenko/kk-throwies
Oct 10, 2023
c297ebb
Absorb message filter & general radio colour
Kashargul Oct 10, 2023
3539e90
Merge pull request #15450 from Kashargul/AbsorbMessageFilter
Oct 11, 2023
641857a
They're out there man, I seen em'
Very-Soft Oct 11, 2023
268c10a
Update config/alienwhitelist.txt
Very-Soft Oct 11, 2023
0d167ca
Merge pull request #15451 from Very-Soft/aliens
Very-Soft Oct 11, 2023
d10d0d7
Fixes timestamp sorting incompatibility.
Kashargul Oct 11, 2023
79c1139
Update mob.dm
Kashargul Oct 11, 2023
a6d6fe2
Merge pull request #15454 from Kashargul/TimestampImprovements
Novacat Oct 12, 2023
f623e11
Docking Code Changes
Novacat Oct 12, 2023
9d3c6e9
Vore Panel Health Check
SatinIsle Oct 13, 2023
db2e87d
Jaffa cakes
SatinIsle Oct 13, 2023
88e24bc
Changes the conditions to be a single message instead.
SatinIsle Oct 15, 2023
3dcac9d
Back to SD
Very-Soft Oct 15, 2023
222d2de
Merge pull request #15456 from SatinIsle/vore-health
Very-Soft Oct 15, 2023
90108af
Merge pull request #15457 from SatinIsle/jaffa-cakes
Very-Soft Oct 15, 2023
1905b7f
Merge pull request #15455 from Novacat/nova-basicfixes
Very-Soft Oct 15, 2023
281fda3
Merge pull request #15458 from Very-Soft/backtosd
Very-Soft Oct 15, 2023
27a75ce
NanoMap Auto-Update (Sun Oct 15 16:24:28 UTC 2023)
actions-user Oct 15, 2023
d933304
Merge pull request #15459 from VOREStation/nanomaps_generation
Oct 17, 2023
5aeca09
Fixes Jaffa Cake crate
SatinIsle Oct 18, 2023
fa1db41
Merge pull request #15462 from SatinIsle/jaffa-cakes
Oct 18, 2023
f278dbe
Whitelist updates
Heroman3003 Oct 19, 2023
ee6c686
Also adds Liquidfirefly to Protean whitelist
Heroman3003 Oct 20, 2023
cd1cc30
Merge pull request #15465 from Heroman3003/ferros-mimexeno
Oct 20, 2023
3e82757
Attempt to prevent players joining with neither OOC notes nor flavour
Kashargul Oct 21, 2023
504c409
-> Removed the robot flavour requirement again.
Kashargul Oct 21, 2023
501db78
remove the no longer needed comments.
Kashargul Oct 21, 2023
786589e
Avii's Borg Event Map
Oct 22, 2023
be2b290
Map swap
Very-Soft Oct 22, 2023
f61f90b
Merge pull request #15469 from Very-Soft/backtotether
Very-Soft Oct 22, 2023
0776b7d
tweak(paper): Changes bundle naming logic to be general
Runa-Dacino Oct 23, 2023
e30f35d
add(fax): check to prompt renaming when sending to admin
Runa-Dacino Oct 23, 2023
cc6c813
fix(ahelp): Makes pressing "handle" actually use webhook
Runa-Dacino Oct 23, 2023
6af3b17
add(preference): Toggle seeing subtles/whispers
Runa-Dacino Oct 23, 2023
53be50c
Fixed airlock name error
Oct 23, 2023
4911f92
Adds PIPES and VENTS
Oct 24, 2023
b7e47ff
Adds New Antler Ears + Variant (and fixes previous antler sprite)
probbrie Oct 24, 2023
e891740
Adds atmos to science
Oct 24, 2023
cb0e482
error fix
Oct 24, 2023
8f04cb0
VerySoft Fluff Item!
Very-Soft Oct 24, 2023
696b24f
Merge pull request #15476 from Very-Soft/backtotether
Very-Soft Oct 25, 2023
4f6efb9
Merge pull request #15468 from Wulfestwulf/BorgEventStuff
Heroman3003 Oct 25, 2023
d10cc6e
Merge pull request #15474 from Jonnatonne/AntlerChanges
Heroman3003 Oct 25, 2023
9f94787
Merge pull request #15472 from Runa-Dacino/handlingbutton
Heroman3003 Oct 25, 2023
2b32547
Merge pull request #15473 from Runa-Dacino/ghostears
Heroman3003 Oct 25, 2023
6c6193d
Merge pull request #15467 from Kashargul/Flavour&OOCEnforcementImprov…
Heroman3003 Oct 25, 2023
5e3f867
Desatti Catering
SatinIsle Oct 27, 2023
ee4e829
Adds nifsoft uploaders for Mass Alteration
Heroman3003 Oct 28, 2023
3c8481d
Fixed shrimps and bananas pack
SatinIsle Oct 28, 2023
ad26365
Merge pull request #15479 from SatinIsle/jaffa-cakes
Heroman3003 Oct 28, 2023
6072b06
Fixes constant runtimes in mob.dm
Heroman3003 Oct 29, 2023
ec8d7bd
Back to SD
Very-Soft Oct 29, 2023
ccc48bd
Merge pull request #15483 from Very-Soft/backtosd
Very-Soft Oct 29, 2023
b835931
Merge pull request #15481 from Heroman3003/sizesoft
Heroman3003 Oct 29, 2023
a8009ee
Merge pull request #15482 from Heroman3003/clfix
Heroman3003 Oct 29, 2023
74b82bd
Merge pull request #15471 from Runa-Dacino/faxpaperthingy
Heroman3003 Oct 29, 2023
6551144
digitigrade legs port wip
KillianKirilenko Oct 19, 2023
6e848be
Desatti vending machine
SatinIsle Oct 30, 2023
9817587
Update whitelist
Heroman3003 Oct 31, 2023
ec18eed
Merge pull request #15486 from Heroman3003/wl2
Oct 31, 2023
68c6af2
Adds allergens
SatinIsle Oct 31, 2023
da408ad
Merge pull request #15487 from SatinIsle/desatti-foods
Heroman3003 Nov 1, 2023
3157df5
Update clothing.dm
KillianKirilenko Nov 1, 2023
2cc25e3
Merge remote-tracking branch 'upstream/master' into kk-leggies
KillianKirilenko Nov 1, 2023
c56cfb8
Merge remote-tracking branch 'kk/kk-leggies' into leggies
Arokha Nov 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/binary_devices/circulator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
return 1

/obj/machinery/atmospherics/binary/circulator/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.is_wrench())
if(W.has_tool_quality(TOOL_WRENCH))
playsound(src, W.usesound, 75, 1)
anchored = !anchored
user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@
add_fingerprint(usr)

/obj/machinery/atmospherics/binary/passive_gate/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (unlocked)
to_chat(user, "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>")
Expand Down
4 changes: 2 additions & 2 deletions code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
add_overlay(image('icons/obj/pipeturbine.dmi', "hi-turb"))

/obj/machinery/atmospherics/pipeturbine/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.is_wrench())
if(W.has_tool_quality(TOOL_WRENCH))
anchored = !anchored
playsound(src, W.usesound, 50, 1)
to_chat(user, "<span class='notice'>You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.</span>")
Expand Down Expand Up @@ -256,7 +256,7 @@
add_avail(power_generated)

/obj/machinery/power/turbinemotor/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.is_wrench())
if(W.has_tool_quality(TOOL_WRENCH))
anchored = !anchored
playsound(src, W.usesound, 50, 1)
turbine = null
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/binary_devices/pump.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ Thus, the two variables affect pump operation are set in New():
update_icon()

/obj/machinery/atmospherics/binary/pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (!(stat & NOPOWER) && use_power)
to_chat(user, "<span class='warning'>You cannot unwrench this [src], turn it off first.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/omni_devices/omni_base.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
update_icon()

/obj/machinery/atmospherics/omni/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if(!W.is_wrench())
if(!W.has_tool_quality(TOOL_WRENCH))
return ..()

if(!can_unwrench())
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/portables_connector.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@


/obj/machinery/atmospherics/portables_connector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (connected_device)
to_chat(user, "<span class='warning'>You cannot unwrench \the [src], dettach \the [connected_device] first.</span>")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
update_icon()

/obj/machinery/atmospherics/trinary/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if(!can_unwrench())
to_chat(user, "<span class='warning'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/tvalve.dm
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@
go_to_side()

/obj/machinery/atmospherics/tvalve/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if(!can_unwrench())
to_chat(user, "<span class='warnng'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/unary/heat_exchanger.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
return 1

/obj/machinery/atmospherics/unary/heat_exchanger/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
var/turf/T = src.loc
if (level==1 && isturf(T) && !T.is_plating())
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/unary/outlet_injector.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
update_icon()

/obj/machinery/atmospherics/unary/outlet_injector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()

playsound(src, W.usesound, 50, 1)
Expand Down
6 changes: 3 additions & 3 deletions code/ATMOSPHERICS/components/unary/vent_pump.dm
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,8 @@
return

/obj/machinery/atmospherics/unary/vent_pump/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(W.has_tool_quality(TOOL_WELDER))
var/obj/item/weapon/weldingtool/WT = W.get_welder()
if (WT.remove_fuel(0,user))
to_chat(user, "<span class='notice'>Now welding the vent.</span>")
if(do_after(user, 20 * WT.toolspeed))
Expand Down Expand Up @@ -429,7 +429,7 @@
update_icon()

/obj/machinery/atmospherics/unary/vent_pump/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (!(stat & NOPOWER) && use_power)
to_chat(user, "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/unary/vent_scrubber.dm
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@
update_icon()

/obj/machinery/atmospherics/unary/vent_scrubber/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (!(stat & NOPOWER) && use_power)
to_chat(user, "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/components/valve.dm
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@
open()

/obj/machinery/atmospherics/valve/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
if (istype(src, /obj/machinery/atmospherics/valve/digital) && !src.allowed(user))
to_chat(user, "<span class='warning'>Access denied.</span>")
Expand Down
2 changes: 1 addition & 1 deletion code/ATMOSPHERICS/pipes/pipe_base.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@
if(istype(W,/obj/item/device/pipe_painter))
return 0

if (!W.is_wrench())
if (!W.has_tool_quality(TOOL_WRENCH))
return ..()
var/turf/T = src.loc
if (level==1 && isturf(T) && !T.is_plating())
Expand Down
1 change: 1 addition & 0 deletions code/__defines/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ var/global/list/##LIST_NAME = list();\
#define IS_CROWBAR "crowbar"
#define IS_WIRECUTTER "wirecutter"
#define IS_WRENCH "wrench"
#define IS_WELDER "welder"


// Diagonal movement
Expand Down
10 changes: 8 additions & 2 deletions code/_helpers/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1044,7 +1044,7 @@ var/global/list/common_tools = list(


/proc/is_wire_tool(obj/item/I)
if(istype(I, /obj/item/device/multitool) || I.is_wirecutter())
if(istype(I, /obj/item/device/multitool) || I.has_tool_quality(TOOL_WIRECUTTER))
return TRUE
if(istype(I, /obj/item/device/assembly/signaler))
return TRUE
Expand All @@ -1058,6 +1058,12 @@ var/global/list/common_tools = list(
return 3800
else
return 0
if(/obj/item/weapon/tool/transforming)
var/obj/item/weapon/tool/transforming/TT = W
if(TT.possible_tooltypes[TT.current_tooltype] == TOOL_WELDER)
return 3800
else
return 0
if(/obj/item/weapon/flame/lighter)
if(W:lit)
return 1500
Expand Down Expand Up @@ -1105,7 +1111,7 @@ var/global/list/common_tools = list(
if(W.sharp)
return TRUE
return ( \
W.is_screwdriver() || \
W.has_tool_quality(TOOL_SCREWDRIVER) || \
istype(W, /obj/item/weapon/pen) || \
istype(W, /obj/item/weapon/weldingtool) || \
istype(W, /obj/item/weapon/flame/lighter/zippo) || \
Expand Down
4 changes: 4 additions & 0 deletions code/datums/components/crafting/tool_quality.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,7 @@
/// DEPRECATED PROC: DO NOT USE IN NEW CODE
/obj/item/proc/is_multitool()
return has_tool_quality(TOOL_MULTITOOL)

/// DEPRECATED PROC: DO NOT USE IN NEW CODE
/obj/item/proc/is_welder()
return has_tool_quality(TOOL_WELDER)
33 changes: 21 additions & 12 deletions code/datums/helper_datums/construction_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,19 @@
var/list/L = steps[steps.len]
switch(L["key"])
if(IS_SCREWDRIVER)
if(I.is_screwdriver())
if(I.has_tool_quality(TOOL_SCREWDRIVER))
return steps.len
if(IS_CROWBAR)
if(I.is_crowbar())
if(I.has_tool_quality(TOOL_CROWBAR))
return steps.len
if(IS_WIRECUTTER)
if(I.is_wirecutter())
if(I.has_tool_quality(TOOL_WIRECUTTER))
return steps.len
if(IS_WRENCH)
if(I.is_wrench())
if(I.has_tool_quality(TOOL_WRENCH))
return steps.len
if(IS_WELDER)
if(I.has_tool_quality(IS_WELDER))
return steps.len

if(istype(I, L["key"]))
Expand Down Expand Up @@ -108,30 +111,36 @@

switch(L["key"])
if(IS_SCREWDRIVER)
if(I.is_screwdriver())
if(I.has_tool_quality(TOOL_SCREWDRIVER))
return FORWARD
if(IS_CROWBAR)
if(I.is_crowbar())
if(I.has_tool_quality(TOOL_CROWBAR))
return FORWARD
if(IS_WIRECUTTER)
if(I.is_wirecutter())
if(I.has_tool_quality(TOOL_WIRECUTTER))
return FORWARD
if(IS_WRENCH)
if(I.is_wrench())
if(I.has_tool_quality(TOOL_WRENCH))
return FORWARD
if(IS_WELDER)
if(I.has_tool_quality(IS_WELDER))
return FORWARD

switch(L["backkey"])
if(IS_SCREWDRIVER)
if(I.is_screwdriver())
if(I.has_tool_quality(TOOL_SCREWDRIVER))
return BACKWARD
if(IS_CROWBAR)
if(I.is_crowbar())
if(I.has_tool_quality(TOOL_CROWBAR))
return BACKWARD
if(IS_WIRECUTTER)
if(I.is_wirecutter())
if(I.has_tool_quality(TOOL_WIRECUTTER))
return BACKWARD
if(IS_WRENCH)
if(I.is_wrench())
if(I.has_tool_quality(TOOL_WRENCH))
return BACKWARD
if(IS_WELDER)
if(I.has_tool_quality(IS_WELDER))
return BACKWARD

if(istype(I, L["key"]))
Expand Down
8 changes: 4 additions & 4 deletions code/datums/wires/wires.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,8 @@
switch(action)
// Toggles the cut/mend status.
if("cut")
// if(!I.is_wirecutter() && !user.can_admin_interact())
if(!istype(I) || !I.is_wirecutter())
// if(!I.has_tool_quality(TOOL_WIRECUTTER) && !user.can_admin_interact())
if(!istype(I) || !I.has_tool_quality(TOOL_WIRECUTTER))
to_chat(user, "<span class='error'>You need wirecutters!</span>")
return

Expand All @@ -179,8 +179,8 @@

// Pulse a wire.
if("pulse")
// if(!I.is_multitool() && !user.can_admin_interact())
if(!istype(I) || !I.is_multitool())
// if(!I.has_tool_quality(TOOL_MULTITOOL) && !user.can_admin_interact())
if(!istype(I) || !I.has_tool_quality(TOOL_MULTITOOL))
to_chat(user, "<span class='error'>You need a multitool!</span>")
return

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/CableLayer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
to_chat(user, "You load [result] lengths of cable into [src].")
return

if(O.is_wirecutter())
if(O.has_tool_quality(TOOL_WIRECUTTER))
if(cable && cable.get_amount())
var/m = round(input(usr, "Please specify the length of cable to cut", "Cut cable", min(cable.get_amount(), 30)) as num, 1)
m = min(m, cable.get_amount())
Expand Down
6 changes: 3 additions & 3 deletions code/game/machinery/airconditioner_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@
. += "There is a small display that reads \"[convert_k2c(target_temp)]C\"."

/obj/machinery/power/thermoregulator/attackby(obj/item/I, mob/user)
if(I.is_screwdriver())
if(I.has_tool_quality(TOOL_SCREWDRIVER))
if(default_deconstruction_screwdriver(user,I))
return
if(I.is_crowbar())
if(I.has_tool_quality(TOOL_CROWBAR))
if(default_deconstruction_crowbar(user,I))
return
if(I.is_wrench())
if(I.has_tool_quality(TOOL_WRENCH))
anchored = !anchored
visible_message("<span class='notice'>\The [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].</span>")
playsound(src, I.usesound, 75, 1)
Expand Down
12 changes: 6 additions & 6 deletions code/game/machinery/atm_ret_field.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,33 +41,33 @@
field_type = /obj/structure/atmospheric_retention_field/impassable

/obj/machinery/atmospheric_field_generator/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.is_crowbar() && isactive)
if(W.has_tool_quality(TOOL_CROWBAR) && isactive)
if(!src) return
to_chat(user, "<span class='warning'>You can't open the ARF-G whilst it's running!</span>")
return
if(W.is_crowbar() && !isactive)
if(W.has_tool_quality(TOOL_CROWBAR) && !isactive)
if(!src) return
to_chat(user, "<span class='notice'>You [hatch_open? "close" : "open"] \the [src]'s access hatch.</span>")
hatch_open = !hatch_open
update_icon()
if(alwaysactive && wires_intact)
generate_field()
return
if(hatch_open && W.is_multitool())
if(hatch_open && W.has_tool_quality(TOOL_MULTITOOL))
if(!src) return
to_chat(user, "<span class='notice'>You toggle \the [src]'s activation behavior to [alwaysactive? "emergency" : "always-on"].</span>")
alwaysactive = !alwaysactive
update_icon()
return
if(hatch_open && W.is_wirecutter())
if(hatch_open && W.has_tool_quality(TOOL_WIRECUTTER))
if(!src) return
to_chat(user, "<span class='warning'>You [wires_intact? "cut" : "mend"] \the [src]'s wires!</span>")
wires_intact = !wires_intact
update_icon()
return
if(hatch_open && istype(W,/obj/item/weapon/weldingtool))
if(hatch_open && W.has_tool_quality(TOOL_WELDER))
if(!src) return
var/obj/item/weapon/weldingtool/WT = W
var/obj/item/weapon/weldingtool/WT = W.get_welder()
if(!WT.isOn()) return
if(WT.get_fuel() < 5) // uses up 5 fuel.
to_chat(user, "<span class='warning'>You need more fuel to complete this task.</span>")
Expand Down
6 changes: 3 additions & 3 deletions code/game/machinery/atmoalter/canister.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,8 +239,8 @@ update_flag
..()

/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/weapon/weldingtool)) //Vorestart: Deconstructable Canisters
var/obj/item/weapon/weldingtool/WT = W
if(W.has_tool_quality(TOOL_WELDER)) //Vorestart: Deconstructable Canisters
var/obj/item/weapon/weldingtool/WT = W.get_welder()
if(!WT.remove_fuel(0, user))
to_chat(user, "The welding tool must be on to complete this task.")
return
Expand All @@ -255,7 +255,7 @@ update_flag
qdel(src)
return
//Voreend
if(!W.is_wrench() && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda))
if(!W.has_tool_quality(TOOL_WRENCH) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda))
visible_message("<span class='warning'>\The [user] hits \the [src] with \a [W]!</span>")
src.health -= W.force
src.add_fingerprint(user)
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/atmoalter/meter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
return ..()

/obj/machinery/meter/attackby(var/obj/item/W, var/mob/user)
if(W.is_wrench())
if(W.has_tool_quality(TOOL_WRENCH))
playsound(src, W.usesound, 50, 1)
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
if(do_after(user, 40 * W.toolspeed))
Expand Down
4 changes: 2 additions & 2 deletions code/game/machinery/atmoalter/portable_atmospherics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
update_icon()
return

else if (W.is_wrench())
else if (W.has_tool_quality(TOOL_WRENCH))
if(connected_port)
disconnect()
to_chat(user, "<span class='notice'>You disconnect \the [src] from the port.</span>")
Expand Down Expand Up @@ -173,7 +173,7 @@
power_change()
return

if(I.is_screwdriver() && removeable_cell)
if(I.has_tool_quality(TOOL_SCREWDRIVER) && removeable_cell)
if(!cell)
to_chat(user, "<span class='warning'>There is no power cell installed.</span>")
return
Expand Down
Loading