diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 0c3833e6ace..7a078a67970 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -36,33 +36,6 @@ var/global/pipe_processing_killed = 0 return QDEL_HINT_HARDDEL_NOW /datum/controller/game_controller/proc/setup() - preloadTemplates() - if(!config.disable_away_missions) - createRandomZlevel() - - // Create 6 extra space levels to put space ruins on - if(!config.disable_space_ruins) - var/timer = start_watch() - log_startup_progress("Creating random space levels...") - seedRuins(list(level_name_to_num(EMPTY_AREA)), rand(0, 3), /area/space, space_ruins_templates) - log_startup_progress("Loaded random space levels in [stop_watch(timer)]s.") - - // load in extra levels of space ruins - - var/num_extra_space = rand(config.extra_space_ruin_levels_min, config.extra_space_ruin_levels_max) - for(var/i = 1, i <= num_extra_space, i++) - var/zlev = space_manager.add_new_zlevel("[EMPTY_AREA] #[i]", linkage = CROSSLINKED) - seedRuins(list(zlev), rand(0, 3), /area/space, space_ruins_templates) - - var/mining_type = MINETYPE - if (mining_type == "lavaland") - seedRuins(list(level_name_to_num(MINING)), config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) - spawn_rivers() - else - make_mining_asteroid_secret() - - space_manager.do_transition_setup() - setupfactions() setup_economy() diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm new file mode 100644 index 00000000000..fee6c93d191 --- /dev/null +++ b/code/controllers/subsystem/mapping.dm @@ -0,0 +1,42 @@ +SUBSYSTEM_DEF(mapping) + name = "Mapping" + init_order = INIT_ORDER_MAPPING // 9 + flags = SS_NO_FIRE + +/datum/controller/subsystem/mapping/Initialize(timeofday) + // Load all Z level templates + preloadTemplates() + // Pick a random away mission. + if(!config.disable_away_missions) + createRandomZlevel() + // Seed space ruins + if(!config.disable_space_ruins) + var/timer = start_watch() + log_startup_progress("Creating random space levels...") + seedRuins(list(level_name_to_num(EMPTY_AREA)), rand(0, 3), /area/space, space_ruins_templates) + log_startup_progress("Loaded random space levels in [stop_watch(timer)]s.") + + // load in extra levels of space ruins + + var/num_extra_space = rand(config.extra_space_ruin_levels_min, config.extra_space_ruin_levels_max) + for(var/i = 1, i <= num_extra_space, i++) + var/zlev = space_manager.add_new_zlevel("[EMPTY_AREA] #[i]", linkage = CROSSLINKED) + seedRuins(list(zlev), rand(0, 3), /area/space, space_ruins_templates) + + // Setup the Z-level linkage + space_manager.do_transition_setup() + + // Handle the mining z-level ruins or secrets. + var/mining_type = MINETYPE + if (mining_type == "lavaland") + // Spawn Lavaland ruins and rivers. + seedRuins(list(level_name_to_num(MINING)), config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) + spawn_rivers() + else + // Populate mining Z-level hidden rooms + for(var/i = 0, i < max_secret_rooms, i++) + make_mining_asteroid_secret() + ..() + +/datum/controller/subsystem/mapping/Recover() + flags |= SS_NO_INIT \ No newline at end of file diff --git a/code/controllers/subsystem/tickets/tickets.dm b/code/controllers/subsystem/tickets/tickets.dm index 99130025786..73279033849 100644 --- a/code/controllers/subsystem/tickets/tickets.dm +++ b/code/controllers/subsystem/tickets/tickets.dm @@ -367,26 +367,26 @@ UI STUFF if(href_list["resolve"]) var/indexNum = text2num(href_list["resolve"]) if(resolveTicket(indexNum)) - message_staff("[usr.client] / ([usr]) resolved [ticket_name] number [indexNum]") + message_staff("[span_text][usr.client] / ([usr]) resolved [ticket_name] number [indexNum]") to_chat_safe(returnClient(indexNum), "[span_text]Your [ticket_name] has now been resolved.") showUI(usr) if(href_list["detailresolve"]) var/indexNum = text2num(href_list["detailresolve"]) if(resolveTicket(indexNum)) - message_staff("[usr.client] / ([usr]) resolved [ticket_name] number [indexNum]") + message_staff("[span_text][usr.client] / ([usr]) resolved [ticket_name] number [indexNum]") to_chat_safe(returnClient(indexNum), "[span_text]Your [ticket_name] has now been resolved.") showDetailUI(usr, indexNum) if(href_list["detailclose"]) var/indexNum = text2num(href_list["detailclose"]) if(!check_rights(close_rights)) - to_chat(usr, "Not enough rights to close this ticket.") + to_chat(usr, "Not enough rights to close this ticket.") return if(alert("Are you sure? This will send a negative message.",,"Yes","No") != "Yes") return if(closeTicket(indexNum)) - message_staff("[usr.client] / ([usr]) closed [ticket_name] number [indexNum]") + message_staff("[span_text][usr.client] / ([usr]) closed [ticket_name] number [indexNum]") to_chat_safe(returnClient(indexNum), close_messages) showDetailUI(usr, indexNum) @@ -394,7 +394,7 @@ UI STUFF if(href_list["detailreopen"]) var/indexNum = text2num(href_list["detailreopen"]) if(openTicket(indexNum)) - message_staff("[usr.client] / ([usr]) re-opened [ticket_name] number [indexNum]") + message_staff("[span_text][usr.client] / ([usr]) re-opened [ticket_name] number [indexNum]") showDetailUI(usr, indexNum) if(href_list["assignstaff"]) @@ -404,5 +404,5 @@ UI STUFF /datum/controller/subsystem/tickets/proc/takeTicket(var/index) if(assignStaffToTicket(usr.client, index)) - message_staff("[usr.client] / ([usr]) has taken [ticket_name] number [index]") - to_chat_safe(returnClient(index), "[span_text]Your [ticket_name] is being handled by [usr.client].") + message_staff("[span_text][usr.client] / ([usr]) has taken [ticket_name] number [index]") + to_chat_safe(returnClient(index), "[span_text]Your [ticket_name] is being handled by [usr.client].") diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index ac9a88aaa08..a6216c87b1a 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -78,6 +78,8 @@ C = M.client if(!C) // Might be a stealthmin ID, so pass it in straight C = href_list["priv_msg"] + else if(C.UID() != href_list["priv_msg"]) + C = null // 404 client not found. Let cmd_admin_pm handle the error cmd_admin_pm(C, null, href_list["type"]) return diff --git a/html/changelogs/AutoChangeLog-pr-11102.yml b/html/changelogs/AutoChangeLog-pr-11102.yml new file mode 100644 index 00000000000..7e54f5268ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11102.yml @@ -0,0 +1,5 @@ +author: "AffectedArc07" +delete-after: True +changes: + - rscadd: "ssMapping" + - tweak: "Gateway and space ruins are now loaded with ssMapping" diff --git a/html/changelogs/AutoChangeLog-pr-11294.yml b/html/changelogs/AutoChangeLog-pr-11294.yml new file mode 100644 index 00000000000..0088263303b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11294.yml @@ -0,0 +1,4 @@ +author: "farie82" +delete-after: True +changes: + - bugfix: "Ticket messages now have their corresponding span classes. Making them easier to notice" diff --git a/html/changelogs/AutoChangeLog-pr-11296.yml b/html/changelogs/AutoChangeLog-pr-11296.yml new file mode 100644 index 00000000000..42a9ce1a063 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11296.yml @@ -0,0 +1,4 @@ +author: "farie82" +delete-after: True +changes: + - bugfix: "PM's now shouldn't go to the wrong client anymore when the target left." diff --git a/paradise.dme b/paradise.dme index e1363953ff7..9d31b87f114 100644 --- a/paradise.dme +++ b/paradise.dme @@ -216,6 +216,7 @@ #include "code\controllers\subsystem\garbage.dm" #include "code\controllers\subsystem\icon_smooth.dm" #include "code\controllers\subsystem\machinery.dm" +#include "code\controllers\subsystem\mapping.dm" #include "code\controllers\subsystem\medals.dm" #include "code\controllers\subsystem\mobs.dm" #include "code\controllers\subsystem\nano_mob_hunter.dm"