From 7433a056e8e94df7eb24a0c4d120a0d49bfcbce1 Mon Sep 17 00:00:00 2001 From: naut <55491249+nauticall@users.noreply.github.com> Date: Fri, 27 Feb 2026 02:36:37 +0800 Subject: [PATCH] The Great Ship Debloating (#21537) Removes some offships from the map rotation (*not* from the code). While the exact standards are arbitrary, generally these were picked due to one or more of these factors: * Low ghostrole interest * Poor/nonexistent gameplay loop (sorry, science ships) * Overly niche role that does not have meaningful interactions with Horizon/other ships/overmap * Outdated mapping standards (too few docking ports, massive open spaces, ancient objects, too little detail, etc) * Redundant (another ship does its job with more player interest) These ships have been removed: * Casino Ship * Dominian Unathi Privateer * Freebooter Ship * Miners Guild Station * NKA Merchant Ship * Database Freighter * SFA Patrol Ship * Tajaran Smuggler * Unathi Pirate Izharshan Ship * Unathi Pirate Tarwa Ship * COC surveyor * Dominian science ship Note a ship being removed from rotation doesn't necessarily mean it was bad! Sorry if one of these was something you mapped or otherwise liked playing, they just struggle against newer ships engagement-wise. ## y u do this Generally speaking the intent of this PR is to thin out the ship pool to make newer and more engaging offships more likely to spawn. This might not matter now, but it will matter in especially contested sectors like the Badlands and Weeping Stars, where many of these ships are slated to spawn in. This should hopefully allow newer offships to roll more often and not have their spots stolen by something from years ago. This does not necessarily mean the maps are *gone* from existence, just that they are currently unfortunately not engaged with enough to stay in the rotation for nobody to roll. If they get remapped, or suddenly are made more relevant again (i.e. with lore developments or sector changes), they can just as easily be reenabled by a contributor by setting the `spawn_weight` from 0 to 1. --------- Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com> --- html/changelogs/nauticall-ship_disablings.yml | 60 +++++++++++++++++++ maps/away/ships/casino/casino.dm | 1 + .../ships/coc/coc_surveyor/coc_surveyor.dm | 1 + .../dominian_science_vessel.dm | 1 + .../dominian_unathi_privateer.dm | 1 + .../freebooter_salvager.dm | 2 +- .../freebooter_ship/freebooter_ship_.dm | 3 +- .../miners_guild/miners_guild_station.dm | 1 + .../ships/nka/nka_merchant/nka_merchant.dm | 1 + .../database_freighter/database_freighter.dm | 1 + .../ships/sol/sol_pirate/sfa_patrol_ship.dm | 1 + .../tajara/taj_smuggler/tajaran_smuggler.dm | 1 + .../izharshan/unathi_pirate_izharshan.dm | 1 + .../tarwa/unathi_pirate_tarwa.dm | 1 + maps/away/ships/yacht/yacht.dm | 3 +- 15 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/nauticall-ship_disablings.yml diff --git a/html/changelogs/nauticall-ship_disablings.yml b/html/changelogs/nauticall-ship_disablings.yml new file mode 100644 index 00000000000..65fe97442e8 --- /dev/null +++ b/html/changelogs/nauticall-ship_disablings.yml @@ -0,0 +1,60 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: nauticall + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscdel: "Removes the following offship maps from rotation (1/2): Casino Ship, Dominian Unathi Privateer, Freebooter Ship, Miners Guild Station, NKA Merchant Ship, Database Freighter." + - rscdel: "Removes the following offship maps too (2/2): SFA Patrol Ship, Tajaran Smuggler, Unathi Pirate Izharshan Ship, Unathi Pirate Tarwa Ship, COC Surveyor, Dominian Science Vessel." + - code_imp: "The Freebooter Salvager will now take the place of the old Freebooter Ship; spawn weight was adjusted to 1 (normal)." diff --git a/maps/away/ships/casino/casino.dm b/maps/away/ships/casino/casino.dm index 4ddb8847e76..b8079c6ee81 100644 --- a/maps/away/ships/casino/casino.dm +++ b/maps/away/ships/casino/casino.dm @@ -7,6 +7,7 @@ sectors = list(ALL_TAU_CETI_SECTORS, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, SECTOR_TABITI, SECTOR_AEMAQ, SECTOR_SRANDMARR, SECTOR_NRRAHRAHUL, SECTOR_GAKAL, SECTOR_UUEOAESA, ALL_COALITION_SECTORS) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. spawn_cost = 1 id = "awaysite_casino" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/casino_cutter) diff --git a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm index c3d0242f4b3..bdabede3a82 100644 --- a/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm +++ b/maps/away/ships/coc/coc_surveyor/coc_surveyor.dm @@ -9,6 +9,7 @@ spawn_weight_sector_dependent = list(ALL_BADLAND_SECTORS = 0.3) sectors_blacklist = list(SECTOR_HANEUNIM, SECTOR_BURZSIA, SECTOR_XANU) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "coc_surveyor" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/coc_survey_shuttle) diff --git a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dm b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dm index 60b5f5148fe..8eaa4f6c9cc 100644 --- a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dm +++ b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dm @@ -7,6 +7,7 @@ sectors = list(ALL_TAU_CETI_SECTORS, SECTOR_BADLANDS, SECTOR_VALLEY_HALE) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "dominian_science_vessel" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/dominian_science_shuttle) diff --git a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dm b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dm index f376a451831..3d80d51762f 100644 --- a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dm +++ b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dm @@ -7,6 +7,7 @@ sectors = list(SECTOR_BADLANDS, SECTOR_WEEPING_STARS, SECTOR_VALLEY_HALE) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "dominian_unathi" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/dominian_unathi_shuttle) diff --git a/maps/away/ships/freebooter/freebooter_salvager/freebooter_salvager.dm b/maps/away/ships/freebooter/freebooter_salvager/freebooter_salvager.dm index 717e949b5f6..57dfeeeb974 100644 --- a/maps/away/ships/freebooter/freebooter_salvager/freebooter_salvager.dm +++ b/maps/away/ships/freebooter/freebooter_salvager/freebooter_salvager.dm @@ -12,7 +12,7 @@ ) ship_cost = 1 - spawn_weight = 0.5 // halved from 1 as this is a variation + spawn_weight = 1 shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/freebooter_salvager, /datum/shuttle/autodock/multi/lift/freebooter_salvager) sectors = list(ALL_POSSIBLE_SECTORS) diff --git a/maps/away/ships/freebooter/freebooter_ship/freebooter_ship_.dm b/maps/away/ships/freebooter/freebooter_ship/freebooter_ship_.dm index be8af4916d5..05e807a618c 100644 --- a/maps/away/ships/freebooter/freebooter_ship/freebooter_ship_.dm +++ b/maps/away/ships/freebooter/freebooter_ship/freebooter_ship_.dm @@ -9,7 +9,8 @@ suffix = "freebooter_ship_.dmm" sectors = list(ALL_POSSIBLE_SECTORS) - spawn_weight = 0.5 // halved from 1 as this is a variation + spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "freebooter_ship" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/freebooter_shuttle) diff --git a/maps/away/ships/hegemony/miners_guild/miners_guild_station.dm b/maps/away/ships/hegemony/miners_guild/miners_guild_station.dm index d0bcd132c28..fee4b6b2d62 100644 --- a/maps/away/ships/hegemony/miners_guild/miners_guild_station.dm +++ b/maps/away/ships/hegemony/miners_guild/miners_guild_station.dm @@ -6,6 +6,7 @@ suffix = "miners_guild_station.dmm" spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 sectors = list(SECTOR_BADLANDS, SECTOR_UUEOAESA) spawn_weight_sector_dependent = list(SECTOR_UUEOAESA = 1.5) diff --git a/maps/away/ships/nka/nka_merchant/nka_merchant.dm b/maps/away/ships/nka/nka_merchant/nka_merchant.dm index 5d1d7a46176..e9c9f035ecb 100644 --- a/maps/away/ships/nka/nka_merchant/nka_merchant.dm +++ b/maps/away/ships/nka/nka_merchant/nka_merchant.dm @@ -8,6 +8,7 @@ ship_cost = 1 spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/nka_merchant_shuttle) spawn_weight_sector_dependent = list(SECTOR_SRANDMARR = 2, SECTOR_BADLANDS = 0.5) sectors = list(SECTOR_BADLANDS, SECTOR_SRANDMARR, SECTOR_VALLEY_HALE, SECTOR_CORP_ZONE, SECTOR_TAU_CETI) diff --git a/maps/away/ships/pra/database_freighter/database_freighter.dm b/maps/away/ships/pra/database_freighter/database_freighter.dm index bafc75ee993..26d32ec4178 100644 --- a/maps/away/ships/pra/database_freighter/database_freighter.dm +++ b/maps/away/ships/pra/database_freighter/database_freighter.dm @@ -8,6 +8,7 @@ ship_cost = 1 spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/database_freighter_shuttle) sectors = list(SECTOR_BADLANDS, SECTOR_SRANDMARR, SECTOR_NRRAHRAHUL) spawn_weight_sector_dependent = list(SECTOR_BADLANDS = 0.5) diff --git a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dm b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dm index b6b4b2f2666..04178d0b289 100644 --- a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dm +++ b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dm @@ -7,6 +7,7 @@ sectors = list(SECTOR_VALLEY_HALE, SECTOR_BADLANDS) spawn_weight = 0.5 // Lowered to represent increasing scarcity of faction. + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "sfa_patrol_ship" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/sfa_shuttle) diff --git a/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler.dm b/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler.dm index 1662df41293..4b59be3d366 100644 --- a/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler.dm +++ b/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler.dm @@ -8,6 +8,7 @@ sectors = list(SECTOR_ROMANOVICH, SECTOR_CORP_ZONE, ALL_BADLAND_SECTORS, SECTOR_WEEPING_STARS) spawn_weight_sector_dependent = list(SECTOR_BADLANDS = 0.5) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 id = "tajaran_smuggler" shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/tajaran_smuggler_shuttle, /datum/shuttle/autodock/overmap/tajaran_smuggler_cargo) diff --git a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dm b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dm index 8a8af5a9b5d..4cdd2404130 100644 --- a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dm +++ b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dm @@ -7,6 +7,7 @@ suffix = "unathi_pirate_izharshan.dmm" spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/unathi_pirate_izharshan) sectors = list(SECTOR_NRRAHRAHUL, SECTOR_BADLANDS, SECTOR_GAKAL, SECTOR_UUEOAESA) diff --git a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dm b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dm index 39372ad7d0b..dfef6e3ba0d 100644 --- a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dm +++ b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dm @@ -7,6 +7,7 @@ sectors = list(SECTOR_BADLANDS, SECTOR_GAKAL, SECTOR_LIGHTS_EDGE, SECTOR_WEEPING_STARS) spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. ship_cost = 1 shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/tarwa_shuttle) id = "tarwa_conglomerate" diff --git a/maps/away/ships/yacht/yacht.dm b/maps/away/ships/yacht/yacht.dm index 535b78e32db..baeb79fcaaa 100644 --- a/maps/away/ships/yacht/yacht.dm +++ b/maps/away/ships/yacht/yacht.dm @@ -7,7 +7,8 @@ suffix = "yacht.dmm" spawn_cost = 0.5 - spawn_weight = 0.5 + spawn_weight = 1 + template_flags = TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED // Disabled for debloating. Feel free to enable again if reworked or relevant. sectors = list(SECTOR_ROMANOVICH, SECTOR_TAU_CETI, SECTOR_CORP_ZONE, SECTOR_VALLEY_HALE, SECTOR_BADLANDS, ALL_COALITION_SECTORS, SECTOR_TABITI, SECTOR_AEMAQ, SECTOR_SRANDMARR, SECTOR_NRRAHRAHUL, SECTOR_GAKAL, SECTOR_UUEOAESA) unit_test_groups = list(3)