Start of TG Click Code Port (#18734)

* click code start

* snake_span

* Update click.dm

* Update click.dm

* Update click.dm

* Update click.dm

* Fixes borg ctrl_click

Also implements allowing  blocking of items being ctrl_clicked

* Makes the statpanel not annihilate peoples ratelimiter

Statpanel calls aren't really user controlled (and 180 of them get sent upon loading, as each verb counts as a topic calls when it calls Send-Tabs) so let's not count it towards the user when they log in.
This commit is contained in:
Cameron Lennox
2025-12-06 01:13:12 -05:00
committed by GitHub
parent a1b9121b5f
commit 4924a73ba2
96 changed files with 602 additions and 305 deletions
@@ -22,7 +22,7 @@
/obj/item/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob)
do_scan(M, user)
/obj/item/robotanalyzer/AltClick(mob/user)
/obj/item/robotanalyzer/click_alt(mob/user)
mode = !mode
user.show_message(span_blue("[mode ? "Toggled to cyborg analyzing mode." : "Toggled to cyborg upgrade scan mode."]"), 1)
@@ -19,7 +19,7 @@
/obj/item/borg/cloak/attack_self(mob/user)
set_cloak_level(user)
/obj/item/borg/cloak/CtrlClick(mob/user)
/obj/item/borg/cloak/item_ctrl_click(mob/user)
toggle_cloak(user)
return
@@ -447,7 +447,7 @@
exact = TRUE
to_chat(user, span_notice("You've upgraded the mining scanner for [upgrade_cost] points."))
/obj/item/mining_scanner/robot/AltClick(mob/user)
/obj/item/mining_scanner/robot/click_alt(mob/user)
change_size(user)
/obj/item/mining_scanner/robot/proc/change_size(mob/user)
@@ -29,7 +29,7 @@
var/list/integrated_tool_images
/obj/item/robotic_multibelt/CtrlClick(mob/user)
/obj/item/robotic_multibelt/item_ctrl_click(mob/user)
if(selected_item)
selected_item.attack_self(user)
return
@@ -597,13 +597,13 @@
. += span_notice("\The [src] is holding \the [wrapped].")
. += wrapped.examine(user)
/obj/item/gripper/CtrlClick(mob/user)
/obj/item/gripper/item_ctrl_click(mob/user)
var/obj/item/wrapped = get_current_pocket()
if(wrapped && !is_in_use())
wrapped.attack_self(user)
return
/obj/item/gripper/AltClick(mob/user)
/obj/item/gripper/click_alt(mob/user)
if(!is_in_use())
drop_item()
return