diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm
index 38b6376716..d78bd799a2 100644
--- a/code/datums/components/gps.dm
+++ b/code/datums/components/gps.dm
@@ -44,6 +44,7 @@ GLOBAL_LIST_EMPTY(GPS_list)
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act)
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine)
RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_AltClick)
+ RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item)
///Called on COMSIG_ITEM_ATTACK_SELF
/datum/component/gps/item/proc/interact(datum/source, mob/user)
@@ -54,6 +55,17 @@ GLOBAL_LIST_EMPTY(GPS_list)
/datum/component/gps/item/proc/on_examine(datum/source, mob/user, list/examine_list)
examine_list += "Alt-click to switch it [tracking ? "off":"on"]."
+/datum/component/gps/item/proc/on_requesting_context_from_item(
+ obj/source,
+ list/context,
+ obj/item/held_item,
+ mob/living/user,
+)
+ SIGNAL_HANDLER
+
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, tracking ? "Turn off" : "Turn on")
+ return CONTEXTUAL_SCREENTIP_SET
+
///Called on COMSIG_ATOM_EMP_ACT
/datum/component/gps/item/proc/on_emp_act(datum/source, severity)
emped = TRUE
diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm
index b8d629273b..4b0e58df18 100644
--- a/code/datums/components/rotation.dm
+++ b/code/datums/components/rotation.dm
@@ -44,6 +44,7 @@
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/ExamineMessage)
if(rotation_flags & ROTATION_WRENCH)
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/WrenchRot)
+ RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item)
/datum/component/simple_rotation/proc/add_verbs()
if(rotation_flags & ROTATION_VERBS)
@@ -63,7 +64,7 @@
AM.verbs -= /atom/movable/proc/simple_rotate_counterclockwise
/datum/component/simple_rotation/proc/remove_signals()
- UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_PARENT_EXAMINE, COMSIG_PARENT_ATTACKBY))
+ UnregisterSignal(parent, list(COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, COMSIG_CLICK_ALT, COMSIG_PARENT_EXAMINE, COMSIG_PARENT_ATTACKBY))
/datum/component/simple_rotation/RegisterWithParent()
add_verbs()
@@ -157,6 +158,21 @@
/datum/component/simple_rotation/proc/default_after_rotation(mob/user, rotation_type)
to_chat(user,"You [rotation_type == ROTATION_FLIP ? "flip" : "rotate"] [parent].")
+/datum/component/simple_rotation/proc/on_requesting_context_from_item(
+ obj/source,
+ list/context,
+ obj/item/held_item,
+ mob/living/user,
+)
+ var/rotation = (rotation_flags & ROTATION_FLIP) ? "Flip" : "Rotate [rotation_flags & ROTATION_CLOCKWISE ? "clockwise" : "counter-clockwise"]"
+
+ if(rotation_flags & ROTATION_ALTCLICK)
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, rotation)
+ . = CONTEXTUAL_SCREENTIP_SET
+ if(held_item?.tool_behaviour == TOOL_WRENCH && (rotation_flags & ROTATION_WRENCH))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, rotation)
+ . = CONTEXTUAL_SCREENTIP_SET
+
/atom/movable/proc/simple_rotate_clockwise()
set name = "Rotate Clockwise"
set category = "Object"
diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm
index dfc9ab2b02..efeb5523ca 100644
--- a/code/datums/elements/mob_holder.dm
+++ b/code/datums/elements/mob_holder.dm
@@ -23,14 +23,14 @@
src.proctype = proctype
src.escape_on_find = escape_on_find
+ RegisterSignal(target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item)
RegisterSignal(target, COMSIG_CLICK_ALT, .proc/mob_try_pickup)
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine)
RegisterSignal(target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item)
/datum/element/mob_holder/Detach(datum/source, force)
. = ..()
- UnregisterSignal(source, COMSIG_CLICK_ALT)
- UnregisterSignal(source, COMSIG_PARENT_EXAMINE)
+ UnregisterSignal(source, list(COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, COMSIG_CLICK_ALT, COMSIG_PARENT_EXAMINE))
/datum/element/mob_holder/proc/on_examine(mob/living/source, mob/user, list/examine_list)
if(ishuman(user) && !istype(source.loc, /obj/item/clothing/head/mob_holder))
@@ -44,8 +44,9 @@
)
SIGNAL_HANDLER
- LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Pick up")
- return CONTEXTUAL_SCREENTIP_SET
+ if(ishuman(user))
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Pick up")
+ return CONTEXTUAL_SCREENTIP_SET
/datum/element/mob_holder/proc/mob_try_pickup(mob/living/source, mob/user)
if(!ishuman(user) || !user.Adjacent(source) || user.incapacitated())
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 80621e2bcd..b59e71d62e 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -13,6 +13,16 @@
var/cooldown_time = 100
req_access = list(ACCESS_AI_UPLOAD)
+/obj/machinery/ai_slipper/Initialize(mapload)
+ . = ..()
+ register_context()
+
+/obj/machinery/ai_slipper/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(issilicon(user))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Dispense foam")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/machinery/ai_slipper/examine(mob/user)
. = ..()
. += "It has [uses] uses of foam remaining."
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 0b31ecdf9f..d9d6f65e93 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -700,6 +700,14 @@
/obj/machinery/door/airlock/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
. = ..()
+ if(hasSiliconAccessInArea(user))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Open interface")
+ LAZYSET(context[SCREENTIP_CONTEXT_SHIFT_LMB], INTENT_ANY, density ? "Open" : "Close")
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, locked ? "Unbolt" : "Bolt")
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, secondsElectrified ? "Un-electrify" : "Electrify")
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, emergency ? "Disable emergency access" : "Enable emergency access")
+ . = CONTEXTUAL_SCREENTIP_SET
+
if(istype(held_item, /obj/item/stack/sheet/plasteel))
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Reinforce")
return CONTEXTUAL_SCREENTIP_SET
@@ -720,12 +728,12 @@
return CONTEXTUAL_SCREENTIP_SET
if (TOOL_WELDER)
- LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Weld shut")
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Weld shut")
if (panel_open)
switch (security_level)
if (AIRLOCK_SECURITY_METAL, AIRLOCK_SECURITY_PLASTEEL_I, AIRLOCK_SECURITY_PLASTEEL_O)
- LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Cut shielding")
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Cut shielding")
return CONTEXTUAL_SCREENTIP_SET
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Repair")
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 755894d906..cd87a858b8 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -80,6 +80,19 @@ Possible to do for anyone motivated enough:
/// If we are currently calling another holopad
var/calling = FALSE
+/obj/machinery/holopad/Initialize(mapload)
+ . = ..()
+ register_context()
+
+/obj/machinery/holopad/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(isAI(user) && on_network)
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Project yourself")
+ if(LAZYLEN(masters) && masters[user])
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Stop projecting")
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Stop projecting")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/machinery/holopad/secure
name = "secure holopad"
desc = "It's a floor-mounted device for projecting holographic images. This one will refuse to auto-connect incoming calls."
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 8657db47fc..abaf976441 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -52,8 +52,15 @@ Buildable meters
update()
pixel_x += rand(-5, 5)
pixel_y += rand(-5, 5)
+ register_context()
return ..()
+/obj/item/pipe/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(held_item?.tool_behaviour == TOOL_WRENCH)
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Fasten")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/pipe/proc/make_from_existing(obj/machinery/atmospherics/make_from)
setDir(make_from.dir)
pipename = make_from.name
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index 9c1d8d32b3..7fceff4380 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -930,6 +930,14 @@ DEFINE_BITFIELD(turret_flags, list(
pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24)
pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0
power_change() //Checks power and initial settings
+ register_context()
+
+/obj/machinery/turretid/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(issilicon(user) && !(stat & BROKEN))
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, enabled ? "Disable" : "Enable")
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, lethal ? "Set to stun" : "Set to kill")
+ return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/turretid/Destroy()
turrets.Cut()
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 5aaed2a808..c550f72946 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -299,6 +299,13 @@
/obj/machinery/status_display/Initialize(mapload, ndir, building)
. = ..()
update_appearance()
+ register_context()
+
+/obj/machinery/status_display/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(isAI(user))
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Start streaming") // funny
+ return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/status_display/evac/Initialize(mapload)
. = ..()
diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm
index e15b735a55..257e5e1e56 100644
--- a/code/game/objects/items/dna_injector.dm
+++ b/code/game/objects/items/dna_injector.dm
@@ -16,6 +16,16 @@
var/used = 0
+/obj/item/dnainjector/Initialize(mapload)
+ . = ..()
+ register_item_context()
+
+/obj/item/dnainjector/add_item_context(obj/item/source, list/context, mob/living/target, mob/living/user)
+ . = ..()
+ if(isliving(target) && target.has_dna() && !used)
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Inject")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/dnainjector/attack_paw(mob/user)
return attack_hand(user)
@@ -525,6 +535,12 @@
var/filled = FALSE
var/crispr_charge = FALSE // Look for viruses, look at symptoms, if research and Dormant DNA Activator or Viral Evolutionary Acceleration, set to true
+/obj/item/dnainjector/activator/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
+ . = ..()
+ if(istype(target, /obj/machinery/computer/scan_consolenew) && used)
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Recycle")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/dnainjector/activator/inject(mob/living/carbon/M, mob/user)
if(M.has_dna() && !HAS_TRAIT_NOT_FROM(M, TRAIT_RADIMMUNE,BLOODSUCKER_TRAIT) && !HAS_TRAIT(M,TRAIT_NOCLONE))
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 1403eb999c..2c3b0545f8 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -65,6 +65,13 @@ GLOBAL_LIST_INIT(double_bedsheets, list(/obj/item/bedsheet/double,
if(bedsheet_type == BEDSHEET_DOUBLE)
stack_amount *= 2
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
+ register_item_context()
+
+/obj/item/bedsheet/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
+ . = ..()
+ if(iscarbon(target))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Prepare Surgery")
+ return CONTEXTUAL_SCREENTIP_SET
/obj/item/bedsheet/attack(mob/living/M, mob/user)
if(!attempt_initiate_surgery(src, M, user))
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index 90407264ad..19b94eb64e 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -233,6 +233,12 @@
power_change()
set_frequency(frequency)
+ register_context()
+
+/obj/machinery/airalarm/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, locked ? "Unlock" : "Lock")
+ return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/airalarm/Destroy()
SSradio.remove_object(src, frequency)
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index 49fc0322df..a59cd5b304 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -41,6 +41,10 @@
var/on = FALSE
var/interacts_with_air = FALSE
+/obj/machinery/atmospherics/Initialize(mapload)
+ . = ..()
+ register_context()
+
/obj/machinery/atmospherics/examine(mob/user)
. = ..()
if(is_type_in_list(src, GLOB.ventcrawl_machinery) && isliving(user))
@@ -48,6 +52,17 @@
if(SEND_SIGNAL(L, COMSIG_CHECK_VENTCRAWL))
. += "Alt-click to crawl through it."
+/obj/machinery/atmospherics/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+
+ if(can_unwrench && held_item?.tool_behaviour == TOOL_WRENCH)
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Unfasten")
+ . = CONTEXTUAL_SCREENTIP_SET
+
+ if(is_type_in_list(src, GLOB.ventcrawl_machinery) && isliving(user) && SEND_SIGNAL(user, COMSIG_CHECK_VENTCRAWL))
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Crawl into")
+ . = CONTEXTUAL_SCREENTIP_SET
+
/obj/machinery/atmospherics/New(loc, process = TRUE, setdir)
if(!isnull(setdir))
setDir(setdir)
diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm
index c87095e5ff..1e7b1a63e8 100644
--- a/code/modules/clothing/under/_under.dm
+++ b/code/modules/clothing/under/_under.dm
@@ -112,6 +112,10 @@
sensor_mode_intended = sensor_mode
..()
+/obj/item/clothing/under/Initialize(mapload)
+ . = ..()
+ register_context()
+
/obj/item/clothing/under/equipped(mob/user, slot)
..()
if(adjusted)
@@ -377,5 +381,20 @@
return TRUE
+/obj/item/clothing/under/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if (!(item_flags & IN_INVENTORY))
+ return
+
+ if(!isliving(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
+ return
+
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Set to highest sensor")
+ if(length(attached_accessories))
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Remove [attached_accessories[length(attached_accessories)]]")
+ else
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Adjust [src]")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/clothing/under/rank
dying_key = DYE_REGISTRY_UNDER
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 113a0b33fa..f495dadbf2 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -36,6 +36,17 @@
inserted_item = new inserted_item(src)
else
inserted_item = new /obj/item/pen(src)
+ register_context()
+
+/obj/item/modular_computer/tablet/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(can_have_pen)
+ if(inserted_item)
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Remove [inserted_item]")
+ . = CONTEXTUAL_SCREENTIP_SET
+ else if(is_type_in_list(held_item, contained_item))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Insert [held_item]")
+ . = CONTEXTUAL_SCREENTIP_SET
/obj/item/modular_computer/tablet/proc/insert_pen(obj/item/pen)
if(!usr.transferItemToLoc(pen, src))
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 5e7872b92e..9896cc4088 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -290,6 +290,13 @@
set_machine_stat(stat | MAINT)
update_appearance()
addtimer(CALLBACK(src, .proc/update), 5)
+ register_context()
+
+/obj/machinery/power/apc/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ if(operating)
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, locked ? "Unlock" : "Lock")
+ return CONTEXTUAL_SCREENTIP_SET
/obj/machinery/power/apc/Destroy()
GLOB.apcs_list -= src
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 6a68b79fdd..61c558142e 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -15,6 +15,16 @@
var/ignore_flags = 0
var/infinite = FALSE
+/obj/item/reagent_containers/hypospray/Initialize(mapload, vol)
+ . = ..()
+ register_item_context()
+
+/obj/item/reagent_containers/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
+ . = ..()
+ if(iscarbon(target))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Inject")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/reagent_containers/hypospray/attack_paw(mob/user)
return attack_hand(user)
@@ -378,6 +388,23 @@
if(start_vial)
vial = new start_vial
update_icon()
+ register_context()
+ register_item_context()
+
+/obj/item/hypospray/mkii/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
+ . = ..()
+ // Did you know that clicking something while you're holding it is the same as attack_self()?
+ if(vial && (held_item == src))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Remove [vial]")
+ LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Set to [mode ? "spray" : "inject"]")
+ LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Set transfer amount")
+ return CONTEXTUAL_SCREENTIP_SET
+
+/obj/item/hypospray/mkii/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
+ . = ..()
+ if(iscarbon(target))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, mode ? "Inject" : "Spray")
+ return CONTEXTUAL_SCREENTIP_SET
/obj/item/hypospray/mkii/ComponentInitialize()
. = ..()
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index b193e5917a..f916180b4c 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -349,6 +349,16 @@
w_class = WEIGHT_CLASS_TINY
attack_verb = list("slapped")
+/obj/item/surgical_drapes/Initialize(mapload)
+ . = ..()
+ register_item_context()
+
+/obj/item/surgical_drapes/add_item_context(obj/item/source, list/context, atom/target, mob/living/user)
+ . = ..()
+ if(iscarbon(target))
+ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Prepare Surgery")
+ return CONTEXTUAL_SCREENTIP_SET
+
/obj/item/surgical_drapes/attack(mob/living/M, mob/user)
if(!attempt_initiate_surgery(src, M, user))
..()
diff --git a/tgui/package.json b/tgui/package.json
index 0e12ed29f4..9e79c9f785 100644
--- a/tgui/package.json
+++ b/tgui/package.json
@@ -2,7 +2,7 @@
"private": true,
"name": "tgui-workspace",
"version": "4.3.0",
- "packageManager": "yarn@3.2.3",
+ "packageManager": "yarn@3.4.1",
"workspaces": [
"packages/*"
],
@@ -55,7 +55,8 @@
"style-loader": "^3.3.1",
"terser-webpack-plugin": "^5.3.1",
"typescript": "^4.6.4",
- "webpack": "^5.75.0",
+ "url-loader": "^4.1.1",
+ "webpack": "^5.76.0",
"webpack-bundle-analyzer": "^4.5.0",
"webpack-cli": "^4.9.2"
}
diff --git a/tgui/yarn.lock b/tgui/yarn.lock
index 12162ced10..84665aa7a2 100644
--- a/tgui/yarn.lock
+++ b/tgui/yarn.lock
@@ -1906,6 +1906,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/source-map@npm:^0.3.3":
+ version: 0.3.5
+ resolution: "@jridgewell/source-map@npm:0.3.5"
+ dependencies:
+ "@jridgewell/gen-mapping": ^0.3.0
+ "@jridgewell/trace-mapping": ^0.3.9
+ checksum: 1ad4dec0bdafbade57920a50acec6634f88a0eb735851e0dda906fa9894e7f0549c492678aad1a10f8e144bfe87f238307bf2a914a1bc85b7781d345417e9f6f
+ languageName: node
+ linkType: hard
+
"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10":
version: 1.4.14
resolution: "@jridgewell/sourcemap-codec@npm:1.4.14"
@@ -1923,6 +1933,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/trace-mapping@npm:^0.3.17":
+ version: 0.3.18
+ resolution: "@jridgewell/trace-mapping@npm:0.3.18"
+ dependencies:
+ "@jridgewell/resolve-uri": 3.1.0
+ "@jridgewell/sourcemap-codec": 1.4.14
+ checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.4":
version: 2.1.4
resolution: "@nodelib/fs.scandir@npm:2.1.4"
@@ -2081,6 +2101,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/estree@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@types/estree@npm:1.0.1"
+ checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d
+ languageName: node
+ linkType: hard
+
"@types/graceful-fs@npm:^4.1.3":
version: 4.1.5
resolution: "@types/graceful-fs@npm:4.1.5"
@@ -2307,6 +2334,16 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/ast@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/helper-numbers": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ checksum: 38ef1b526ca47c210f30975b06df2faf1a8170b1636ce239fc5738fc231ce28389dd61ecedd1bacfc03cbe95b16d1af848c805652080cb60982836eb4ed2c6cf
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/floating-point-hex-parser@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1"
@@ -2314,6 +2351,13 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/floating-point-hex-parser@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6"
+ checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/helper-api-error@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/helper-api-error@npm:1.11.1"
@@ -2321,6 +2365,13 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/helper-api-error@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-api-error@npm:1.11.6"
+ checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/helper-buffer@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/helper-buffer@npm:1.11.1"
@@ -2328,6 +2379,13 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/helper-buffer@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-buffer@npm:1.11.6"
+ checksum: b14d0573bf680d22b2522e8a341ec451fddd645d1f9c6bd9012ccb7e587a2973b86ab7b89fe91e1c79939ba96095f503af04369a3b356c8023c13a5893221644
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/helper-numbers@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/helper-numbers@npm:1.11.1"
@@ -2339,6 +2397,17 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/helper-numbers@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-numbers@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser": 1.11.6
+ "@webassemblyjs/helper-api-error": 1.11.6
+ "@xtuc/long": 4.2.2
+ checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1"
@@ -2346,6 +2415,13 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6"
+ checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/helper-wasm-section@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1"
@@ -2358,6 +2434,18 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/helper-wasm-section@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ checksum: b2cf751bf4552b5b9999d27bbb7692d0aca75260140195cb58ea6374d7b9c2dc69b61e10b211a0e773f66209c3ddd612137ed66097e3684d7816f854997682e9
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/ieee754@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/ieee754@npm:1.11.1"
@@ -2367,6 +2455,15 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/ieee754@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/ieee754@npm:1.11.6"
+ dependencies:
+ "@xtuc/ieee754": ^1.2.0
+ checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/leb128@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/leb128@npm:1.11.1"
@@ -2376,6 +2473,15 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/leb128@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/leb128@npm:1.11.6"
+ dependencies:
+ "@xtuc/long": 4.2.2
+ checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/utf8@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/utf8@npm:1.11.1"
@@ -2383,6 +2489,13 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/utf8@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/utf8@npm:1.11.6"
+ checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/wasm-edit@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/wasm-edit@npm:1.11.1"
@@ -2399,6 +2512,22 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/wasm-edit@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-edit@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/helper-wasm-section": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ "@webassemblyjs/wasm-opt": 1.11.6
+ "@webassemblyjs/wasm-parser": 1.11.6
+ "@webassemblyjs/wast-printer": 1.11.6
+ checksum: 29ce75870496d6fad864d815ebb072395a8a3a04dc9c3f4e1ffdc63fc5fa58b1f34304a1117296d8240054cfdbc38aca88e71fb51483cf29ffab0a61ef27b481
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/wasm-gen@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/wasm-gen@npm:1.11.1"
@@ -2412,6 +2541,19 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/wasm-gen@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-gen@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/ieee754": 1.11.6
+ "@webassemblyjs/leb128": 1.11.6
+ "@webassemblyjs/utf8": 1.11.6
+ checksum: a645a2eecbea24833c3260a249704a7f554ef4a94c6000984728e94bb2bc9140a68dfd6fd21d5e0bbb09f6dfc98e083a45760a83ae0417b41a0196ff6d45a23a
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/wasm-opt@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/wasm-opt@npm:1.11.1"
@@ -2424,6 +2566,18 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/wasm-opt@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-opt@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ "@webassemblyjs/wasm-parser": 1.11.6
+ checksum: b4557f195487f8e97336ddf79f7bef40d788239169aac707f6eaa2fa5fe243557c2d74e550a8e57f2788e70c7ae4e7d32f7be16101afe183d597b747a3bdd528
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/wasm-parser@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/wasm-parser@npm:1.11.1"
@@ -2438,6 +2592,20 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-parser@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-api-error": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/ieee754": 1.11.6
+ "@webassemblyjs/leb128": 1.11.6
+ "@webassemblyjs/utf8": 1.11.6
+ checksum: 8200a8d77c15621724a23fdabe58d5571415cda98a7058f542e670ea965dd75499f5e34a48675184947c66f3df23adf55df060312e6d72d57908e3f049620d8a
+ languageName: node
+ linkType: hard
+
"@webassemblyjs/wast-printer@npm:1.11.1":
version: 1.11.1
resolution: "@webassemblyjs/wast-printer@npm:1.11.1"
@@ -2448,6 +2616,16 @@ __metadata:
languageName: node
linkType: hard
+"@webassemblyjs/wast-printer@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wast-printer@npm:1.11.6"
+ dependencies:
+ "@webassemblyjs/ast": 1.11.6
+ "@xtuc/long": 4.2.2
+ checksum: d2fa6a4c427325ec81463e9c809aa6572af6d47f619f3091bf4c4a6fc34f1da3df7caddaac50b8e7a457f8784c62cd58c6311b6cb69b0162ccd8d4c072f79cf8
+ languageName: node
+ linkType: hard
+
"@webpack-cli/configtest@npm:^1.2.0":
version: 1.2.0
resolution: "@webpack-cli/configtest@npm:1.2.0"
@@ -2542,6 +2720,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn-import-assertions@npm:^1.9.0":
+ version: 1.9.0
+ resolution: "acorn-import-assertions@npm:1.9.0"
+ peerDependencies:
+ acorn: ^8
+ checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c
+ languageName: node
+ linkType: hard
+
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -2583,6 +2770,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.8.2":
+ version: 8.10.0
+ resolution: "acorn@npm:8.10.0"
+ bin:
+ acorn: bin/acorn
+ checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d
+ languageName: node
+ linkType: hard
+
"agent-base@npm:6, agent-base@npm:^6.0.2":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
@@ -3887,6 +4083,16 @@ __metadata:
languageName: node
linkType: hard
+"enhanced-resolve@npm:^5.15.0":
+ version: 5.15.0
+ resolution: "enhanced-resolve@npm:5.15.0"
+ dependencies:
+ graceful-fs: ^4.2.4
+ tapable: ^2.2.0
+ checksum: fbd8cdc9263be71cc737aa8a7d6c57b43d6aa38f6cc75dde6fcd3598a130cc465f979d2f4d01bb3bf475acb43817749c79f8eef9be048683602ca91ab52e4f11
+ languageName: node
+ linkType: hard
+
"env-paths@npm:^2.2.0":
version: 2.2.0
resolution: "env-paths@npm:2.2.0"
@@ -3982,6 +4188,13 @@ __metadata:
languageName: node
linkType: hard
+"es-module-lexer@npm:^1.2.1":
+ version: 1.3.0
+ resolution: "es-module-lexer@npm:1.3.0"
+ checksum: 48fd9f504a9d2a894126f75c8b7ccc6273a289983e9b67255f165bfd9ae765d50100218251e94e702ca567826905ea2f7b3b4a0c4d74d3ce99cce3a2a606a238
+ languageName: node
+ linkType: hard
+
"es-shim-unscopables@npm:^1.0.0":
version: 1.0.0
resolution: "es-shim-unscopables@npm:1.0.0"
@@ -7815,6 +8028,17 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"schema-utils@npm:^3.2.0":
+ version: 3.3.0
+ resolution: "schema-utils@npm:3.3.0"
+ dependencies:
+ "@types/json-schema": ^7.0.8
+ ajv: ^6.12.5
+ ajv-keywords: ^3.5.2
+ checksum: ea56971926fac2487f0757da939a871388891bc87c6a82220d125d587b388f1704788f3706e7f63a7b70e49fc2db974c41343528caea60444afd5ce0fe4b85c0
+ languageName: node
+ linkType: hard
+
"schema-utils@npm:^4.0.0":
version: 4.0.0
resolution: "schema-utils@npm:4.0.0"
@@ -7887,6 +8111,15 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"serialize-javascript@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "serialize-javascript@npm:6.0.1"
+ dependencies:
+ randombytes: ^2.1.0
+ checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f
+ languageName: node
+ linkType: hard
+
"set-blocking@npm:~2.0.0":
version: 2.0.0
resolution: "set-blocking@npm:2.0.0"
@@ -8479,6 +8712,28 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"terser-webpack-plugin@npm:^5.3.7":
+ version: 5.3.9
+ resolution: "terser-webpack-plugin@npm:5.3.9"
+ dependencies:
+ "@jridgewell/trace-mapping": ^0.3.17
+ jest-worker: ^27.4.5
+ schema-utils: ^3.1.1
+ serialize-javascript: ^6.0.1
+ terser: ^5.16.8
+ peerDependencies:
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ "@swc/core":
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ checksum: 41705713d6f9cb83287936b21e27c658891c78c4392159f5148b5623f0e8c48559869779619b058382a4c9758e7820ea034695e57dc7c474b4962b79f553bc5f
+ languageName: node
+ linkType: hard
+
"terser@npm:^5.14.1":
version: 5.15.0
resolution: "terser@npm:5.15.0"
@@ -8493,6 +8748,20 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"terser@npm:^5.16.8":
+ version: 5.19.2
+ resolution: "terser@npm:5.19.2"
+ dependencies:
+ "@jridgewell/source-map": ^0.3.3
+ acorn: ^8.8.2
+ commander: ^2.20.0
+ source-map-support: ~0.5.20
+ bin:
+ terser: bin/terser
+ checksum: e059177775b4d4f4cff219ad89293175aefbd1b081252270444dc83e42a2c5f07824eb2a85eae6e22ef6eb7ef04b21af36dd7d1dd7cfb93912310e57d416a205
+ languageName: node
+ linkType: hard
+
"terser@npm:^5.7.0":
version: 5.16.1
resolution: "terser@npm:5.16.1"
@@ -8607,7 +8876,8 @@ resolve@^2.0.0-next.3:
style-loader: ^3.3.1
terser-webpack-plugin: ^5.3.1
typescript: ^4.6.4
- webpack: ^5.75.0
+ url-loader: ^4.1.1
+ webpack: ^5.76.0
webpack-bundle-analyzer: ^4.5.0
webpack-cli: ^4.9.2
languageName: unknown
@@ -9035,6 +9305,23 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"url-loader@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "url-loader@npm:4.1.1"
+ dependencies:
+ loader-utils: ^2.0.0
+ mime-types: ^2.1.27
+ schema-utils: ^3.0.0
+ peerDependencies:
+ file-loader: "*"
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+ checksum: c1122a992c6cff70a7e56dfc2b7474534d48eb40b2cc75467cde0c6972e7597faf8e43acb4f45f93c2473645dfd803bcbc20960b57544dd1e4c96e77f72ba6fd
+ languageName: node
+ linkType: hard
+
"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1":
version: 1.0.2
resolution: "util-deprecate@npm:1.0.2"
@@ -9198,9 +9485,46 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
-"webpack@npm:^5, webpack@npm:^5.75.0":
- version: 5.75.0
- resolution: "webpack@npm:5.75.0"
+"webpack@npm:^5":
+ version: 5.88.2
+ resolution: "webpack@npm:5.88.2"
+ dependencies:
+ "@types/eslint-scope": ^3.7.3
+ "@types/estree": ^1.0.0
+ "@webassemblyjs/ast": ^1.11.5
+ "@webassemblyjs/wasm-edit": ^1.11.5
+ "@webassemblyjs/wasm-parser": ^1.11.5
+ acorn: ^8.7.1
+ acorn-import-assertions: ^1.9.0
+ browserslist: ^4.14.5
+ chrome-trace-event: ^1.0.2
+ enhanced-resolve: ^5.15.0
+ es-module-lexer: ^1.2.1
+ eslint-scope: 5.1.1
+ events: ^3.2.0
+ glob-to-regexp: ^0.4.1
+ graceful-fs: ^4.2.9
+ json-parse-even-better-errors: ^2.3.1
+ loader-runner: ^4.2.0
+ mime-types: ^2.1.27
+ neo-async: ^2.6.2
+ schema-utils: ^3.2.0
+ tapable: ^2.1.1
+ terser-webpack-plugin: ^5.3.7
+ watchpack: ^2.4.0
+ webpack-sources: ^3.2.3
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ bin:
+ webpack: bin/webpack.js
+ checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2
+ languageName: node
+ linkType: hard
+
+"webpack@npm:^5.76.0":
+ version: 5.76.1
+ resolution: "webpack@npm:5.76.1"
dependencies:
"@types/eslint-scope": ^3.7.3
"@types/estree": ^0.0.51
@@ -9231,7 +9555,7 @@ resolve@^2.0.0-next.3:
optional: true
bin:
webpack: bin/webpack.js
- checksum: 2bcc5f3c195f375944e8af2f00bf2feea39cb9fda5f763b0d1b00077f1c51783db25c94d3fae96a07dead9fa085e6ae7474417e5ab31719c9776ea5969ceb83a
+ checksum: b01fe0bc2dbca0e10d290ddb0bf81e807a031de48028176e2b21afd696b4d3f25ab9accdad888ef4a1f7c7f4d41f13d5bf2395b7653fdf3e5e3dafa54e56dab2
languageName: node
linkType: hard