mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 18:11:47 +00:00
Fixes some missing adjancency checks. (#44020)
This commit is contained in:
@@ -142,6 +142,8 @@
|
|||||||
ui.open()
|
ui.open()
|
||||||
|
|
||||||
/obj/machinery/sleeper/AltClick(mob/user)
|
/obj/machinery/sleeper/AltClick(mob/user)
|
||||||
|
if(!user.canUseTopic(src, !issilicon(user)))
|
||||||
|
return
|
||||||
if(state_open)
|
if(state_open)
|
||||||
close_machine()
|
close_machine()
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
|
|
||||||
/obj/machinery/aug_manipulator/AltClick(mob/living/user)
|
/obj/machinery/aug_manipulator/AltClick(mob/living/user)
|
||||||
..()
|
..()
|
||||||
if(!user.canUseTopic(src))
|
if(!user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
eject_part(user)
|
eject_part(user)
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
/obj/machinery/computer/apc_control/Topic(href, href_list)
|
/obj/machinery/computer/apc_control/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
if(!usr || !usr.canUseTopic(src) || stat || QDELETED(src))
|
if(!usr || !usr.canUseTopic(src, !issilicon(usr)) || stat || QDELETED(src))
|
||||||
return
|
return
|
||||||
if(href_list["authenticate"])
|
if(href_list["authenticate"])
|
||||||
var/obj/item/card/id/ID = usr.get_idcard(TRUE)
|
var/obj/item/card/id/ID = usr.get_idcard(TRUE)
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
if(href_list["name_filter"])
|
if(href_list["name_filter"])
|
||||||
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
||||||
var/new_filter = stripped_input(usr, "What name are you looking for?", name)
|
var/new_filter = stripped_input(usr, "What name are you looking for?", name)
|
||||||
if(!src || !usr || !usr.canUseTopic(src) || stat || QDELETED(src))
|
if(!src || !usr || !usr.canUseTopic(src, !issilicon(usr)) || stat || QDELETED(src))
|
||||||
return
|
return
|
||||||
log_activity("changed name filter to \"[new_filter]\"")
|
log_activity("changed name filter to \"[new_filter]\"")
|
||||||
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
|
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
if(href_list["above_filter"])
|
if(href_list["above_filter"])
|
||||||
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
||||||
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (greater than).", name) as null|num
|
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (greater than).", name) as null|num
|
||||||
if(!src || !usr || !usr.canUseTopic(src) || stat || QDELETED(src))
|
if(!src || !usr || !usr.canUseTopic(src, !issilicon(usr)) || stat || QDELETED(src))
|
||||||
return
|
return
|
||||||
log_activity("changed greater than charge filter to \"[new_filter]\"")
|
log_activity("changed greater than charge filter to \"[new_filter]\"")
|
||||||
if(new_filter)
|
if(new_filter)
|
||||||
@@ -157,7 +157,7 @@
|
|||||||
if(href_list["below_filter"])
|
if(href_list["below_filter"])
|
||||||
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
|
||||||
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (lesser than).", name) as null|num
|
var/new_filter = input(usr, "Enter a percentage from 1-100 to sort by (lesser than).", name) as null|num
|
||||||
if(!src || !usr || !usr.canUseTopic(src) || stat || QDELETED(src))
|
if(!src || !usr || !usr.canUseTopic(src, !issilicon(usr)) || stat || QDELETED(src))
|
||||||
return
|
return
|
||||||
log_activity("changed lesser than charge filter to \"[new_filter]\"")
|
log_activity("changed lesser than charge filter to \"[new_filter]\"")
|
||||||
if(new_filter)
|
if(new_filter)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
/obj/machinery/computer/communications/Topic(href, href_list)
|
/obj/machinery/computer/communications/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
if(!usr.canUseTopic(src))
|
if(!usr.canUseTopic(src, !issilicon(usr)))
|
||||||
return
|
return
|
||||||
if(!is_station_level(z) && !is_reserved_level(z)) //Can only use in transit and on SS13
|
if(!is_station_level(z) && !is_reserved_level(z)) //Can only use in transit and on SS13
|
||||||
to_chat(usr, "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!")
|
to_chat(usr, "<span class='boldannounce'>Unable to establish a connection</span>: \black You're too far away from the station!")
|
||||||
@@ -708,7 +708,7 @@
|
|||||||
to_chat(user, "Intercomms recharging. Please stand by.")
|
to_chat(user, "Intercomms recharging. Please stand by.")
|
||||||
return
|
return
|
||||||
var/input = stripped_input(user, "Please choose a message to announce to the station crew.", "What?")
|
var/input = stripped_input(user, "Please choose a message to announce to the station crew.", "What?")
|
||||||
if(!input || !user.canUseTopic(src))
|
if(!input || !user.canUseTopic(src, !issilicon(usr)))
|
||||||
return
|
return
|
||||||
SScommunications.make_announcement(user, is_silicon, input)
|
SScommunications.make_announcement(user, is_silicon, input)
|
||||||
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> made a priority announcement from <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", user)
|
deadchat_broadcast("<span class='deadsay'><span class='name'>[user.real_name]</span> made a priority announcement from <span class='name'>[get_area_name(usr, TRUE)]</span>.</span>", user)
|
||||||
|
|||||||
@@ -583,7 +583,7 @@
|
|||||||
if(user)
|
if(user)
|
||||||
if(message)
|
if(message)
|
||||||
if(authenticated)
|
if(authenticated)
|
||||||
if(user.canUseTopic(src))
|
if(user.canUseTopic(src, BE_CLOSE))
|
||||||
if(!record1 || record1 == active1)
|
if(!record1 || record1 == active1)
|
||||||
if(!record2 || record2 == active2)
|
if(!record2 || record2 == active2)
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -816,7 +816,7 @@ What a mess.*/
|
|||||||
/obj/machinery/computer/secure_data/proc/canUseSecurityRecordsConsole(mob/user, message1 = 0, record1, record2)
|
/obj/machinery/computer/secure_data/proc/canUseSecurityRecordsConsole(mob/user, message1 = 0, record1, record2)
|
||||||
if(user)
|
if(user)
|
||||||
if(authenticated)
|
if(authenticated)
|
||||||
if(user.canUseTopic(src))
|
if(user.canUseTopic(src, BE_CLOSE))
|
||||||
if(!trim(message1))
|
if(!trim(message1))
|
||||||
return 0
|
return 0
|
||||||
if(!record1 || record1 == active1)
|
if(!record1 || record1 == active1)
|
||||||
@@ -825,7 +825,7 @@ What a mess.*/
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
/obj/machinery/computer/secure_data/AltClick(mob/user)
|
/obj/machinery/computer/secure_data/AltClick(mob/user)
|
||||||
if(user.canUseTopic(src))
|
if(user.canUseTopic(src, !issilicon(user)))
|
||||||
eject_id(user)
|
eject_id(user)
|
||||||
|
|
||||||
/obj/machinery/computer/secure_data/proc/eject_id(mob/user)
|
/obj/machinery/computer/secure_data/proc/eject_id(mob/user)
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
last_stasis_sound = _running
|
last_stasis_sound = _running
|
||||||
|
|
||||||
/obj/machinery/stasis/AltClick(mob/user)
|
/obj/machinery/stasis/AltClick(mob/user)
|
||||||
if(world.time >= stasis_can_toggle && user.canUseTopic(src))
|
if(world.time >= stasis_can_toggle && user.canUseTopic(src, !issilicon(user)))
|
||||||
stasis_enabled = !stasis_enabled
|
stasis_enabled = !stasis_enabled
|
||||||
stasis_can_toggle = world.time + STASIS_TOGGLE_COOLDOWN
|
stasis_can_toggle = world.time + STASIS_TOGGLE_COOLDOWN
|
||||||
playsound(src, 'sound/machines/click.ogg', 60, TRUE)
|
playsound(src, 'sound/machines/click.ogg', 60, TRUE)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
to_chat(user, "<span class='notice'>Alt-click it to start a wash cycle.</span>")
|
to_chat(user, "<span class='notice'>Alt-click it to start a wash cycle.</span>")
|
||||||
|
|
||||||
/obj/machinery/washing_machine/AltClick(mob/user)
|
/obj/machinery/washing_machine/AltClick(mob/user)
|
||||||
if(!user.canUseTopic(src))
|
if(!user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
|
|
||||||
if(busy)
|
if(busy)
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
|||||||
/obj/item/pipe_dispenser/ui_act(action, params)
|
/obj/item/pipe_dispenser/ui_act(action, params)
|
||||||
if(..())
|
if(..())
|
||||||
return
|
return
|
||||||
if(!usr.canUseTopic(src))
|
if(!usr.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
var/playeffect = TRUE
|
var/playeffect = TRUE
|
||||||
switch(action)
|
switch(action)
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
to_chat(user, "<span class='warning'>Take the cap off first!</span>")
|
to_chat(user, "<span class='warning'>Take the cap off first!</span>")
|
||||||
return
|
return
|
||||||
var/new_appearance = input(user, "Choose a new appearance for [src].", "26th Century Deception") as null|anything in possible_appearances
|
var/new_appearance = input(user, "Choose a new appearance for [src].", "26th Century Deception") as null|anything in possible_appearances
|
||||||
if(!new_appearance || !crayon || !user.canUseTopic(src))
|
if(!new_appearance || !crayon || !user.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
if(!do_after(user, 10, FALSE, src, TRUE))
|
if(!do_after(user, 10, FALSE, src, TRUE))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ GENE SCANNER
|
|||||||
/obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens
|
/obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens
|
||||||
..()
|
..()
|
||||||
|
|
||||||
if(user.canUseTopic(src))
|
if(user.canUseTopic(src, BE_CLOSE))
|
||||||
|
|
||||||
if(cooldown)
|
if(cooldown)
|
||||||
to_chat(user, "<span class='warning'>[src]'s barometer function is preparing itself.</span>")
|
to_chat(user, "<span class='warning'>[src]'s barometer function is preparing itself.</span>")
|
||||||
|
|||||||
@@ -99,7 +99,7 @@
|
|||||||
|
|
||||||
/obj/item/transfer_valve/Topic(href, href_list)
|
/obj/item/transfer_valve/Topic(href, href_list)
|
||||||
..()
|
..()
|
||||||
if(!usr.canUseTopic(src))
|
if(!usr.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
if(tank_one && href_list["tankone"])
|
if(tank_one && href_list["tankone"])
|
||||||
split_gases()
|
split_gases()
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning",
|
|||||||
H << browse(dat, "window=editicon;can_close=0;can_minimize=0;size=250x650")
|
H << browse(dat, "window=editicon;can_close=0;can_minimize=0;size=250x650")
|
||||||
|
|
||||||
/obj/item/storage/book/bible/Topic(href, href_list)
|
/obj/item/storage/book/bible/Topic(href, href_list)
|
||||||
if(!usr.canUseTopic(src))
|
if(!usr.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
if(href_list["seticon"] && SSreligion && !SSreligion.bible_icon_state)
|
if(href_list["seticon"] && SSreligion && !SSreligion.bible_icon_state)
|
||||||
var/iconi = text2num(href_list["seticon"])
|
var/iconi = text2num(href_list["seticon"])
|
||||||
|
|||||||
@@ -417,7 +417,7 @@
|
|||||||
/obj/structure/closet/CtrlShiftClick(mob/living/user)
|
/obj/structure/closet/CtrlShiftClick(mob/living/user)
|
||||||
if(!HAS_TRAIT(user, TRAIT_SKITTISH))
|
if(!HAS_TRAIT(user, TRAIT_SKITTISH))
|
||||||
return ..()
|
return ..()
|
||||||
if(!user.canUseTopic(src) || !isturf(user.loc))
|
if(!user.canUseTopic(src, BE_CLOSE) || !isturf(user.loc))
|
||||||
return
|
return
|
||||||
dive_into(user)
|
dive_into(user)
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ FLOOR SAFES
|
|||||||
return
|
return
|
||||||
var/mob/living/carbon/human/user = usr
|
var/mob/living/carbon/human/user = usr
|
||||||
|
|
||||||
if(!user.canUseTopic(src))
|
if(!user.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
|
|
||||||
var/canhear = FALSE
|
var/canhear = FALSE
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
var/mob/user = usr
|
var/mob/user = usr
|
||||||
|
|
||||||
if(!user.canUseTopic(src))
|
if(!user.canUseTopic(src, BE_CLOSE))
|
||||||
usr << browse(null, "window=hscan")
|
usr << browse(null, "window=hscan")
|
||||||
onclose(usr, "hscan")
|
onclose(usr, "hscan")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -132,7 +132,7 @@
|
|||||||
if(!active)
|
if(!active)
|
||||||
if(alert(user, "Turning the scrambler on will make the shuttle trackable by GPS. Are you sure you want to do it?", "Scrambler", "Yes", "Cancel") == "Cancel")
|
if(alert(user, "Turning the scrambler on will make the shuttle trackable by GPS. Are you sure you want to do it?", "Scrambler", "Yes", "Cancel") == "Cancel")
|
||||||
return
|
return
|
||||||
if(active || !user.canUseTopic(src))
|
if(active || !user.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
toggle_on(user)
|
toggle_on(user)
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -447,4 +447,4 @@
|
|||||||
|
|
||||||
/datum/export/pirate/holochip/get_cost(atom/movable/AM)
|
/datum/export/pirate/holochip/get_cost(atom/movable/AM)
|
||||||
var/obj/item/holochip/H = AM
|
var/obj/item/holochip/H = AM
|
||||||
return H.credits
|
return H.credits
|
||||||
|
|||||||
@@ -188,13 +188,13 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/machinery/microwave/AltClick(mob/user)
|
/obj/machinery/microwave/AltClick(mob/user)
|
||||||
if(user.canUseTopic(src, BE_CLOSE))
|
if(user.canUseTopic(src, !issilicon(usr)))
|
||||||
cook()
|
cook()
|
||||||
|
|
||||||
/obj/machinery/microwave/ui_interact(mob/user)
|
/obj/machinery/microwave/ui_interact(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
if(operating || panel_open || !anchored || !user.canUseTopic(src))
|
if(operating || panel_open || !anchored || !user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
if(isAI(user) && (stat & NOPOWER))
|
if(isAI(user) && (stat & NOPOWER))
|
||||||
return
|
return
|
||||||
@@ -209,7 +209,7 @@
|
|||||||
var/choice = show_radial_menu(user, src, isAI(user) ? ai_radial_options : radial_options, require_near = !issilicon(user))
|
var/choice = show_radial_menu(user, src, isAI(user) ? ai_radial_options : radial_options, require_near = !issilicon(user))
|
||||||
|
|
||||||
// post choice verification
|
// post choice verification
|
||||||
if(operating || panel_open || !anchored || !user.canUseTopic(src))
|
if(operating || panel_open || !anchored || !user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
if(isAI(user) && (stat & NOPOWER))
|
if(isAI(user) && (stat & NOPOWER))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -700,7 +700,7 @@
|
|||||||
to_chat(src, "<span class='warning'>You can't do that right now!</span>")
|
to_chat(src, "<span class='warning'>You can't do that right now!</span>")
|
||||||
return FALSE
|
return FALSE
|
||||||
if(!Adjacent(M) && (M.loc != src))
|
if(!Adjacent(M) && (M.loc != src))
|
||||||
if((be_close == 0) || (!no_tk && (dna.check_mutation(TK) && tkMaxRangeCheck(src, M))))
|
if((be_close == FALSE) || (!no_tk && (dna.check_mutation(TK) && tkMaxRangeCheck(src, M))))
|
||||||
return TRUE
|
return TRUE
|
||||||
to_chat(src, "<span class='warning'>You are too far away!</span>")
|
to_chat(src, "<span class='warning'>You are too far away!</span>")
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|||||||
@@ -97,7 +97,7 @@
|
|||||||
if(issilicon(usr))
|
if(issilicon(usr))
|
||||||
return
|
return
|
||||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||||
if(usr.canUseTopic(src))
|
if(usr.canUseTopic(src, BE_CLOSE))
|
||||||
card_slot.try_eject(null, usr)
|
card_slot.try_eject(null, usr)
|
||||||
|
|
||||||
// Eject ID card from computer, if it has ID slot with card inside.
|
// Eject ID card from computer, if it has ID slot with card inside.
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
if(issilicon(usr))
|
if(issilicon(usr))
|
||||||
return
|
return
|
||||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||||
if(usr.canUseTopic(src))
|
if(usr.canUseTopic(src, BE_CLOSE))
|
||||||
ai_slot.try_eject(null, usr,1)
|
ai_slot.try_eject(null, usr,1)
|
||||||
|
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
if(issilicon(usr))
|
if(issilicon(usr))
|
||||||
return
|
return
|
||||||
|
|
||||||
if(usr.canUseTopic(src))
|
if(usr.canUseTopic(src, BE_CLOSE))
|
||||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||||
if(uninstall_component(portable_drive, usr))
|
if(uninstall_component(portable_drive, usr))
|
||||||
portable_drive.verb_pickup()
|
portable_drive.verb_pickup()
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
if(issilicon(user))
|
if(issilicon(user))
|
||||||
return
|
return
|
||||||
|
|
||||||
if(user.canUseTopic(src))
|
if(user.canUseTopic(src, BE_CLOSE))
|
||||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
|
|
||||||
/obj/item/modular_computer/MouseDrop(obj/over_object, src_location, over_location)
|
/obj/item/modular_computer/MouseDrop(obj/over_object, src_location, over_location)
|
||||||
var/mob/M = usr
|
var/mob/M = usr
|
||||||
if((!istype(over_object, /obj/screen)) && usr.canUseTopic(src))
|
if((!istype(over_object, /obj/screen)) && usr.canUseTopic(src, BE_CLOSE))
|
||||||
return attack_self(M)
|
return attack_self(M)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
return
|
return
|
||||||
if(!isturf(loc) && !ismob(loc)) // No opening it in backpack.
|
if(!isturf(loc) && !ismob(loc)) // No opening it in backpack.
|
||||||
return
|
return
|
||||||
if(!user.canUseTopic(src))
|
if(!user.canUseTopic(src, BE_CLOSE))
|
||||||
return
|
return
|
||||||
|
|
||||||
toggle_open(user)
|
toggle_open(user)
|
||||||
|
|||||||
@@ -166,7 +166,7 @@
|
|||||||
/obj/machinery/reagentgrinder/ui_interact(mob/user) // The microwave Menu //I am reasonably certain that this is not a microwave
|
/obj/machinery/reagentgrinder/ui_interact(mob/user) // The microwave Menu //I am reasonably certain that this is not a microwave
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
if(operating || !user.canUseTopic(src))
|
if(operating || !user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
|
|
||||||
var/list/options = list()
|
var/list/options = list()
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
choice = show_radial_menu(user, src, options, require_near = !issilicon(user))
|
choice = show_radial_menu(user, src, options, require_near = !issilicon(user))
|
||||||
|
|
||||||
// post choice verification
|
// post choice verification
|
||||||
if(operating || (isAI(user) && stat & NOPOWER) || !user.canUseTopic(src))
|
if(operating || (isAI(user) && stat & NOPOWER) || !user.canUseTopic(src, !issilicon(user)))
|
||||||
return
|
return
|
||||||
|
|
||||||
switch(choice)
|
switch(choice)
|
||||||
|
|||||||
Reference in New Issue
Block a user