mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Admin interaction fixes
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
|
||||
if(get_dist(src, user) > 1 && (!issilicon(user) || !user.can_admin_interact()))
|
||||
if(get_dist(src, user) > 1 && (!issilicon(user) && !user.can_admin_interact()))
|
||||
to_chat(user, "<span class='warning'>Too far away.</span>")
|
||||
user.unset_machine()
|
||||
user << browse(null, "window=ai_slipper")
|
||||
@@ -69,7 +69,7 @@
|
||||
var/area/myarea = get_area(src)
|
||||
var/t = "<TT><B>AI Liquid Dispenser</B> ([myarea.name])<HR>"
|
||||
|
||||
if(locked && (!issilicon(user) || !user.can_admin_interact()))
|
||||
if(locked && (!issilicon(user) && !user.can_admin_interact()))
|
||||
t += "<I>(Swipe ID card to unlock control panel.)</I><BR>"
|
||||
else
|
||||
t += text("Dispenser [] - <A href='?src=[UID()];toggleOn=1'>[]?</a><br>\n", disabled ? "deactivated" : "activated", disabled ? "Enable" : "Disable")
|
||||
@@ -81,10 +81,11 @@
|
||||
/obj/machinery/ai_slipper/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
if(locked)
|
||||
if(!istype(usr, /mob/living/silicon))
|
||||
to_chat(usr, "Control panel is locked!")
|
||||
return
|
||||
|
||||
if(locked && (!issilicon(usr) && !usr.can_admin_interact()))
|
||||
to_chat(usr, "Control panel is locked!")
|
||||
return 1
|
||||
|
||||
if(href_list["toggleOn"])
|
||||
disabled = !disabled
|
||||
icon_state = disabled? "motion0":"motion3"
|
||||
|
||||
@@ -174,7 +174,8 @@
|
||||
nextstate = CLOSED
|
||||
|
||||
/obj/machinery/door/firedoor/attack_ghost(mob/user as mob)
|
||||
return attack_ai(user)
|
||||
if(user.can_advanced_admin_interact())
|
||||
return attack_ai(user)
|
||||
|
||||
/obj/machinery/door/firedoor/attack_ai(mob/user)
|
||||
if(operating || stat & NOPOWER)
|
||||
|
||||
@@ -821,7 +821,7 @@ Pass a positive integer as an argument to override a bot's default speed.
|
||||
return 1
|
||||
add_fingerprint(usr)
|
||||
|
||||
if((href_list["power"]) && (bot_core.allowed(usr) || !locked))
|
||||
if((href_list["power"]) && (bot_core.allowed(usr) || !locked || usr.can_admin_interact()))
|
||||
if(on)
|
||||
turn_off()
|
||||
else
|
||||
|
||||
@@ -204,7 +204,7 @@ Status: []<BR>
|
||||
Behaviour controls are [locked ? "locked" : "unlocked"]<BR>
|
||||
Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
text("<A href='?src=[UID()];power=1'>[on ? "On" : "Off"]</A>"))
|
||||
if(!locked || issilicon(user) || check_rights(R_ADMIN, 0, user))
|
||||
if(!locked || issilicon(user) || user.can_admin_interact())
|
||||
dat += text({"<BR>Cleans Blood: []<BR>"}, text("<A href='?src=[UID()];operation=blood'>[blood ? "Yes" : "No"]</A>"))
|
||||
dat += text({"<BR>Patrol station: []<BR>"}, text("<A href='?src=[UID()];operation=patrol'>[auto_patrol ? "Yes" : "No"]</A>"))
|
||||
return dat
|
||||
|
||||
@@ -106,7 +106,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]<BR>"},
|
||||
|
||||
"<A href='?src=[UID()];power=1'>[on ? "On" : "Off"]</A>" )
|
||||
|
||||
if(!locked || issilicon(user) || check_rights(R_ADMIN, 0, user))
|
||||
if(!locked || issilicon(user) || user.can_admin_interact())
|
||||
if(!lasercolor)
|
||||
dat += text({"<BR>
|
||||
Arrest Unidentifiable Persons: []<BR>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
dat += "Maintenance panel panel is [open ? "opened" : "closed"]<BR>"
|
||||
dat += "Tiles left: [amount]<BR>"
|
||||
dat += "Behvaiour controls are [locked ? "locked" : "unlocked"]<BR>"
|
||||
if(!locked || issilicon(user) || check_rights(R_ADMIN, 0, user))
|
||||
if(!locked || issilicon(user) || user.can_admin_interact())
|
||||
dat += "Add tiles to new hull plating: <A href='?src=[UID()];operation=autotile'>[autotile ? "Yes" : "No"]</A><BR>"
|
||||
dat += "Replace floor tiles: <A href='?src=[UID()];operation=replace'>[replacetiles ? "Yes" : "No"]</A><BR>"
|
||||
dat += "Finds tiles: <A href='?src=[UID()];operation=tiles'>[eattiles ? "Yes" : "No"]</A><BR>"
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
else
|
||||
dat += "None Loaded"
|
||||
dat += "<br>Behaviour controls are [locked ? "locked" : "unlocked"]<hr>"
|
||||
if(!locked || issilicon(user) || check_rights(R_ADMIN, 0, user))
|
||||
if(!locked || issilicon(user) || user.can_admin_interact())
|
||||
dat += "<TT>Healing Threshold: "
|
||||
dat += "<a href='?src=[UID()];adj_threshold=-10'>--</a> "
|
||||
dat += "<a href='?src=[UID()];adj_threshold=-5'>-</a> "
|
||||
|
||||
@@ -284,7 +284,7 @@
|
||||
dat += "<b>Destination:</b> [!destination ? "<i>none</i>" : destination]<BR>"
|
||||
dat += "<b>Power level:</b> [cell ? cell.percent() : 0]%"
|
||||
|
||||
if(locked && !ai && !check_rights(R_ADMIN, 0, user))
|
||||
if(locked && !ai && !user.can_admin_interact())
|
||||
dat += " <br /><div class='notice'>Controls are locked</div><A href='?src=[UID()];op=unlock'>Unlock Controls</A>"
|
||||
else
|
||||
dat += " <br /><div class='notice'>Controls are unlocked</div><A href='?src=[UID()];op=lock'>Lock Controls</A><BR><BR>"
|
||||
|
||||
@@ -119,7 +119,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
|
||||
"<A href='?src=[UID()];power=1'>[on ? "On" : "Off"]</A>" )
|
||||
|
||||
if(!locked || issilicon(user) || check_rights(R_ADMIN, 0, user))
|
||||
if(!locked || issilicon(user) || user.can_admin_interact())
|
||||
dat += text({"<BR>
|
||||
Arrest Unidentifiable Persons: []<BR>
|
||||
Arrest for Unauthorized Weapons: []<BR>
|
||||
|
||||
@@ -67,13 +67,14 @@ var/list/alldepartments = list()
|
||||
|
||||
/obj/machinery/photocopier/faxmachine/ui_data(mob/user, ui_key = "main", datum/topic_state/state = default_state)
|
||||
var/data[0]
|
||||
var/is_authenticated = is_authenticated(user)
|
||||
|
||||
if(scan)
|
||||
data["scan_name"] = scan.name
|
||||
else
|
||||
data["scan_name"] = "-----"
|
||||
data["authenticated"] = authenticated
|
||||
if(!authenticated)
|
||||
data["authenticated"] = is_authenticated
|
||||
if(!is_authenticated)
|
||||
data["network"] = "Disconnected"
|
||||
else if(!emagged)
|
||||
data["network"] = fax_network
|
||||
@@ -94,12 +95,20 @@ var/list/alldepartments = list()
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/photocopier/faxmachine/proc/is_authenticated(mob/user)
|
||||
if(authenticated)
|
||||
return TRUE
|
||||
else if(user.can_admin_interact())
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/photocopier/faxmachine/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
|
||||
|
||||
var/is_authenticated = is_authenticated(usr)
|
||||
if(href_list["send"])
|
||||
if(copyitem && authenticated)
|
||||
if(copyitem && is_authenticated)
|
||||
if((destination in admin_departments) || (destination in hidden_admin_departments))
|
||||
send_admin_fax(usr, destination)
|
||||
else
|
||||
@@ -131,7 +140,7 @@ var/list/alldepartments = list()
|
||||
scan()
|
||||
|
||||
if(href_list["dept"])
|
||||
if(authenticated)
|
||||
if(is_authenticated)
|
||||
var/lastdestination = destination
|
||||
var/list/combineddepartments = alldepartments
|
||||
if(long_range_enabled)
|
||||
@@ -148,7 +157,7 @@ var/list/alldepartments = list()
|
||||
if((!authenticated) && scan)
|
||||
if(check_access(scan))
|
||||
authenticated = 1
|
||||
else if(authenticated)
|
||||
else if(!authenticated)
|
||||
authenticated = 0
|
||||
|
||||
if(href_list["rename"])
|
||||
|
||||
Reference in New Issue
Block a user