mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
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:
@@ -6,7 +6,7 @@
|
||||
info = {"<font face="Comic Sans MS" color=#DA0000><b><center></center><BR><center><I><B>Form - Inventory Requisition r10.7.1E</I></B></center><BR><center><font size="4">General Request Form</font></center><BR><BR><center><B>General</B></center><BR><BR>Name: <span class="paper_field"></span><BR>Department: <span class="paper_field"></span><BR>Departmental Rank: <span class="paper_field"></span><BR>Organization(If not Nanotrasen): <span class="paper_field"></span><BR>Date: <span class="paper_field"></span><BR><BR><BR><BR>Requested Item(s): <span class="paper_field"></span><BR>Quantity: <span class="paper_field"></span><BR>Reason for request: <span class="paper_field"></span><BR>Is this replacement equipment?: <span class="paper_field"></span><BR>If `Yes`; above, specify equiment and reason for replacement: <span class="paper_field"></span><BR><BR><BR><center><B>Authorization</B></center><BR><BR>Authorizing Department: <span class="paper_field"></span><BR>Authorizing Dept. Head: <span class="paper_field"></span><BR><BR><BR><center><B>Contact and Delivery</B></center><BR><BR>EPv2 Address of requesting party(Do not leave blank): <span class="paper_field"></span><BR>Delivery location or department: <span class="paper_field"></span><BR><BR><BR>Nanotrasen Employee Identification Number: <span class="paper_field"></span><BR><U>Signature of Requester and Date</U><BR><BR><span class="paper_field"></span><BR><BR><BR><BR>Authorizor`s Nanotrasen Employee Identification Number: <span class="paper_field"></span><BR><U>Authorizing Signature and Date(Include authorizing department`s stamp below)</U><BR><BR><span class="paper_field"></span><BR><BR><BR><center><B>Shipping Department Only</B></center><BR><center><I>(Do not write below this line)</I></center><BR>Nanotrasen Purchasing Approval Code: <span class="paper_field"></span><BR>Nanotrasen Employee Identification Number: <span class="paper_field"></span><BR>Receiving Shipping Employee: <span class="paper_field"></span><BR><U>Signature and Date</U><BR><BR><span class="paper_field"></span><BR></b></font>"}
|
||||
info_links = {"<font face="Comic Sans MS" color=#FF9300><b><center></center><BR><center><I><B>Form - Inventory Requisition r10.7.1E</I></B></center><BR><center><font size="4">General Request Form</font></center><BR><BR><center><B>General</B></center><BR><BR>Name: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=1'>write</A></font></span><BR>Department: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=2'>write</A></font></span><BR>Departmental Rank: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=3'>write</A></font></span><BR>Organization(If not Nanotrasen): <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=4'>write</A></font></span><BR>Date: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=5'>write</A></font></span><BR><BR><BR><BR>Requested Item(s): <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=6'>write</A></font></span><BR>Quantity: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=7'>write</A></font></span><BR>Reason for request: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=8'>write</A></font></span><BR>Is this replacement equipment?: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=9'>write</A></font></span><BR>If `Yes` above, specify equiment and reason for replacement: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=10'>write</A></font></span><BR><BR><BR><center><B>Authorization</B></center><BR><BR>Authorizing Department: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=11'>write</A></font></span><BR>Authorizing Dept. Head: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=12'>write</A></font></span><BR><BR><BR><center><B>Contact and Delivery</B></center><BR><BR>EPv2 Address of requesting party(Do not leave blank): <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=13'>write</A></font></span><BR>Delivery location or department: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=14'>write</A></font></span><BR><BR><BR>Nanotrasen Employee Identification Number: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=15'>write</A></font></span><BR><U>Signature of Requester and Date</U><BR><BR><span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=16'>write</A></font></span><BR><BR><BR><BR>Authorizor`s Nanotrasen Employee Identification Number: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=17'>write</A></font></span><BR><U>Authorizing Signature and Date(Include authorizing department`s stamp below)</U><BR><BR><span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=18'>write</A></font></span><BR><BR><BR><center><B>Shipping Department Only</B></center><BR><center><I>(Do not write below this line)</I></center><BR>Nanotrasen Purchasing Approval Code: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=19'>write</A></font></span><BR>Nanotrasen Employee Identification Number: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=20'>write</A></font></span><BR>Receiving Shipping Employee: <span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=21'>write</A></font></span><BR><U>Signature and Date</U><BR><BR><span class="paper_field"><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=22'>write</A></font></span><BR></b></font><font face="Verdana"><A href='byond://?src=[0x2057e0c];write=end'>write</A></font>"}
|
||||
|
||||
/obj/item/paper/carbon/cursedform/AltClick() // No fun.
|
||||
/obj/item/paper/carbon/cursedform/click_alt() // No fun.
|
||||
return
|
||||
|
||||
/obj/item/paper/carbon/cursedform/burnpaper(obj/item/flame/P, mob/user)
|
||||
|
||||
@@ -226,11 +226,11 @@
|
||||
sleep(5)
|
||||
target.filters -= filter(type="blur", size = 0)
|
||||
|
||||
/obj/item/telecube/CtrlClick(mob/user)
|
||||
/obj/item/telecube/item_ctrl_click(mob/user)
|
||||
if(Adjacent(user) && teleport_to_mate(user))
|
||||
cooldown(mate_too = FALSE)
|
||||
|
||||
/obj/item/telecube/AltClick(mob/user)
|
||||
/obj/item/telecube/click_alt(mob/user)
|
||||
if(Adjacent(user) && swap_with_mate())
|
||||
cooldown(mate_too = TRUE)
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
last_passive_use = world.time
|
||||
blob_type.on_chunk_tick(src)
|
||||
|
||||
/obj/item/blobcore_chunk/AltClick(mob/living/carbon/user)
|
||||
/obj/item/blobcore_chunk/click_alt(mob/living/carbon/user)
|
||||
if(blob_type && blob_type.chunk_active_type == BLOB_CHUNK_TOGGLE)
|
||||
should_tick = !should_tick
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers)
|
||||
|
||||
|
||||
|
||||
/obj/item/cataloguer/AltClick(mob/user)
|
||||
/obj/item/cataloguer/click_alt(mob/user)
|
||||
pulse_scan(user)
|
||||
|
||||
// Gives everything capable of being scanned an outline for a brief moment.
|
||||
|
||||
@@ -60,36 +60,38 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
|
||||
// Rate limiting
|
||||
var/mtl = CONFIG_GET(number/minute_topic_limit)
|
||||
if (!check_rights_for(src, R_HOLDER) && mtl)
|
||||
var/minute = round(world.time, 600)
|
||||
if (!topiclimiter)
|
||||
topiclimiter = new(LIMITER_SIZE)
|
||||
if (minute != topiclimiter[CURRENT_MINUTE])
|
||||
topiclimiter[CURRENT_MINUTE] = minute
|
||||
topiclimiter[MINUTE_COUNT] = 0
|
||||
topiclimiter[MINUTE_COUNT] += 1
|
||||
if (topiclimiter[MINUTE_COUNT] > mtl)
|
||||
var/msg = "Your previous action was ignored because you've done too many in a minute."
|
||||
if (minute != topiclimiter[ADMINSWARNED_AT]) //only one admin message per-minute. (if they spam the admins can just boot/ban them)
|
||||
topiclimiter[ADMINSWARNED_AT] = minute
|
||||
msg += " Administrators have been informed."
|
||||
log_game("[key_name(src)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute")
|
||||
message_admins("[ADMIN_LOOKUPFLW(usr)] [ADMIN_KICK(usr)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute")
|
||||
to_chat(src, span_danger("[msg]"))
|
||||
return
|
||||
if(href_list["window_id"] != "statbrowser") //Deviation from TG. Our statbrowser has so many commands that logging in as a borg can cause it to rate limit you. This needs fixing eventually.
|
||||
if (!check_rights_for(src, R_HOLDER) && mtl)
|
||||
var/minute = round(world.time, 600)
|
||||
if (!topiclimiter)
|
||||
topiclimiter = new(LIMITER_SIZE)
|
||||
if (minute != topiclimiter[CURRENT_MINUTE])
|
||||
topiclimiter[CURRENT_MINUTE] = minute
|
||||
topiclimiter[MINUTE_COUNT] = 0
|
||||
if(href_list["window_id"] != "statbrowser")
|
||||
topiclimiter[MINUTE_COUNT] += 1
|
||||
if (topiclimiter[MINUTE_COUNT] > mtl)
|
||||
var/msg = "Your previous action was ignored because you've done too many in a minute."
|
||||
if (minute != topiclimiter[ADMINSWARNED_AT]) //only one admin message per-minute. (if they spam the admins can just boot/ban them)
|
||||
topiclimiter[ADMINSWARNED_AT] = minute
|
||||
msg += " Administrators have been informed."
|
||||
log_game("[key_name(src)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute")
|
||||
message_admins("[ADMIN_LOOKUPFLW(usr)] [ADMIN_KICK(usr)] Has hit the per-minute topic limit of [mtl] topic calls in a given game minute")
|
||||
to_chat(src, span_danger("[msg]"))
|
||||
return
|
||||
|
||||
var/stl = CONFIG_GET(number/second_topic_limit)
|
||||
if (!check_rights_for(src, R_HOLDER) && stl && href_list["window_id"] != "statbrowser")
|
||||
var/second = round(world.time, 10)
|
||||
if (!topiclimiter)
|
||||
topiclimiter = new(LIMITER_SIZE)
|
||||
if (second != topiclimiter[CURRENT_SECOND])
|
||||
topiclimiter[CURRENT_SECOND] = second
|
||||
topiclimiter[SECOND_COUNT] = 0
|
||||
topiclimiter[SECOND_COUNT] += 1
|
||||
if (topiclimiter[SECOND_COUNT] > stl)
|
||||
to_chat(src, span_danger("Your previous action was ignored because you've done too many in a second"))
|
||||
return
|
||||
var/stl = CONFIG_GET(number/second_topic_limit)
|
||||
if (!check_rights_for(src, R_HOLDER) && stl)
|
||||
var/second = round(world.time, 10)
|
||||
if (!topiclimiter)
|
||||
topiclimiter = new(LIMITER_SIZE)
|
||||
if (second != topiclimiter[CURRENT_SECOND])
|
||||
topiclimiter[CURRENT_SECOND] = second
|
||||
topiclimiter[SECOND_COUNT] = 0
|
||||
topiclimiter[SECOND_COUNT] += 1
|
||||
if (topiclimiter[SECOND_COUNT] > stl)
|
||||
to_chat(src, span_danger("Your previous action was ignored because you've done too many in a second"))
|
||||
return
|
||||
|
||||
//search the href for script injection
|
||||
if( findtext(href,"<script",1,0) )
|
||||
|
||||
@@ -493,7 +493,7 @@
|
||||
item_flags &= ~FLEXIBLEMATERIAL
|
||||
. = ..()
|
||||
|
||||
/obj/item/clothing/accessory/gaiter/AltClick(mob/user)
|
||||
/obj/item/clothing/accessory/gaiter/click_alt(mob/user)
|
||||
. = ..()
|
||||
if(breath_masked && breathmask)
|
||||
to_chat(user, span_notice("You pull [breathmask] out from behind [src], and it drops to your feet."))
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
/obj/item/gps/watch
|
||||
gps_tag = "SRV-WTCH"
|
||||
|
||||
/obj/item/clothing/accessory/watch/survival/AltClick(mob/user)
|
||||
/obj/item/clothing/accessory/watch/survival/click_alt(mob/user)
|
||||
. = ..()
|
||||
|
||||
if(Adjacent(user))
|
||||
|
||||
@@ -365,7 +365,7 @@ BLIND // can't see anything
|
||||
. = ..()
|
||||
. += to_chat(user, span_notice("Alt-click to toggle modes."))
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/bigshot/AltClick(mob/user)
|
||||
/obj/item/clothing/glasses/sunglasses/bigshot/click_alt(mob/user)
|
||||
set src in usr
|
||||
if(user.canmove && !user.stat && !user.restrained())
|
||||
if(src.ar)
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
/obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, actiontype)
|
||||
halt()
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/AltClick(mob/user)
|
||||
/obj/item/clothing/mask/gas/sechailer/click_alt(mob/user)
|
||||
selectphrase()
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/verb/selectphrase()
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
to_chat(H, span_info("You deploy your suit helmet, sealing you off from the world."))
|
||||
playsound(src.loc, 'sound/machines/click2.ogg', 75, 1)
|
||||
|
||||
/obj/item/clothing/suit/space/void/AltClick(mob/living/user)
|
||||
/obj/item/clothing/suit/space/void/click_alt(mob/living/user)
|
||||
eject_tank()
|
||||
|
||||
/obj/item/clothing/suit/space/void/verb/eject_tank()
|
||||
|
||||
@@ -1063,7 +1063,7 @@
|
||||
/obj/item/clothing/suit/caution/attack_self()
|
||||
toggle()
|
||||
|
||||
/obj/item/clothing/suit/caution/AltClick()
|
||||
/obj/item/clothing/suit/caution/click_alt()
|
||||
toggle()
|
||||
|
||||
/obj/item/clothing/suit/caution/proc/toggle()
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
sample = null
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/microscope/AltClick()
|
||||
/obj/machinery/microscope/click_alt()
|
||||
remove_sample(usr)
|
||||
|
||||
/obj/machinery/microscope/MouseDrop(var/atom/other)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
interact(user)
|
||||
|
||||
|
||||
/obj/machinery/cash_register/AltClick(mob/user)
|
||||
/obj/machinery/cash_register/click_alt(mob/user)
|
||||
if(Adjacent(user))
|
||||
open_cash_box()
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
interact(user)
|
||||
|
||||
|
||||
/obj/item/retail_scanner/AltClick(var/mob/user)
|
||||
/obj/item/retail_scanner/click_alt(var/mob/user)
|
||||
if(Adjacent(user))
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
src.visible_message(span_notice("[user] slides the [W] over to [result]!"))
|
||||
next_result = 0
|
||||
|
||||
/obj/item/entrepreneur/spirit_board/AltClick(mob/living/carbon/user)
|
||||
/obj/item/entrepreneur/spirit_board/click_alt(mob/living/carbon/user)
|
||||
if(!istype(user)) //admins can be cheeky
|
||||
return 0
|
||||
next_result = tgui_input_list(user, "What should it land on next?", "Next result", possible_results)
|
||||
@@ -427,7 +427,7 @@
|
||||
rollertype = /obj/item/roller/massage
|
||||
bedtype = /obj/structure/bed/roller/massage
|
||||
|
||||
/obj/structure/bed/roller/massage/AltClick(mob/living/carbon/user)
|
||||
/obj/structure/bed/roller/massage/click_alt(mob/living/carbon/user)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
src.visible_message(span_notice("[user] turns the breaks off on the [src]!"))
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
. += span_notice("It has [Bait] hanging on its hook: ")
|
||||
. += Bait.examine(user)
|
||||
|
||||
/obj/item/material/fishing_rod/CtrlClick(mob/user)
|
||||
/obj/item/material/fishing_rod/item_ctrl_click(mob/user)
|
||||
if((src.loc == user || Adjacent(user)) && Bait)
|
||||
Bait.forceMove(get_turf(user))
|
||||
to_chat(user, span_notice("You remove the bait from \the [src]."))
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
playsound(src, 'sound/machines/click.ogg', 40, 1)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/appliance/AICtrlClick(mob/user)
|
||||
/obj/machinery/appliance/ctrl_click_ai(mob/user)
|
||||
attempt_toggle_power(user)
|
||||
|
||||
/obj/machinery/appliance/proc/choose_output()
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
return 1//Contains only a single object which can be extracted alone
|
||||
return 2//Contains multiple objects and/or reagents
|
||||
|
||||
/obj/item/reagent_containers/cooking_container/AltClick(var/mob/user)
|
||||
/obj/item/reagent_containers/cooking_container/click_alt(var/mob/user)
|
||||
do_empty(user)
|
||||
|
||||
//Deletes contents of container.
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
oven_loop.stop(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/appliance/cooker/oven/AltClick(var/mob/user)
|
||||
/obj/machinery/appliance/cooker/oven/click_alt(var/mob/user)
|
||||
try_toggle_door(user)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
|
||||
|
||||
@@ -253,10 +253,10 @@
|
||||
|
||||
user.visible_message(span_notice("\The [user] searches for specific cards in \the [src], and draws [cards_to_draw.len]."))
|
||||
|
||||
/obj/item/deck/CtrlClick(mob/user)
|
||||
/obj/item/deck/item_ctrl_click(mob/user)
|
||||
deal_card()
|
||||
|
||||
/obj/item/deck/CtrlShiftClick(mob/user)
|
||||
/obj/item/deck/click_ctrl_shift(mob/user)
|
||||
deal_card_multi()
|
||||
|
||||
/obj/item/deck/proc/deal_at(mob/user, mob/target, dcard) // Take in the no. of card to be dealt
|
||||
@@ -329,7 +329,7 @@
|
||||
else
|
||||
return
|
||||
|
||||
/obj/item/deck/AltClick(mob/user)
|
||||
/obj/item/deck/click_alt(mob/user)
|
||||
if(user.stat || !Adjacent(user))
|
||||
return
|
||||
shuffle(user)
|
||||
@@ -569,10 +569,10 @@
|
||||
..()
|
||||
src.update_icon()
|
||||
|
||||
/obj/item/hand/CtrlClick(mob/user)
|
||||
/obj/item/hand/item_ctrl_click(mob/user)
|
||||
if(user.stat || !Adjacent(user))
|
||||
return
|
||||
discard()
|
||||
|
||||
/obj/item/hand/AltClick(mob/user)
|
||||
/obj/item/hand/click_alt(mob/user)
|
||||
Removecard()
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
desc = "[initial(desc)] It looks a little misshapen, somehow..."
|
||||
loaded = to_weight
|
||||
|
||||
/obj/item/dice/AltClick(mob/user)
|
||||
/obj/item/dice/click_alt(mob/user)
|
||||
..()
|
||||
if(cheater)
|
||||
if(!loaded)
|
||||
@@ -141,7 +141,7 @@
|
||||
icon_state = "[name][result]"
|
||||
user.visible_message(span_notice("\The [user] turned \the [src] to the face reading [result] manually."))
|
||||
|
||||
/obj/item/dice/CtrlClick(mob/user)
|
||||
/obj/item/dice/item_ctrl_click(mob/user)
|
||||
set_dice(user)
|
||||
|
||||
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
REAGENT_ID_PITCHERNECTAR = 1
|
||||
)
|
||||
|
||||
/obj/machinery/portable_atmospherics/hydroponics/AltClick(var/mob/living/user)
|
||||
/obj/machinery/portable_atmospherics/hydroponics/click_alt(var/mob/living/user)
|
||||
if(!istype(user))
|
||||
return
|
||||
if(mechanical && !user.incapacitated() && Adjacent(user))
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
if(IC)
|
||||
. += IC.examine(user)
|
||||
|
||||
/obj/item/clothing/CtrlShiftClick(mob/user)
|
||||
/obj/item/clothing/click_ctrl_shift(mob/user)
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T.AdjacentQuick(user)) // So people aren't messing with these from across the room
|
||||
return FALSE
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
/obj/item/walkpod/proc/update_music()
|
||||
listener?.force_music(media_url, media_start_time, volume) // Calling this with "" url (when we aren't playing) helpfully disables forced music
|
||||
|
||||
/obj/item/walkpod/AltClick(mob/living/L)
|
||||
/obj/item/walkpod/click_alt(mob/living/L)
|
||||
if(L == listener && check_listener())
|
||||
tgui_interact(L)
|
||||
else if(loc == L) // at least they're holding it
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
scan_time = 0.5 SECONDS
|
||||
exact = TRUE
|
||||
|
||||
/obj/item/mining_scanner/advanced/AltClick(mob/user)
|
||||
/obj/item/mining_scanner/advanced/click_alt(mob/user)
|
||||
change_size()
|
||||
|
||||
/obj/item/mining_scanner/advanced/verb/change_size()
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
var/digspeed = 40
|
||||
var/grave_mode = FALSE
|
||||
|
||||
/obj/item/shovel/AltClick(mob/user)
|
||||
/obj/item/shovel/click_alt(mob/user)
|
||||
grave_mode = !grave_mode
|
||||
to_chat(user, span_notice("You'll now dig [grave_mode ? "out graves" : "for loot"]."))
|
||||
. = ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
var/icon_state_closed = "laptop-closed"
|
||||
|
||||
/obj/item/modular_computer/laptop/AltClick(mob/living/carbon/user)
|
||||
/obj/item/modular_computer/laptop/click_alt(mob/living/carbon/user)
|
||||
// We need to be close to it to open it
|
||||
if((!in_range(src, user)) || user.stat || user.restrained())
|
||||
return
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
icon_state = "greetingcard"
|
||||
slot_flags = null //no fun allowed!!!!
|
||||
|
||||
/obj/item/paper/card/AltClick() //No fun allowed
|
||||
/obj/item/paper/card/click_alt() //No fun allowed
|
||||
return
|
||||
|
||||
/obj/item/paper/card/update_icon()
|
||||
@@ -89,7 +89,7 @@
|
||||
/obj/item/paper/alien/burnpaper()
|
||||
return
|
||||
|
||||
/obj/item/paper/alien/AltClick() // No airplanes for me.
|
||||
/obj/item/paper/alien/click_alt() // No airplanes for me.
|
||||
return
|
||||
|
||||
//lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
E.damage += 2.5
|
||||
H.emote("scream")
|
||||
|
||||
/obj/item/paper/AltClick(mob/living/carbon/user, obj/item/I)
|
||||
/obj/item/paper/click_alt(mob/living/carbon/user, obj/item/I)
|
||||
if ( istype(user) )
|
||||
if( (!in_range(src, user)) || user.stat || user.restrained() )
|
||||
return
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
var/selectedColor = 1
|
||||
var/colors = list("black","blue","red")
|
||||
|
||||
/obj/item/pen/AltClick(mob/user)
|
||||
/obj/item/pen/click_alt(mob/user)
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
to_chat(user, span_notice("Click."))
|
||||
@@ -181,7 +181,7 @@
|
||||
active_icon_state = "[icon_state]-x"
|
||||
default_icon_state = icon_state
|
||||
|
||||
/obj/item/pen/blade/AltClick(mob/user)
|
||||
/obj/item/pen/blade/click_alt(mob/user)
|
||||
..()
|
||||
if(active)
|
||||
deactivate(user)
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
if(Adjacent(user))
|
||||
. += "The time [stationtime2text()] is displayed in the corner of the screen."
|
||||
|
||||
/obj/item/pda/CtrlClick(mob/user)
|
||||
/obj/item/pda/item_ctrl_click(mob/user)
|
||||
if(can_use(user) && !issilicon(user))
|
||||
remove_pen()
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/pda/AltClick(mob/user)
|
||||
/obj/item/pda/click_alt(mob/user)
|
||||
if(issilicon(user))
|
||||
return
|
||||
|
||||
|
||||
@@ -702,7 +702,7 @@ GLOBAL_LIST_EMPTY(apcs)
|
||||
else
|
||||
to_chat(user, span_warning("Access denied."))
|
||||
|
||||
/obj/machinery/power/apc/AltClick(mob/user)
|
||||
/obj/machinery/power/apc/click_alt(mob/user)
|
||||
..()
|
||||
togglelock(user)
|
||||
|
||||
|
||||
@@ -265,7 +265,7 @@ GLOBAL_LIST_EMPTY(magazine_icondata_states)
|
||||
drop_sound = 'sound/items/drop/matchbox.ogg'
|
||||
pickup_sound = 'sound/items/pickup/matchbox.ogg'
|
||||
|
||||
/obj/item/ammo_magazine/ammo_box/AltClick(mob/user)
|
||||
/obj/item/ammo_magazine/ammo_box/click_alt(mob/user)
|
||||
if(can_remove_ammo)
|
||||
if(isliving(user) && Adjacent(user))
|
||||
if(stored_ammo.len)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
var/flight_x_offset = 0
|
||||
var/flight_y_offset = 0
|
||||
|
||||
/obj/item/gun/CtrlClick(mob/user)
|
||||
/obj/item/gun/item_ctrl_click(mob/user)
|
||||
if(can_flashlight && ishuman(user) && loc == user && !user.incapacitated(INCAPACITATION_ALL))
|
||||
toggle_flashlight()
|
||||
else
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
else
|
||||
set_light(0)
|
||||
|
||||
/obj/item/melee/robotic/blade/AltClick(mob/living/user)
|
||||
/obj/item/melee/robotic/blade/click_alt(mob/living/user)
|
||||
if(!in_range(src, user)) //Basic checks to prevent abuse
|
||||
return
|
||||
if(user.incapacitated() || !istype(user))
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/gun/projectile/smartgun/AltClick(mob/user)
|
||||
/obj/item/gun/projectile/smartgun/click_alt(mob/user)
|
||||
if(ishuman(user) && !user.incapacitated() && Adjacent(user))
|
||||
if(cycling)
|
||||
to_chat(user, span_warning("[src] is still cycling!"))
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
to_chat(user, span_warning("The alembic is already boiling!"))
|
||||
return
|
||||
|
||||
/obj/machinery/alembic/AltClick(mob/user)
|
||||
/obj/machinery/alembic/click_alt(mob/user)
|
||||
if(potion_reagent == 0)
|
||||
to_chat(user, span_warning("There is nothing in the alembic!"))
|
||||
return
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
/obj/structure/reagent_dispensers/blob_act()
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/reagent_dispensers/AltClick(mob/user)
|
||||
/obj/structure/reagent_dispensers/click_alt(mob/user)
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
holdingitems += O
|
||||
return 0
|
||||
|
||||
/obj/machinery/reagentgrinder/AltClick(mob/user)
|
||||
/obj/machinery/reagentgrinder/click_alt(mob/user)
|
||||
. = ..()
|
||||
if(user.incapacitated() || !Adjacent(user))
|
||||
return
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/machinery/injector_maker/AltClick(mob/user)
|
||||
/obj/machinery/injector_maker/click_alt(mob/user)
|
||||
. = ..()
|
||||
if(beaker)
|
||||
if(!user.incapacitated() && Adjacent(user))
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
balloon_alert(user, "\The [W] burns the blood in \the [src].")
|
||||
B.changling_blood_test(reagents)
|
||||
|
||||
/obj/item/reagent_containers/AltClick(mob/user)
|
||||
/obj/item/reagent_containers/click_alt(mob/user)
|
||||
. = ..()
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
|
||||
@@ -255,17 +255,15 @@
|
||||
add_overlay(hose_overlay)
|
||||
break
|
||||
|
||||
/obj/item/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user)
|
||||
/obj/item/reagent_containers/spray/chemsprayer/hosed/click_alt(mob/living/carbon/user)
|
||||
if(++spray_particles > 3) spray_particles = 1
|
||||
|
||||
balloon_alert(user, "dial turned to [spray_particles].")
|
||||
return
|
||||
|
||||
/obj/item/reagent_containers/spray/chemsprayer/hosed/CtrlClick(var/mob/user)
|
||||
/obj/item/reagent_containers/spray/chemsprayer/hosed/item_ctrl_click(mob/user)
|
||||
if(loc != get_turf(src))
|
||||
heavy_spray = !heavy_spray
|
||||
else
|
||||
. = ..()
|
||||
|
||||
/obj/item/reagent_containers/spray/chemsprayer/hosed/Spray_at(atom/A as mob|obj, mob/user)
|
||||
update_icon()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
if(!reskin_ran)
|
||||
. += span_notice("[src]'s external casing can be modified via alt-click.")
|
||||
|
||||
/obj/item/storage/part_replacer/AltClick(mob/user)
|
||||
/obj/item/storage/part_replacer/click_alt(mob/user)
|
||||
. = ..()
|
||||
if(!reskin_ran)
|
||||
reskin_radial(user)
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/vehicle/bike/CtrlClick(var/mob/user)
|
||||
/obj/vehicle/bike/click_ctrl(mob/user)
|
||||
if(Adjacent(user) && anchored)
|
||||
toggle()
|
||||
else
|
||||
@@ -78,7 +78,7 @@
|
||||
turn_off()
|
||||
src.visible_message("\The [src] putters before turning off.", "You hear something putter slowly.")
|
||||
|
||||
/obj/vehicle/bike/AltClick(var/mob/user)
|
||||
/obj/vehicle/bike/click_alt(var/mob/user)
|
||||
if(Adjacent(user))
|
||||
kickstand(user)
|
||||
else
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
. += "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%"
|
||||
|
||||
|
||||
/obj/vehicle/train/engine/CtrlClick(var/mob/user)
|
||||
/obj/vehicle/train/engine/click_ctrl(mob/user)
|
||||
if(Adjacent(user))
|
||||
if(on)
|
||||
stop_engine()
|
||||
@@ -214,7 +214,7 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/train/engine/AltClick(var/mob/user)
|
||||
/obj/vehicle/train/engine/click_alt(var/mob/user)
|
||||
if(Adjacent(user))
|
||||
remove_key()
|
||||
else
|
||||
|
||||
@@ -1931,7 +1931,7 @@ Departamental Swimsuits, for general use
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/fluff/nikki/AltClick(mob/user)
|
||||
/obj/item/clothing/head/fluff/nikki/click_alt(mob/user)
|
||||
if (translocator && (user.get_inactive_hand() == src))
|
||||
translocator_unequip(translocator, user)
|
||||
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
|
||||
//Alt click to activate size trading
|
||||
|
||||
/obj/item/slow_sizegun/AltClick(mob/user)
|
||||
/obj/item/slow_sizegun/click_alt(mob/user)
|
||||
if (trading == 0)
|
||||
trading = 1
|
||||
to_chat(user, span_notice("\The [src] will now trade your targets size for your own."))
|
||||
|
||||
Reference in New Issue
Block a user