[MIRROR] sort cyborg modules (#11390)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-08-11 06:02:44 -07:00
committed by GitHub
parent d70a05135c
commit 354766375a
8 changed files with 44 additions and 18 deletions

View File

@@ -81,6 +81,8 @@ _ADMIN_VERB(verb_path_name, verb_permissions, verb_name, verb_desc, verb_categor
#define ADMIN_CATEGORY_FUN "Admin.Fun"
#define ADMIN_CATEGORY_GAME "Admin.Game"
#define ADMIN_CATEGORY_SHUTTLE "Admin.Shuttle"
#define ADMIN_CATEGORY_LOGS "Admin.Logs"
#define ADMIN_CATEGORY_MISC "Admin.Misc"
// Special categories that are separated
#define ADMIN_CATEGORY_DEBUG "Debug"

View File

@@ -167,13 +167,13 @@
#define RND_SUBCATEGORY_MECHFAB_CYBORG_INTERNALS "/Internals"
#define RND_CATEGORY_MECHFAB_CYBORG_MODULES "/Cyborg Modules"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ALL "/All Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MEDICAL "/Medical Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ENGINEERING "/Engineering Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_JANITOR "/Janitorial Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_UTILITY "/Utility"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_BASIC "/Basic"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ADVANCED "/Advanced"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED "/Restricted"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SCIENCE "/Science Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SECURITY "/Security Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING "/Mining Cyborgs"
#define RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SERVICE "/Service Cyborgs"
#define RND_CATEGORY_PROSFAB "/Prosthetics"
#define RND_SUBCATEGORY_PROSFAB_EXTERNAL "/External"

View File

@@ -366,7 +366,7 @@ ADMIN_VERB(stealth, R_STEALTH, "Stealth Mode", "Toggle stealth.", "Admin.Game")
log_admin("[key_name(usr)] used 'kill air'.")
message_admins(span_blue("[key_name_admin(usr)] used 'kill air'."), 1)
ADMIN_VERB(deadmin, R_NONE, "DeAdmin", "Shed your admin powers.", ADMIN_CATEGORY_MAIN)
ADMIN_VERB(deadmin, R_NONE, "DeAdmin", "Shed your admin powers.", ADMIN_CATEGORY_MISC)
user.holder.deactivate()
to_chat(user, span_interface("You are now a normal player."))
log_admin("[key_name(user)] deadminned themselves.")

View File

@@ -1,7 +1,7 @@
ADMIN_VERB(get_server_logs, (R_ADMIN | R_SERVER), "Get Server Logs", "View or retrieve logfiles.", ADMIN_CATEGORY_MAIN)
ADMIN_VERB(get_server_logs, (R_ADMIN | R_SERVER), "Get Server Logs", "View or retrieve logfiles.", ADMIN_CATEGORY_LOGS)
user.browseserverlogs()
ADMIN_VERB(get_current_logs, (R_ADMIN | R_SERVER), "Get Current Logs", "View or retrieve logfiles for the current round.", ADMIN_CATEGORY_MAIN)
ADMIN_VERB(get_current_logs, (R_ADMIN | R_SERVER), "Get Current Logs", "View or retrieve logfiles for the current round.", ADMIN_CATEGORY_LOGS)
user.browseserverlogs(current=TRUE)
/client/proc/browseserverlogs(current=FALSE)

View File

@@ -596,9 +596,9 @@
///Allows use of the gripper (and clears the weakref) after do_after is completed. Clears the weakref if the wrapped item is no longer in our borg's contents (items get moved into the borgs contents when using the gripper)
/obj/item/gripper/proc/end_using()
gripper_in_use = FALSE
if(!WR)
return
var/obj/item/wrapped = get_current_pocket()
if(!wrapped)
return
//Checks two things:
//Is our wrapped object currently in our borg still?
//AND Is it not a gripper pocket? If not, reset WR.
@@ -883,9 +883,7 @@
//HELPER PROCS
///Use this to get what the current pocket is. Returns NULL if no
/obj/item/gripper/proc/get_current_pocket() //done as a proc so snowflake code can be found later down the line and consolidated.
if(!WR)
return null
var/obj/item/wrapped = WR.resolve()
var/obj/item/wrapped = WR?.resolve()
return wrapped
/// Consolidates material stacks by searching our pockets to see if we currently have any stacks. Done in /obj/item/stack/attackby

View File

@@ -93,3 +93,4 @@
SEND_SIGNAL(client, COMSIG_CLIENT_MOB_LOGIN, src)
set_listening(LISTENING_PLAYER)
GLOB.tickets.ClientLogin(client, TRUE)

View File

@@ -333,7 +333,7 @@
//////////////////// Cyborg Modules ////////////////////
/datum/design_techweb/prosfab/robot_upgrade
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_UTILITY
)
build_type = PROSFAB
materials = list(MAT_STEEL = 7500)
@@ -360,6 +360,10 @@
build_path = /obj/item/borg/upgrade/utility/restart
// Section for basic upgrades for all cyborgs
/datum/design_techweb/prosfab/robot_upgrade/basic
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_BASIC
)
/datum/design_techweb/prosfab/robot_upgrade/basic/sizeshift
name = "Size Alteration Module"
@@ -392,6 +396,10 @@
build_path = /obj/item/borg/upgrade/basic/language
// Section for advanced upgrades for all cyborgs
/datum/design_techweb/prosfab/robot_upgrade/advanced
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ADVANCED
)
/datum/design_techweb/prosfab/robot_upgrade/advanced/bellysizeupgrade
name = "Robohound Capacity Expansion Module"
@@ -424,6 +432,10 @@
/*
Some job related borg upgrade modules, adding useful items for puppers.
*/
/datum/design_techweb/prosfab/robot_upgrade/restricted
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED
)
/datum/design_techweb/prosfab/robot_upgrade/restricted/bellycapupgrade
name = "Robohound Capability Expansion Module"
@@ -433,6 +445,9 @@
build_path = /obj/item/borg/upgrade/restricted/bellycapupgrade
/datum/design_techweb/prosfab/robot_upgrade/restricted/advrped
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SCIENCE
)
name = "Advanced Rapid Part Exchange Device"
desc = "Exactly the same as a standard Advanced RPED, but this one has mounting hardware for a Science Borg."
id = "borg_advrped_module"
@@ -441,6 +456,9 @@
build_path = /obj/item/borg/upgrade/restricted/advrped
/datum/design_techweb/prosfab/robot_upgrade/restricted/diamonddrill
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
name = "Diamond Drill"
desc = "A mining drill with a diamond tip, made for use by Mining Borgs."
id = "borg_ddrill_module"
@@ -449,6 +467,9 @@
build_path = /obj/item/borg/upgrade/restricted/diamonddrill
/datum/design_techweb/prosfab/robot_upgrade/restricted/pka
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MINING
)
name = "Proto-Kinetic Accelerator"
desc = "A mining weapon designed for clearing rocks and hostile wildlife. This model is equiped with a self upgrade system, allowing it to attach modules hands free."
id = "borg_pka_module"
@@ -457,6 +478,9 @@
build_path = /obj/item/borg/upgrade/restricted/pka
/datum/design_techweb/prosfab/robot_upgrade/restricted/tasercooler
category = list(
RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_RESTRICTED + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SECURITY
)
name = "Rapid Taser Cooling Module"
desc = "Used to cool a mounted taser, increasing the potential current in it and thus its recharge rate."
id = "borg_taser_module"

View File

@@ -157,19 +157,20 @@ GLOBAL_DATUM_INIT(tickets, /datum/tickets, new)
return L
//Reassociate still open ticket if one exists
/datum/tickets/proc/ClientLogin(client/C)
/datum/tickets/proc/ClientLogin(client/C, only_alert = FALSE)
C.current_ticket = CKey2ActiveTicket(C.ckey)
if(C.current_ticket)
C.current_ticket.AddInteraction("Client reconnected.")
if(!only_alert)
C.current_ticket.AddInteraction("Client reconnected.")
C.current_ticket.initiator = C
C.current_ticket.initiator.mob.throw_alert("open ticket", /obj/screen/alert/open_ticket)
C.current_ticket.initiator.mob?.throw_alert("open ticket", /obj/screen/alert/open_ticket)
//Dissasociate ticket
/datum/tickets/proc/ClientLogout(client/C)
if(C.current_ticket)
var/datum/ticket/T = C.current_ticket
T.AddInteraction("Client disconnected.")
T.initiator.mob?.clear_alert("open ticket")
T.initiator?.mob?.clear_alert("open ticket")
T.initiator = null
T = null