Merge branch 'release' of https://github.com/VOREStation/VOREStation into upstream-update

This commit is contained in:
izac112
2024-02-17 01:06:24 +01:00
557 changed files with 11113 additions and 12031 deletions
+3 -1
View File
@@ -175,7 +175,8 @@ var/list/admin_verbs_fun = list(
/client/proc/narrate_mob, //VOREStation Add
/client/proc/narrate_mob_args, //VOREStation Add
/client/proc/getPlayerStatus, //VORESTation Add
/client/proc/manage_event_triggers
/client/proc/manage_event_triggers,
/client/proc/fake_pdaconvos
)
@@ -518,6 +519,7 @@ var/list/admin_verbs_event_manager = list(
/client/proc/check_ai_laws, //shows AI and borg laws,
/client/proc/rename_silicon, //properly renames silicons,
/client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. ,
/client/proc/modify_robot,
/client/proc/check_antagonists,
/client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others,
/client/proc/dsay, //talk in deadchat using our ckey/fakekey,
+26
View File
@@ -1123,3 +1123,29 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
/obj/effect/statclick/SDQL2_VV_all/Click()
usr.client.debug_variables(GLOB.sdql2_queries)
#undef SDQL_qdel_datum
#undef SDQL2_STATE_ERROR
#undef SDQL2_STATE_IDLE
#undef SDQL2_STATE_PRESEARCH
#undef SDQL2_STATE_SEARCHING
#undef SDQL2_STATE_EXECUTING
#undef SDQL2_STATE_SWITCHING
#undef SDQL2_STATE_HALTING
// 2 undefs missing here still because of SDQL_2_parser
#undef SDQL2_OPTION_SELECT_OUTPUT_SKIP_NULLS
#undef SDQL2_OPTION_BLOCKING_CALLS
#undef SDQL2_OPTION_HIGH_PRIORITY
#undef SDQL2_OPTION_DO_NOT_AUTOGC
#undef SDQL2_OPTIONS_DEFAULT
#undef SDQL2_IS_RUNNING
#undef SDQL2_HALT_CHECK
#undef SDQL2_TICK_CHECK
#undef SDQL2_STAGE_SWITCH_CHECK
+4 -4
View File
@@ -175,13 +175,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
MessageNoRecipient(parsed_message)
send2adminchat() //VOREStation Add
//show it to the person adminhelping too
to_chat(C, "<span class='adminnotice'>PM to-<b>Admins</b>: [name]</span>")
to_chat(C, "<span class='pm adminnotice'>PM to-<b>Admins</b>: [name]</span>")
//send it to irc if nobody is on and tell us how many were on
var/admin_number_present = send2irc_adminless_only(initiator_ckey, name)
log_admin("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.")
if(admin_number_present <= 0)
to_chat(C, "<span class='notice'>No active admins are online, your adminhelp was sent to the admin discord.</span>") //VOREStation Edit
to_chat(C, "<span class='pm notice'>No active admins are online, your adminhelp was sent to the admin discord.</span>") //VOREStation Edit
// Also send it to discord since that's the hip cool thing now.
SSwebhooks.send(
@@ -241,7 +241,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
//won't bug irc
/datum/admin_help/proc/MessageNoRecipient(msg)
var/ref_src = "\ref[src]"
var/chat_msg = "<span class='adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [msg]</span>"
var/chat_msg = "<span class='pm adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [msg]</span>"
AddInteraction("<font color='red'>[LinkedReplyName(ref_src)]: [msg]</font>")
//send this msg to all admins
@@ -612,7 +612,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(tgui_alert(usr, "You already have a ticket open. Is this for the same issue?","Duplicate?",list("Yes","No")) != "No")
if(current_ticket)
current_ticket.MessageNoRecipient(msg)
to_chat(usr, "<span class='adminnotice'>PM to-<b>Admins</b>: [msg]</span>")
to_chat(usr, "<span class='pm adminnotice'>PM to-<b>Admins</b>: [msg]</span>")
return
else
to_chat(usr, "<span class='warning'>Ticket not found, creating new one...</span>")
+38 -4
View File
@@ -1,9 +1,9 @@
//Allows to add and remove modules from borgs
/client/proc/modify_robot(var/mob/living/silicon/robot/target in player_list)
/client/proc/modify_robot(var/mob/living/silicon/robot/target in silicon_mob_list)
set name = "Modify Robot Module"
set desc = "Allows to add or remove modules to/from robots."
set category = "Admin"
if(!check_rights(R_ADMIN|R_FUN|R_VAREDIT))
if(!check_rights(R_ADMIN|R_FUN|R_VAREDIT|R_EVENT))
return
if(!istype(target) || !target.module)
@@ -12,7 +12,8 @@
if(!target.module.modules)
return
var/list/modification_options = list(MODIFIY_ROBOT_MODULE_ADD,MODIFIY_ROBOT_MODULE_REMOVE, MODIFIY_ROBOT_APPLY_UPGRADE, MODIFIY_ROBOT_SUPP_ADD, MODIFIY_ROBOT_SUPP_REMOVE, MODIFIY_ROBOT_RADIOC_ADD, MODIFIY_ROBOT_RADIOC_REMOVE, MODIFIY_ROBOT_COMP_ADD, MODIFIY_ROBOT_COMP_REMOVE, MODIFIY_ROBOT_RESET_MODULE)
var/list/modification_options = list(MODIFIY_ROBOT_MODULE_ADD,MODIFIY_ROBOT_MODULE_REMOVE, MODIFIY_ROBOT_APPLY_UPGRADE, MODIFIY_ROBOT_SUPP_ADD, MODIFIY_ROBOT_SUPP_REMOVE, MODIFIY_ROBOT_RADIOC_ADD, MODIFIY_ROBOT_RADIOC_REMOVE,
MODIFIY_ROBOT_COMP_ADD, MODIFIY_ROBOT_COMP_REMOVE, MODIFIY_ROBOT_SWAP_MODULE, MODIFIY_ROBOT_RESET_MODULE, MODIFIY_ROBOT_TOGGLE_ERT, MODIFIY_ROBOT_TOGGLE_CENT_ACCESS)
while(TRUE)
var/modification_choice = tgui_input_list(usr, "Select if you want to add or remove a module to/from [target]","Choice", modification_options)
@@ -274,8 +275,41 @@
if(selected_component == "power cell")
target.cell = null
to_chat(usr, "<span class='danger'>You removed \"[C]\" from [target]</span>")
if(MODIFIY_ROBOT_SWAP_MODULE)
var/selected_module = tgui_input_list(usr, "Which Module would you like to use?", "Module", robot_modules)
if(!selected_module || selected_module == "Cancel")
continue
if(!(selected_module in robot_modules))
continue
target.uneq_all()
target.hud_used.update_robot_modules_display(TRUE)
target.modtype = initial(target.modtype)
target.module.Reset(target)
target.module.Destroy()
target.modtype = selected_module
var/module_type = robot_modules[selected_module]
target.transform_with_anim()
new module_type(target)
target.hands.icon_state = target.get_hud_module_icon()
target.hud_used.update_robot_modules_display()
if(MODIFIY_ROBOT_RESET_MODULE)
if(tgui_alert(usr, "Are you sure that you want to reset the entire module?","Confirm",list("Yes","No"))=="No")
continue
target.module_reset()
target.module_reset(FALSE)
to_chat(usr, "<span class='danger'>You resetted [target]'s module selection.</span>")
if(MODIFIY_ROBOT_TOGGLE_ERT)
target.crisis_override = !target.crisis_override
to_chat(usr, "<span class='danger'>You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.</span>")
if(tgui_alert(usr, "Do you want to reset the module as well to allow selection?","Confirm",list("Yes","No"))=="No")
continue
target.module_reset(FALSE)
if(MODIFIY_ROBOT_TOGGLE_CENT_ACCESS)
for(var/obj in target.contents)
if(istype(obj, /obj/item/weapon/card/id/synthetic))
var/obj/item/weapon/card/id/synthetic/card = obj
if(access_cent_specops in card.access)
card.access -= get_all_centcom_access()
to_chat(usr, "<span class='danger'>You revoke central access from [target].</span>")
else
card.access += get_all_centcom_access()
to_chat(usr, "<span class='danger'>You grant central access to [target].</span>")
+2 -2
View File
@@ -100,7 +100,7 @@
to_chat(M, "<B>You hear a voice in your head...</B> <i>[msg]</i>")
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
msg = "<span class='adminnotice'><b> SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :</b> [msg]</span>"
msg = "<span class='pm adminnotice'><b> SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :</b> [msg]</span>"
message_admins(msg)
admin_ticket_log(M, msg)
feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -148,7 +148,7 @@
to_chat(M, msg)
log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]")
msg = "<span class='adminnotice'><b> DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):</b> [msg]<BR></span>"
msg = "<span class='pm adminnotice'><b> DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):</b> [msg]<BR></span>"
message_admins(msg)
admin_ticket_log(M, msg)
feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -63,6 +63,8 @@
new_mob.key = picked_client.key //Finally put them in the mob
if(organs)
new_mob.copy_from_prefs_vr()
if(LAZYLEN(new_mob.vore_organs))
new_mob.vore_selected = new_mob.vore_organs[1]
log_admin("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].")
message_admins("[key_name_admin(src)] has spawned [new_mob.key] as mob [new_mob.type].", 1)
@@ -86,6 +86,11 @@
<option value='?_src_=vars;[HrefToken()];emp=\ref[src]'>Trigger EM pulse</option>
"}
/obj/item/device/pda/get_view_variables_options()
return ..() + {"
<option value='?_src_=vars;[HrefToken()];fakepdapropconvo=\ref[src]'>Add Fake Prop Conversation</option>
"}
/datum/proc/get_variables()
. = vars - VV_hidden()
if(!usr || !check_rights(R_ADMIN|R_DEBUG, FALSE))
@@ -274,6 +274,15 @@
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) </span>")
else if(href_list["fakepdapropconvo"])
if(!check_rights(R_FUN)) return
var/obj/item/device/pda/P = locate(href_list["fakepdapropconvo"])
if(!istype(P))
to_chat(usr, span_warning("This can only be done to instances of type /pda"))
return
P.createPropFakeConversation_admin(usr)
else if(href_list["rotatedatum"])
if(!check_rights(0)) return