diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm
index f20200e9368..9d6841b56fd 100644
--- a/code/__DEFINES/economy.dm
+++ b/code/__DEFINES/economy.dm
@@ -65,9 +65,6 @@
#define CIV_JOB_GROW 12
#define CIV_JOB_ATMOS 13
#define CIV_JOB_RANDOM 14
-//BUBBER EDIT START
-#define CIV_JOB_SMITH 21 //By making this higher we avoid having to maintain this value if more bounties are added upstream
-//BUBBER EDIT END
//By how much should the station's inflation value be multiplied by when dividing the civilian bounty's reward?
#define BOUNTY_MULTIPLIER 10
diff --git a/code/__DEFINES/footsteps.dm b/code/__DEFINES/footsteps.dm
index e01e68d7fef..c8b89b082a4 100644
--- a/code/__DEFINES/footsteps.dm
+++ b/code/__DEFINES/footsteps.dm
@@ -28,7 +28,6 @@
#define FOOTSTEP_MOB_RUST "footstep_rust"
#define FOOTSTEP_OBJ_MACHINE "footstep_machine"
#define FOOTSTEP_OBJ_ROBOT "footstep_robot"
-#define FOOTSTEP_MOB_SNAKE 9 // BUBBER EDIT
//priority defines for the footstep_override element
#define STEP_SOUND_NO_PRIORITY 0
diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm
index d5491cbba27..7feca0782dc 100644
--- a/code/__DEFINES/jobs.dm
+++ b/code/__DEFINES/jobs.dm
@@ -61,7 +61,6 @@
#define JOB_SECURITY_OFFICER_SCIENCE "Security Officer (Science)"
#define JOB_SECURITY_OFFICER_SUPPLY "Security Officer (Cargo)"
#define JOB_CORRECTIONS_OFFICER "Corrections Officer" // SKYRAT EDIT ADDITION
-#define JOB_SECURITY_MEDIC "Security Medic" //BUBBER EDIT ADDITION
//Engineering
#define JOB_STATION_ENGINEER "Station Engineer"
#define JOB_ATMOSPHERIC_TECHNICIAN "Atmospheric Technician"
@@ -97,7 +96,6 @@
#define JOB_PSYCHOLOGIST "Psychologist"
#define JOB_BARBER "Barber" // SKYRAT EDIT ADDITION
#define JOB_BOUNCER "Service Guard" // SKYRAT EDIT ADDITION
-#define JOB_BLACKSMITH "Blacksmith" //Budder Edit.
//ERTs
#define JOB_ERT_DEATHSQUAD "Death Commando"
#define JOB_ERT_COMMANDER "Emergency Response Team Commander"
@@ -191,7 +189,6 @@
#define JOB_DISPLAY_ORDER_ENGINEER_GUARD 45 //SKYRAT EDIT ADDITION
#define JOB_DISPLAY_ORDER_CUSTOMS_AGENT 46 //SKYRAT EDIT ADDITION
#define JOB_DISPLAY_ORDER_EXP_CORPS 47 //SKYRAT EDIT ADDITON
-#define JOB_DISPLAY_ORDER_BLACKSMITH 48 //BUBBER Edit.
#define DEPARTMENT_UNASSIGNED "No Department"
diff --git a/code/__DEFINES/~~bubber_defines/economy.dm b/code/__DEFINES/~~bubber_defines/economy.dm
new file mode 100644
index 00000000000..8a47b4c8a4a
--- /dev/null
+++ b/code/__DEFINES/~~bubber_defines/economy.dm
@@ -0,0 +1,2 @@
+//Defines that set what kind of civilian bounties should be applied mid-round.
+#define CIV_JOB_SMITH 21 //By making this higher we avoid having to maintain this value if more bounties are added upstream
diff --git a/code/__DEFINES/~~bubber_defines/footsteps.dm b/code/__DEFINES/~~bubber_defines/footsteps.dm
new file mode 100644
index 00000000000..cee773a9054
--- /dev/null
+++ b/code/__DEFINES/~~bubber_defines/footsteps.dm
@@ -0,0 +1,2 @@
+//footstep mob defines
+#define FOOTSTEP_MOB_SNAKE 9
diff --git a/code/__DEFINES/~~bubber_defines/jobs.dm b/code/__DEFINES/~~bubber_defines/jobs.dm
index e8999b94c65..15f9f4426f6 100644
--- a/code/__DEFINES/~~bubber_defines/jobs.dm
+++ b/code/__DEFINES/~~bubber_defines/jobs.dm
@@ -1 +1,19 @@
#define RECORDS_TEXT_CHAR_REQUIREMENT 15
+
+/**
+ * =======================
+ * WARNING WARNING WARNING
+ * WARNING WARNING WARNING
+ * WARNING WARNING WARNING
+ * =======================
+ * These names are used as keys in many locations in the database
+ * you cannot change them trivially without breaking job bans and
+ * role time tracking, if you do this and get it wrong you will die
+ * and it will hurt the entire time
+ */
+
+// Our exclusive jobs
+#define JOB_SECURITY_MEDIC "Security Medic"
+#define JOB_BLACKSMITH "Blacksmith"
+
+#define JOB_DISPLAY_ORDER_BLACKSMITH 48
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 966e6032eca..f520dd007d5 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -18,7 +18,7 @@
/// A reference to the object in the slot. Grabs or items, generally, but any datum will do.
var/datum/weakref/master_ref = null
/// A reference to the owner HUD, if any.
- var/datum/hud/hud = null // BUBBER EDIT - Unprivate this for hot editing.
+ var/datum/hud/hud = null // BUBBER EDIT - Originally private, adjusted for hot editing.
/**
* Map name assigned to this object.
* Automatically set by /client/proc/add_obj_to_map.
diff --git a/code/controllers/subsystem/id_access.dm b/code/controllers/subsystem/id_access.dm
index 5880006b4dc..86f2e124a8f 100644
--- a/code/controllers/subsystem/id_access.dm
+++ b/code/controllers/subsystem/id_access.dm
@@ -331,7 +331,6 @@ SUBSYSTEM_DEF(id_access)
desc_by_access["[ACCESS_CENT_BAR]"] = "Code Scotch"
desc_by_access["[ACCESS_BIT_DEN]"] = "Bitrunner Den"
desc_by_access["[ACCESS_BARBER]"] = "Barber" // SKYRAT EDIT ADD - BARBER UPDATE
- desc_by_access["[ACCESS_BLACKSMITH]"] = "Blacksmith's Workshop" // BUBBER EDIT ADD - BLACKSMITH UPDATE
/**
* Returns the access bitflags associated with any given access level.
diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm
index eaa33a56db9..212882de300 100644
--- a/code/controllers/subsystem/tts.dm
+++ b/code/controllers/subsystem/tts.dm
@@ -89,9 +89,6 @@ SUBSYSTEM_DEF(tts)
rustg_file_write(json_encode(available_speakers), "data/cached_tts_voices.json")
rustg_file_write("rustg HTTP requests can't write to folders that don't exist, so we need to make it exist.", "tmp/tts/init.txt")
return TRUE
-/datum/controller/subsystem/tts/establish_connection_to_tts() // BUBBER EDIT BEGIN - CRASH BANDAID
- message_admins("a naughty admin was prevented from hanging the server sending an external query.")
- return // BUBBER EDIT END
/datum/controller/subsystem/tts/Initialize()
if(!CONFIG_GET(string/tts_http_url))
return SS_INIT_NO_NEED
diff --git a/code/datums/diseases/chronic_illness.dm b/code/datums/diseases/chronic_illness.dm
index 065238236b3..d5074754f12 100644
--- a/code/datums/diseases/chronic_illness.dm
+++ b/code/datums/diseases/chronic_illness.dm
@@ -5,7 +5,7 @@
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
disease_flags = CHRONIC
infectable_biotypes = MOB_ORGANIC | MOB_MINERAL | MOB_ROBOTIC
- process_dead = FALSE//Bubber edit, give them some mercy. (Don't ash the dead.)
+ process_dead = TRUE
stage_prob = 0.25
cure_text = "Sansufentanyl"
cures = list(/datum/reagent/medicine/sansufentanyl)
diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm
index 5e802b6dc51..6d50347aa3d 100644
--- a/code/datums/id_trim/jobs.dm
+++ b/code/datums/id_trim/jobs.dm
@@ -693,13 +693,10 @@
department_color = COLOR_MEDICAL_BLUE
subdepartment_color = COLOR_MEDICAL_BLUE
sechud_icon_state = SECHUD_MEDICAL_DOCTOR
- //BUBBER EDIT START
extra_access = list(
ACCESS_PLUMBING,
ACCESS_VIROLOGY,
- ACCESS_MORGUE_SECURE,
)
- //BUBBER EDIT END
minimal_access = list(
ACCESS_MECH_MEDICAL,
ACCESS_MEDICAL,
@@ -855,8 +852,6 @@
ACCESS_COMMAND,
ACCESS_EVA,
ACCESS_BRIG_ENTRANCE,
- ACCESS_WEAPONS, //BUBBER EDIT
- ACCESS_BLACKSMITH, //BUBBER EDIT
)
extra_access = list(
ACCESS_TELEPORTER,
diff --git a/code/datums/quirks/_quirk.dm b/code/datums/quirks/_quirk.dm
index 4b82d3018ab..947c1f4a8d3 100644
--- a/code/datums/quirks/_quirk.dm
+++ b/code/datums/quirks/_quirk.dm
@@ -9,8 +9,6 @@
var/value = 0
/// Flags related to this quirk.
var/quirk_flags = QUIRK_HUMAN_ONLY
- /// Flags related to species whitelists.
- var/quirk_whitelist_flags //BUBBER EDIT - Species whitelists // Whitelist bitflags in code/__DEFINES/~~bubber_defines/quirk_whitelist.dm
/// Reference to the mob currently tied to this quirk datum. Quirks are not singletons.
var/mob/living/quirk_holder
/// Text displayed when this quirk is assigned to a mob (and not transferred)
diff --git a/code/datums/storage/subtypes/pockets.dm b/code/datums/storage/subtypes/pockets.dm
index 2d0c57ccd75..00fd76337f7 100644
--- a/code/datums/storage/subtypes/pockets.dm
+++ b/code/datums/storage/subtypes/pockets.dm
@@ -105,7 +105,7 @@
list(/obj/item/screwdriver/power,
/obj/item/ammo_casing/rocket,
/obj/item/clothing/mask/cigarette/pipe,
- /obj/item/toy/crayon/spraycan, // BUBBER EDIT ADDITION
+ /obj/item/toy/crayon/spraycan, // BUBBER EDIT ADDITION // BUBBER TODO: See if this can be modularized
/obj/item/seeds, // BUBBER EDIT ADDITION
/obj/item/card, // BUBBER EDIT ADDITION
)
diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm
index a8d7c555afb..e7f56393a66 100644
--- a/code/game/area/areas/away_content.dm
+++ b/code/game/area/areas/away_content.dm
@@ -52,20 +52,3 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30"
/area/awaymission/secret/powered/fullbright
static_lighting = FALSE
base_lighting_alpha = 255
-//BUBBER EDIT BEGIN
-/area/awaymission/secret/powered/construct
- name = "construct"
- ambience_index = null
- ambient_buzz = null
-
-/area/awaymission/secret/unpowered/construct
- name = "construct unpowered"
- ambient_buzz = null
-
-/area/awaymission/secret/powered/construct/fullbright
- static_lighting = FALSE
- base_lighting_alpha = 255
-
-/area/centcom/central_command_areas/briefing/construct
- ambient_buzz = null
-// BUBBER EDIT END
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
index 4b934632982..3c35b16a5d1 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm
@@ -200,8 +200,8 @@
JOB_HEAD_OF_SECURITY,
JOB_PRISONER,
JOB_SECURITY_OFFICER,
- JOB_CHAPLAIN, // BUBBER EDIT ADDITION
JOB_WARDEN,
+ JOB_CHAPLAIN, // BUBBER EDIT - Chaplains can't heretic
)
restricted_roles = list(
JOB_AI,
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
index 69504406921..f2e285dff6b 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm
@@ -218,8 +218,8 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE)
JOB_HEAD_OF_SECURITY,
JOB_PRISONER,
JOB_SECURITY_OFFICER,
- JOB_CHAPLAIN, // BUBBER EDIT ADDITION
JOB_WARDEN,
+ JOB_CHAPLAIN, // BUBBER EDIT - Chaplains can't heretic
)
restricted_roles = list(
JOB_AI,
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index 293f331292c..75976f98be3 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -21,7 +21,7 @@
/// Our internal techweb for limbgrower designs.
var/datum/techweb/autounlocking/stored_research
/// All the categories of organs we can print.
- var/list/categories = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_MOTH, SPECIES_PLASMAMAN, SPECIES_ETHEREAL, RND_CATEGORY_LIMBS_OTHER, RND_CATEGORY_LIMBS_DIGITIGRADE, SPECIES_HEMOPHAGE)//BUBBER EDIT-Adds Hemophage to the list.
+ var/list/categories = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_MOTH, SPECIES_PLASMAMAN, SPECIES_ETHEREAL, RND_CATEGORY_LIMBS_OTHER, RND_CATEGORY_LIMBS_DIGITIGRADE)
///Designs imported from technology disks that we can print.
var/list/imported_designs = list()
diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm
index 1cf4ae9f439..1c635f07a5a 100644
--- a/code/game/objects/effects/spawners/random/entertainment.dm
+++ b/code/game/objects/effects/spawners/random/entertainment.dm
@@ -7,12 +7,9 @@
desc = "Automagically transforms into a random arcade machine. If you see this while in a shift, please create a bug report."
icon_state = "arcade"
loot = list(
- //BUBBER EDIT START
- /obj/machinery/computer/arcade/orion_trail = 33,
- /obj/machinery/computer/arcade/battle = 33,
- /obj/machinery/computer/arcade/minesweeper = 32,
+ /obj/machinery/computer/arcade/orion_trail = 49,
+ /obj/machinery/computer/arcade/battle = 49,
/obj/machinery/computer/arcade/amputation = 2,
- //BUBBER EDIT END
)
/obj/effect/spawner/random/entertainment/musical_instrument
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index e7bc1570fe5..f27a04209c5 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -11,5 +11,3 @@
new /obj/item/cultivator(src)
new /obj/item/hatchet(src)
new /obj/item/secateurs(src)
- for(var/i in 1 to 2)
- new /obj/item/storage/box/disks_plantgene(src) // BUBBER EDIT ADDITION
diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm
index 6c4cb960f96..57bdd6848cd 100644
--- a/code/modules/antagonists/disease/disease_abilities.dm
+++ b/code/modules/antagonists/disease/disease_abilities.dm
@@ -243,9 +243,9 @@ new /datum/disease_ability/symptom/powerful/youth
/datum/disease_ability/action/infect
name = "Secrete Infection"
actions = list(/datum/action/cooldown/disease_infect)
- cost = 0//Bubber edit, originally 2
- required_total_points = 0//Bubber edit, orginally 3
- start_with = TRUE//Bubber edit, orginally FALSE
+ cost = 2
+ required_total_points = 3
+ start_with = FALSE
short_desc = "Cause all objects your host is touching to become infectious for a limited time, spreading your infection to anyone who touches them."
long_desc = "Cause the host you are following to excrete an infective substance from their pores, causing all objects touching their skin to transmit your infection to anyone who touches them for the next 30 seconds. This includes the floor, if they are not wearing shoes, and any items they are holding, if they are not wearing gloves.
Cooldown: 40 seconds"
@@ -296,7 +296,7 @@ new /datum/disease_ability/symptom/powerful/youth
/datum/disease_ability/symptom/medium
cost = 4
- required_total_points =6//Bubber edit, orginally 8
+ required_total_points = 8
category = "Symptom"
/datum/disease_ability/symptom/medium/heal
@@ -305,7 +305,7 @@ new /datum/disease_ability/symptom/powerful/youth
/datum/disease_ability/symptom/powerful
cost = 4
- required_total_points = 10//Bubber edit, orginally 16
+ required_total_points = 16
category = "Symptom (Strong)"
/datum/disease_ability/symptom/powerful/heal
@@ -314,15 +314,6 @@ new /datum/disease_ability/symptom/powerful/youth
/******MILD******/
-/datum/disease_ability/symptom/mild/hidden//BUBBER CHANGE
- name = "Adaption"//Symptom to increase Sentient Virus base Stealth+Resistance
- symptoms = list(/datum/symptom/hidden)
- cost = 0//Cost is 0 because the virus will already have this by default.
- required_total_points = 0//Available at start if refunded.
- start_with = TRUE//Starts the virus with the symptom. For balancing reasons.
- short_desc = "Hightens your stealth and resistance."
- long_desc = "An adaptation that allows for greater stealth and resistance."
-
/datum/disease_ability/symptom/mild/cough
name = "Involuntary Coughing"
symptoms = list(/datum/symptom/cough)
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index e5f96692216..747db2afbc1 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -689,6 +689,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
log_access("Failed Login: [key] - [address] - New account attempting to connect during panic bunker")
message_admins("Failed Login: [key] - [address] - New account attempting to connect during panic bunker")
//BUBBER EDIT ADDITION BEGIN - PANICBUNKER TEXT
+ //BUBBER TODO: Make the to_chat a config thing and present it to skyrat
var/forumurl = CONFIG_GET(string/forumurl)
to_chat_immediate(src, {"Hi! This server is whitelist-enabled.
To join our community, check out our Discord! To gain full access to the game server, read the rules and open a ticket in the #get-whitelisted channel under the \"Whitelist\" category in the Discord server linked here: [forumurl]"})
//BUBBER EDIT ADDITION END - PANICBUNKER TEXT
diff --git a/code/modules/client/preferences/parallax.dm b/code/modules/client/preferences/parallax.dm
index 32714bf22d7..24cccce2da6 100644
--- a/code/modules/client/preferences/parallax.dm
+++ b/code/modules/client/preferences/parallax.dm
@@ -14,7 +14,7 @@
)
/datum/preference/choiced/parallax/create_default_value()
- return PARALLAX_DISABLE // BUBBER EDIT - Aesthetic
+ return PARALLAX_HIGH
/datum/preference/choiced/parallax/apply_to_client(client/client, value)
client.mob?.hud_used?.update_parallax_pref(client?.mob)
diff --git a/code/modules/client/preferences/scaling_method.dm b/code/modules/client/preferences/scaling_method.dm
index f4b962bf46f..63235abaf99 100644
--- a/code/modules/client/preferences/scaling_method.dm
+++ b/code/modules/client/preferences/scaling_method.dm
@@ -5,7 +5,7 @@
savefile_identifier = PREFERENCE_PLAYER
/datum/preference/choiced/scaling_method/create_default_value()
- return SCALING_METHOD_NORMAL // BUBBER EDIT - MAKE THE GAME LOOK GOOD BY DEFAULT
+ return SCALING_METHOD_DISTORT
/datum/preference/choiced/scaling_method/init_possible_values()
return list(SCALING_METHOD_DISTORT, SCALING_METHOD_BLUR, SCALING_METHOD_NORMAL)
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 56611074a16..f4125c99edb 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -574,7 +574,7 @@
name = "blue surgery cap"
icon_state = "surgicalcap"
desc = "A blue medical surgery cap to prevent the surgeon's hair from entering the insides of the patient!"
- //flags_inv = HIDEHAIR (Bubber Edit: Disabled for preview QOL)
+ //flags_inv = HIDEHAIR (Bubber Edit: Disabled for preview QOL) //BUBBER TODO: Modularise
/obj/item/clothing/head/utility/surgerycap/attack_self(mob/user)
. = ..()
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 3ddce151717..e2af151e49d 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -147,9 +147,9 @@
strip_delay = 80
/datum/armor/armor_hos
- melee = 40 // BUBBER EDIT - OG: 30
- bullet = 35 // BUBBER EDIT - OG: 30
- laser = 40 // BUBBER EDIT - OG: 30
+ melee = 30
+ bullet = 30
+ laser = 30
energy = 40
bomb = 25
fire = 70
diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm
index 050e352b97e..25d93f8bd55 100644
--- a/code/modules/events/carp_migration.dm
+++ b/code/modules/events/carp_migration.dm
@@ -1,10 +1,10 @@
/datum/round_event_control/carp_migration
name = "Carp Migration"
typepath = /datum/round_event/carp_migration
- weight = 10
- min_players = 30
- earliest_start = 45 MINUTES
- max_occurrences = 2 //BUBBER EDIT: FIXES THIS DAMN CARP EVENT.
+ weight = 15
+ min_players = 12
+ earliest_start = 10 MINUTES
+ max_occurrences = 6
category = EVENT_CATEGORY_ENTITIES
description = "Summons a school of space carp."
min_wizard_trigger_potency = 0
diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm
index c17d40f6b89..0ca4b0a1052 100644
--- a/code/modules/jobs/job_types/quartermaster.dm
+++ b/code/modules/jobs/job_types/quartermaster.dm
@@ -49,7 +49,7 @@
belt = /obj/item/modular_computer/pda/heads/quartermaster
suit = /obj/item/clothing/suit/jacket/quartermaster
ears = /obj/item/radio/headset/heads/qm
- glasses = /obj/item/clothing/glasses/hud/gun_permit/sunglasses //BUBBER EDIT: QM starts with permit glasses
+ glasses = /obj/item/clothing/glasses/sunglasses
shoes = /obj/item/clothing/shoes/laceup
l_hand = /obj/item/clipboard
diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm
index da9ad104604..4722ca7d489 100644
--- a/code/modules/jobs/job_types/warden.dm
+++ b/code/modules/jobs/job_types/warden.dm
@@ -12,7 +12,6 @@
minimal_player_age = 7
exp_requirements = 300
exp_required_type = EXP_TYPE_CREW
- exp_required_type_department = EXP_TYPE_SECURITY //BUBBER EDIT: Sec should be played before Warden.
exp_granted_type = EXP_TYPE_CREW
config_tag = "WARDEN"
diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm
index d0f42219b02..345e30264ba 100644
--- a/code/modules/mob/living/carbon/human/species_types/abductors.dm
+++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm
@@ -1,7 +1,7 @@
/datum/species/abductor
name = "Abductor"
id = SPECIES_ABDUCTOR
- sexes = TRUE // Bubber edit
+ sexes = FALSE
inherent_traits = list(
TRAIT_NO_UNDERWEAR,
TRAIT_NOBREATH,
diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
index 84445e87769..4c28d190eff 100644
--- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm
+++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
@@ -20,7 +20,7 @@
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
species_cookie = /obj/item/food/energybar
species_language_holder = /datum/language_holder/ethereal
- sexes = TRUE //no fetish content allowed // BUBBER EDIT
+ sexes = FALSE //no fetish content allowed
// Body temperature for ethereals is much higher than humans as they like hotter environments
bodytemp_normal = (BODYTEMP_NORMAL + 50)
bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index 23f308b1916..67f57f75a5a 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -2,7 +2,7 @@
name = "\improper Plasmaman"
plural_form = "Plasmamen"
id = SPECIES_PLASMAMAN
- sexes = TRUE // BUBBER EDIT
+ sexes = FALSE
meat = /obj/item/stack/sheet/mineral/plasma
// plasmemes get hard to wound since they only need a severe bone wound to dismember, but unlike skellies, they can't pop their bones back into place
inherent_traits = list(
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 69fa1dc6711..c643092f8b8 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -153,7 +153,7 @@
icon_state = "kineticgun" // SKYRAT EDIT CHANGE
holds_charge = TRUE
unique_frequency = TRUE
- max_mod_capacity = 100 // Bubber edit, Original: 80
+ max_mod_capacity = 80
/obj/item/gun/energy/recharge/kinetic_accelerator/minebot
trigger_guard = TRIGGER_GUARD_ALLOW_ALL
diff --git a/code/modules/unit_tests/say.dm b/code/modules/unit_tests/say.dm
index 823b5cb1948..3ae55a12e37 100644
--- a/code/modules/unit_tests/say.dm
+++ b/code/modules/unit_tests/say.dm
@@ -144,7 +144,7 @@
speaker.forceMove(run_loc_floor_bottom_left)
listener.forceMove(locate((run_loc_floor_bottom_left.x + distance), run_loc_floor_bottom_left.y, run_loc_floor_bottom_left.z))
- var/pangram_quote = "The quick brown fox jumps over the lazy dog." //Bubber Edit: adds a period to the end of the pangram quote.
+ var/pangram_quote = "The quick brown fox jumps over the lazy dog"
// speaking
speaker.say(pangram_quote)
@@ -182,7 +182,7 @@
listener_radio.set_frequency(FREQ_CENTCOM)
listener_radio.independent = TRUE
- var/pangram_quote = "The quick brown fox jumps over the lazy dog." //Bubber Edit: adds a period to the end of the pangram quote.
+ var/pangram_quote = "The quick brown fox jumps over the lazy dog"
speaker.say(pangram_quote)
TEST_ASSERT(handle_speech_result, "Handle speech signal was not fired (radio test)")
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 26412c05b27..5e937009d09 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -209,7 +209,7 @@
/obj/item/clothing/under/costume/swagoutfit = 1,
/obj/item/clothing/shoes/swagshoes = 1,
/obj/item/instrument/piano_synth/headphones/spacepods = 1,
- /obj/item/clothing/head/helmet/toggleable/pinwheel = 1, //BUBBER EDIT: Pinwheel hat
+ /obj/item/clothing/head/helmet/toggleable/pinwheel = 1, //BUBBER EDIT: Pinwheel hat // BUBBER TODO: Modularize
)
refill_canister = /obj/item/vending_refill/clothing
default_price = PAYCHECK_CREW * 0.7 //Default of
diff --git a/modular_skyrat/master_files/code/datums/traits/negative.dm b/modular_skyrat/master_files/code/datums/traits/negative.dm
index 02f3005aa04..621795c25aa 100644
--- a/modular_skyrat/master_files/code/datums/traits/negative.dm
+++ b/modular_skyrat/master_files/code/datums/traits/negative.dm
@@ -55,29 +55,3 @@
value = -6
mob_trait = TRAIT_NOGUNS
icon = FA_ICON_GUN
-
-//BUBBER EDIT MOVE BEGIN - NEGATIVE SENSITIVE SNOUT
-/datum/quirk/sensitivesnout
- name = "Sensitive Snout"
- desc = "Your snout has always been sensitive, and it really hurts when someone pokes it!"
- gain_text = span_notice("Your snout is awfully sensitive.")
- lose_text = span_notice("Your snout feels numb.")
- medical_record_text = "Patient's snout seems to have a cluster of nerves in the tip, would advise against direct contact."
- value = -2
- mob_trait = TRAIT_SENSITIVESNOUT
- icon = FA_ICON_FINGERPRINT
-
-/datum/quirk/sensitivesnout/post_add()
- quirk_holder.apply_status_effect(/datum/status_effect/sensitivesnout)
-
-/datum/quirk/sensitivesnout/remove()
- quirk_holder.remove_status_effect(/datum/status_effect/sensitivesnout)
-
-/datum/status_effect/sensitivesnout
- id = "sensitivesnout"
- duration = -1
- alert_type = null
-
-/datum/status_effect/sensitivesnout/get_examine_text()
- return span_warning("[owner.p_Their()] snout is rather bappable...")
-// BUBBER EDIT MOVE END
diff --git a/modular_skyrat/master_files/code/datums/traits/neutral.dm b/modular_skyrat/master_files/code/datums/traits/neutral.dm
index d7d83bdcdcc..e37161a1986 100644
--- a/modular_skyrat/master_files/code/datums/traits/neutral.dm
+++ b/modular_skyrat/master_files/code/datums/traits/neutral.dm
@@ -257,7 +257,6 @@ GLOBAL_VAR_INIT(DNR_trait_overlay, generate_DNR_trait_overlay())
new_tongue.copy_traits_from(human_holder.get_organ_slot(ORGAN_SLOT_TONGUE))
new_tongue.Insert(human_holder, special = TRUE, drop_if_replaced = FALSE)
-/* BUBBER EDIT MOVE BRGIN - MOVED TO NEGATIVE.DM
/datum/quirk/sensitivesnout
name = "Sensitive Snout"
desc = "Your face has always been sensitive, and it really hurts when someone pokes it!"
@@ -267,7 +266,6 @@ GLOBAL_VAR_INIT(DNR_trait_overlay, generate_DNR_trait_overlay())
value = 0
mob_trait = TRAIT_SENSITIVESNOUT
icon = FA_ICON_FINGERPRINT
-*/ // BUBBER EDIT MOVE END
/datum/quirk/overweight
name = "Overweight"
diff --git a/modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm b/modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm
index b04900ec2ef..2c4ffb82713 100644
--- a/modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm
+++ b/modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm
@@ -20,8 +20,7 @@
/datum/preference/toggle/master_erp_preferences/is_accessible(datum/preferences/preferences)
if (!..(preferences))
return FALSE
- if(!SSplayer_ranks.is_vetted(preferences.parent, admin_bypass = FALSE)) // BUBBER EDIT
- return FALSE // BUBBER EDIT
+
if(CONFIG_GET(flag/disable_erp_preferences))
return FALSE
@@ -41,8 +40,7 @@
/datum/preference/toggle/erp/is_accessible(datum/preferences/preferences)
if (!..(preferences))
return FALSE
- if(!SSplayer_ranks.is_vetted(preferences.parent, admin_bypass = FALSE)) // BUBBER EDIT
- return FALSE // BUBBER EDIT
+
if(CONFIG_GET(flag/disable_erp_preferences))
return FALSE
diff --git a/modular_skyrat/modules/automapper/code/area_spawn_subsystem.dm b/modular_skyrat/modules/automapper/code/area_spawn_subsystem.dm
index 286aa01ffd9..8e03d68a773 100644
--- a/modular_skyrat/modules/automapper/code/area_spawn_subsystem.dm
+++ b/modular_skyrat/modules/automapper/code/area_spawn_subsystem.dm
@@ -262,7 +262,7 @@ SUBSYSTEM_DEF(area_spawn)
/// See code/__DEFINES/~skyrat_defines/automapper.dm
var/mode = AREA_SPAWN_MODE_OPEN
/// Map blacklist, this is used to determine what maps we should not spawn on.
- var/list/blacklisted_stations = list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test", "Blueshift", "Lima Station", "Burgerstation") // BUBBER EDIT - Original: list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test", "Blueshift")
+ var/list/blacklisted_stations = list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test", "Blueshift")
/// If failing to find a suitable area is OK, then this should be TRUE or CI will fail.
/// Should probably be true if the target_areas are random, such as ruins.
var/optional = FALSE
@@ -319,7 +319,7 @@ SUBSYSTEM_DEF(area_spawn)
/// The atom type that we want to spawn
var/desired_atom
/// Map blacklist, this is used to determine what maps we should not spawn on.
- var/list/blacklisted_stations = list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test", "Lima Station", "Burgerstation") // BUBBER EDIT - Original: list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test")
+ var/list/blacklisted_stations = list("Void Raptor", "Runtime Station", "MultiZ Debug", "Gateway Test")
/**
* Spawn the atoms.
diff --git a/modular_skyrat/modules/blueshield/code/blueshield.dm b/modular_skyrat/modules/blueshield/code/blueshield.dm
index 04ee281ffb2..ed0cd1e2730 100644
--- a/modular_skyrat/modules/blueshield/code/blueshield.dm
+++ b/modular_skyrat/modules/blueshield/code/blueshield.dm
@@ -1,12 +1,12 @@
/datum/job/blueshield
title = JOB_BLUESHIELD
- description = "Protect the Heads of Staff and get your hands dirty so they can keep theirs clean." // BUBBER EDIT
+ description = "Protect heads of staff, get your fancy gun stolen, cry as the captain touches the supermatter."
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
department_head = list(JOB_NT_REP)
faction = FACTION_STATION
total_positions = 1
spawn_positions = 1
- supervisors = "All Command Staff and Central Command when applicable" // BUBBER EDIT
+ supervisors = "Central Command and the Nanotrasen Consultant"
minimal_player_age = 7
exp_requirements = 2400
exp_required_type = EXP_TYPE_CREW
diff --git a/modular_skyrat/modules/cortical_borer/code/cortical_borer_antag.dm b/modular_skyrat/modules/cortical_borer/code/cortical_borer_antag.dm
index 130eb3a8eec..5de312eb22a 100644
--- a/modular_skyrat/modules/cortical_borer/code/cortical_borer_antag.dm
+++ b/modular_skyrat/modules/cortical_borer/code/cortical_borer_antag.dm
@@ -95,7 +95,7 @@
name = "Cortical Borer Infestation"
typepath = /datum/round_event/ghost_role/cortical_borer
weight = 10
- min_players = 20 // BUBBER EDIT
+ min_players = 999
max_occurrences = 1 //should only ever happen once
dynamic_should_hijack = TRUE
category = EVENT_CATEGORY_ENTITIES
diff --git a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm
index e01b9a5ad18..671650c6a90 100644
--- a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm
+++ b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm
@@ -274,10 +274,10 @@
icon_state = "fir36"
actions_types = list(/datum/action/item_action/adjust)
clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS //same flags as actual sec hailer gas mask
- flags_inv = HIDESNOUT // | HIDEFACE // bubber edit, makes no sense to block the whole face if it's blocking only half of it, right?
+ flags_inv = HIDESNOUT // | HIDEFACE // bubber edit, makes no sense to block the whole face if it's blocking only half of it, right? // BUBBER TODO: Modularity
flags_cover = NONE
visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
- visor_flags_inv = HIDESNOUT // | HIDEFACE // bubber edit
+ visor_flags_inv = HIDESNOUT // | HIDEFACE // bubber edit // BUBBER TODO: Modularity
w_class = WEIGHT_CLASS_SMALL
tint = 0
diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage/hemophage_species.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage/hemophage_species.dm
index dea158cf5ee..6c678419ed0 100644
--- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage/hemophage_species.dm
+++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage/hemophage_species.dm
@@ -14,7 +14,6 @@
TRAIT_VIRUSIMMUNE,
TRAIT_LITERATE,
TRAIT_DRINKS_BLOOD,
- TRAIT_MUTANT_COLORS, // BUBBER EDIT
)
inherent_biotypes = MOB_HUMANOID | MOB_ORGANIC
default_mutant_bodyparts = list(
diff --git a/modular_skyrat/modules/imported_vendors/code/vendors.dm b/modular_skyrat/modules/imported_vendors/code/vendors.dm
index e34156bbfef..ba97d290cd3 100644
--- a/modular_skyrat/modules/imported_vendors/code/vendors.dm
+++ b/modular_skyrat/modules/imported_vendors/code/vendors.dm
@@ -155,7 +155,7 @@
/obj/item/food/vendor_tray_meal/side/moffin = 6,
/obj/item/food/vendor_tray_meal/side/cornbread = 6,
/obj/item/food/vendor_tray_meal/side/roasted_seeds = 6,
- /obj/item/reagent_containers/condiment/moth_milk = 6, //BUBBER EDIT: ADDS MOTH MILK TO THE MOTH VENDOR.
+ /obj/item/reagent_containers/condiment/moth_milk = 6, //BUBBER EDIT: ADDS MOTH MILK TO THE MOTH VENDOR. //BUBBER TODO: Modularity
),
),
)
diff --git a/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm b/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm
index 632c141965d..6519f84e60e 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm
@@ -63,13 +63,13 @@
name = "Peacekeeper jacket"
item_path = /obj/item/clothing/suit/armor/vest/warden/rax
// ckeywhitelist = list("raxraus")
- restricted_roles = list(JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/under/jumpsuit/rax_banded_uniform
name = "Banded Uniform"
item_path = /obj/item/clothing/under/rank/security/rax
// ckeywhitelist = list("raxraus")
- restricted_roles = list(JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/head/goldengoggles
name = "Steampunk Goggles"
diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_accessory.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_accessory.dm
index 0884f038b24..9140fc6ee7e 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_accessory.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_accessory.dm
@@ -73,7 +73,7 @@ GLOBAL_LIST_INIT(loadout_accessory, generate_loadout_items(/datum/loadout_item/a
/datum/loadout_item/accessory/armband_security
name = "Security Armband"
item_path = /obj/item/clothing/accessory/armband/deputy/lopland
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_SECURITY_MEDIC, JOB_DETECTIVE) //BUBBER EDIT
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE)
/datum/loadout_item/accessory/armband_security_deputy
name = "Security Deputy Armband"
diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_glasses.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_glasses.dm
index 051c3eb1fcf..b387d79001c 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_glasses.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_glasses.dm
@@ -146,7 +146,7 @@ GLOBAL_LIST_INIT(loadout_glasses, generate_loadout_items(/datum/loadout_item/gla
/datum/loadout_item/glasses/medicpatch
name = "Medical Eyepatch"
item_path = /obj/item/clothing/glasses/hud/eyepatch/med
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/glasses/robopatch
name = "Diagnostic Eyepatch"
@@ -181,7 +181,7 @@ GLOBAL_LIST_INIT(loadout_glasses, generate_loadout_items(/datum/loadout_item/gla
/datum/loadout_item/glasses/medhud_glasses
name = "Prescription Medical HUD"
item_path = /obj/item/clothing/glasses/hud/health/prescription
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/glasses/diaghud_glasses
name = "Prescription Diagnostic HUD"
@@ -201,7 +201,7 @@ GLOBAL_LIST_INIT(loadout_glasses, generate_loadout_items(/datum/loadout_item/gla
/datum/loadout_item/glasses/aviator_health
name = "Medical HUD Aviators"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/health
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/glasses/aviator_meson
name = "Meson HUD Aviators"
@@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(loadout_glasses, generate_loadout_items(/datum/loadout_item/gla
/datum/loadout_item/glasses/prescription_aviator_health
name = "Prescription Medical HUD Aviators"
item_path = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/glasses/prescription_aviator_meson
name = "Prescription Meson HUD Aviators"
@@ -252,7 +252,7 @@ GLOBAL_LIST_INIT(loadout_glasses, generate_loadout_items(/datum/loadout_item/gla
/datum/loadout_item/glasses/retinal_projector_health
name = "Retinal Projector Health HUD"
item_path = /obj/item/clothing/glasses/hud/ar/projector/health
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/glasses/retinal_projector_meson
name = "Retinal Projector Meson HUD"
diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm
index 17af495d84a..928a558dc3c 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm
@@ -449,17 +449,17 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea
/datum/loadout_item/head/trekcapmedisci
name = "MedSci Officer's Cap (Blue)"
item_path = /obj/item/clothing/head/hats/caphat/parade/fedcap/medsci
- restricted_roles = list(JOB_CHIEF_MEDICAL_OFFICER, JOB_MEDICAL_DOCTOR, JOB_SECURITY_MEDIC, JOB_PARAMEDIC,JOB_CHEMIST, JOB_VIROLOGIST, JOB_PSYCHOLOGIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST, JOB_ORDERLY, JOB_CORONER)
+ restricted_roles = list(JOB_CHIEF_MEDICAL_OFFICER, JOB_MEDICAL_DOCTOR, JOB_PARAMEDIC,JOB_CHEMIST, JOB_VIROLOGIST, JOB_PSYCHOLOGIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/head/trekcapeng
name = "Eng Officer's Cap (Yellow)"
item_path = /obj/item/clothing/head/hats/caphat/parade/fedcap/eng
- restricted_roles = list(JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_STATION_ENGINEER, JOB_SECURITY_MEDIC, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_QUARTERMASTER, JOB_ENGINEERING_GUARD, JOB_CUSTOMS_AGENT) //BUBBER EDIT
+ restricted_roles = list(JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_STATION_ENGINEER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_QUARTERMASTER, JOB_ENGINEERING_GUARD, JOB_CUSTOMS_AGENT)
/datum/loadout_item/head/trekcapsec
name = "Officer's Cap (Red)"
item_path = /obj/item/clothing/head/hats/caphat/parade/fedcap/sec
- restricted_roles = list(JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_STATION_ENGINEER, JOB_SECURITY_MEDIC, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_QUARTERMASTER, JOB_CUSTOMS_AGENT) //BUBBER EDIT
+ restricted_roles = list(JOB_CHIEF_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_STATION_ENGINEER, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_QUARTERMASTER, JOB_CUSTOMS_AGENT)
/*
* JOB-LOCKED
@@ -489,22 +489,22 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea
/datum/loadout_item/head/cowboyhat_sec
name = "Cattleman Hat, Security"
item_path = /obj/item/clothing/head/cowboy/skyrat/cattleman/sec
- restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/head/cowboyhat_secwide
name = "Wide-Brimmed Cattleman Hat, Security"
item_path = /obj/item/clothing/head/cowboy/skyrat/cattleman/wide/sec
- restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/head/ushanka/sec
name = "Security Ushanka"
item_path = /obj/item/clothing/head/costume/ushanka/sec
- restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/head/blasthelmet
name = "General's Helmet"
item_path = /obj/item/clothing/head/hats/imperial/helmet
- restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_SECURITY_OFFICER, JOB_CORRECTIONS_OFFICER, JOB_CAPTAIN, JOB_HEAD_OF_PERSONNEL, JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_CHIEF_MEDICAL_OFFICER, JOB_CHIEF_ENGINEER)//BUBBER EDIT
+ restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_CORRECTIONS_OFFICER, JOB_CAPTAIN, JOB_HEAD_OF_PERSONNEL, JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_RESEARCH_DIRECTOR, JOB_QUARTERMASTER, JOB_CHIEF_MEDICAL_OFFICER, JOB_CHIEF_ENGINEER)
/datum/loadout_item/head/navybluehoscap
name = "Head of Security's Naval Cap"
@@ -514,7 +514,7 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea
/datum/loadout_item/head/navyblueofficerberet
name = "Security Officer's Navy Blue beret"
item_path = /obj/item/clothing/head/beret/sec/navyofficer
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_SECURITY_MEDIC, JOB_HEAD_OF_SECURITY, JOB_WARDEN) //BUBBER EDIT
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_WARDEN)
/datum/loadout_item/head/navybluewardenberet
name = "Warden's Navy Blue beret"
@@ -588,7 +588,7 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea
/datum/loadout_item/head/beret_med
name = "Medical Beret"
item_path = /obj/item/clothing/head/beret/medical
- restricted_roles = list(JOB_MEDICAL_DOCTOR,JOB_VIROLOGIST, JOB_CHEMIST, JOB_CHIEF_MEDICAL_OFFICER, JOB_SECURITY_MEDIC, JOB_ORDERLY, JOB_CORONER) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR,JOB_VIROLOGIST, JOB_CHEMIST, JOB_CHIEF_MEDICAL_OFFICER, JOB_ORDERLY, JOB_CORONER)
/datum/loadout_item/head/beret_paramedic
name = "Paramedic Beret"
diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_neck.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_neck.dm
index 66cbb80a1ef..53a35564419 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_neck.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_neck.dm
@@ -279,7 +279,7 @@ GLOBAL_LIST_INIT(loadout_necks, generate_loadout_items(/datum/loadout_item/neck)
/datum/loadout_item/neck/stethoscope
name = "Stethoscope"
item_path = /obj/item/clothing/neck/stethoscope
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_SECURITY_MEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER)
/datum/loadout_item/neck/maid
name = "Maid Neck Cover"
diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_suit.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_suit.dm
index 04ab10e1169..525e5b7c5ef 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_suit.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_suit.dm
@@ -589,7 +589,7 @@ GLOBAL_LIST_INIT(loadout_exosuits, generate_loadout_items(/datum/loadout_item/su
/datum/loadout_item/suit/navybluejacketofficer
name = "Security Officer's Navy Blue Formal Jacket"
item_path = /obj/item/clothing/suit/jacket/officer/blue
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC, JOB_WARDEN) //BUBBER EDIT
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_WARDEN)
/datum/loadout_item/suit/navybluejacketwarden
name = "Warden's Navy Blue Formal Jacket"
@@ -604,12 +604,12 @@ GLOBAL_LIST_INIT(loadout_exosuits, generate_loadout_items(/datum/loadout_item/su
/datum/loadout_item/suit/security_jacket
name = "Security Jacket"
item_path = /obj/item/clothing/suit/toggle/jacket/sec
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_SECURITY_MEDIC, JOB_WARDEN, JOB_DETECTIVE) //BUBBER EDIT
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE)
/datum/loadout_item/suit/brit
name = "High Vis Armored Vest"
item_path = /obj/item/clothing/suit/armor/vest/peacekeeper/brit
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_SECURITY_MEDIC, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/suit/british_jacket
name = "Peacekeeper Officer Coat"
@@ -654,7 +654,7 @@ GLOBAL_LIST_INIT(loadout_exosuits, generate_loadout_items(/datum/loadout_item/su
/datum/loadout_item/suit/labcoat_highvis
name = "High-Vis Labcoat"
item_path = /obj/item/clothing/suit/toggle/labcoat/skyrat/highvis
- restricted_roles = list(JOB_CHIEF_MEDICAL_OFFICER, JOB_PARAMEDIC, JOB_ATMOSPHERIC_TECHNICIAN, JOB_SECURITY_MEDIC, JOB_DETECTIVE, JOB_CHEMIST, JOB_ORDERLY) //BUBBER EDIT
+ restricted_roles = list(JOB_CHIEF_MEDICAL_OFFICER, JOB_PARAMEDIC, JOB_ATMOSPHERIC_TECHNICIAN, JOB_DETECTIVE, JOB_CHEMIST, JOB_ORDERLY)
/*
* FAMILIES
diff --git a/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm b/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm
index 887c1220722..7718acdc0e0 100644
--- a/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm
+++ b/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm
@@ -117,12 +117,12 @@ GLOBAL_LIST_INIT(loadout_miscunders, generate_loadout_items(/datum/loadout_item/
/datum/loadout_item/under/jumpsuit/security_trousers
name = "Security Trousers"
item_path = /obj/item/clothing/under/rank/security/peacekeeper/trousers
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC)
/datum/loadout_item/under/jumpsuit/security_peacekeeper
name = "Security Peacekeeper Uniform"
item_path = /obj/item/clothing/under/rank/security/peacekeeper
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_SECURITY_MEDIC)
/datum/loadout_item/under/jumpsuit/imperial_police_uniform
name = "Imperial Police Uniform"
@@ -208,7 +208,7 @@ GLOBAL_LIST_INIT(loadout_miscunders, generate_loadout_items(/datum/loadout_item/
/datum/loadout_item/under/jumpsuit/utility_med
name = "Medical Utility Uniform"
item_path = /obj/item/clothing/under/rank/medical/doctor/skyrat/utility
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_PARAMEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHIEF_MEDICAL_OFFICER, JOB_PSYCHOLOGIST, JOB_ORDERLY) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_PARAMEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_GENETICIST, JOB_CHIEF_MEDICAL_OFFICER, JOB_PSYCHOLOGIST, JOB_ORDERLY)
/datum/loadout_item/under/jumpsuit/utility_sci
name = "Science Utility Uniform"
@@ -223,7 +223,7 @@ GLOBAL_LIST_INIT(loadout_miscunders, generate_loadout_items(/datum/loadout_item/
/datum/loadout_item/under/jumpsuit/utility_sec
name = "Security Utility Uniform"
item_path = /obj/item/clothing/under/rank/security/skyrat/utility
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_DETECTIVE, JOB_SECURITY_MEDIC, JOB_WARDEN, JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) //BUBBER EDIT
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_DETECTIVE, JOB_WARDEN, JOB_BLUESHIELD, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER)
/datum/loadout_item/under/jumpsuit/utility_com
name = "Command Utility Uniform"
@@ -576,27 +576,27 @@ GLOBAL_LIST_INIT(loadout_miscunders, generate_loadout_items(/datum/loadout_item/
/datum/loadout_item/under/miscellaneous/redscrubs
name = "Red Scrubs"
item_path = /obj/item/clothing/under/rank/medical/scrubs/skyrat/red
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC)
/datum/loadout_item/under/miscellaneous/bluescrubs
name = "Blue Scrubs"
item_path = /obj/item/clothing/under/rank/medical/scrubs/blue
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC)
/datum/loadout_item/under/miscellaneous/greenscrubs
name = "Green Scrubs"
item_path = /obj/item/clothing/under/rank/medical/scrubs/green
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC)
/datum/loadout_item/under/miscellaneous/purplescrubs
name = "Purple Scrubs"
item_path = /obj/item/clothing/under/rank/medical/scrubs/purple
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC)
/datum/loadout_item/under/miscellaneous/whitescrubs
name = "White Scrubs"
item_path = /obj/item/clothing/under/rank/medical/scrubs/skyrat/white
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_SECURITY_MEDIC, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC) //BUBBER EDIT
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_VIROLOGIST, JOB_PARAMEDIC)
/datum/loadout_item/under/miscellaneous/gear_harness
name = "Gear Harness"
diff --git a/modular_skyrat/modules/player_ranks/code/subsystem/player_ranks.dm b/modular_skyrat/modules/player_ranks/code/subsystem/player_ranks.dm
index 04130e93b7a..33579c4744b 100644
--- a/modular_skyrat/modules/player_ranks/code/subsystem/player_ranks.dm
+++ b/modular_skyrat/modules/player_ranks/code/subsystem/player_ranks.dm
@@ -20,7 +20,7 @@ SUBSYSTEM_DEF(player_ranks)
var/datum/player_rank_controller/mentor/mentor_controller
/// The veteran player rank controller.
var/datum/player_rank_controller/veteran/veteran_controller
- var/datum/player_rank_controller/vetted/vetted_controller // BUBBER EDIT ADDITION
+ var/datum/player_rank_controller/vetted/vetted_controller // BUBBER EDIT ADDITION // BUBBER TODO: See if we can somehow make this modular
/datum/controller/subsystem/player_ranks/Initialize()
if(IsAdminAdvancedProcCall())
@@ -29,7 +29,7 @@ SUBSYSTEM_DEF(player_ranks)
load_donators()
load_mentors()
load_veterans()
- load_vetted_ckeys() // BUBBER EDIT ADDITION
+ load_vetted_ckeys() // BUBBER EDIT ADDITION // BUBBER TODO: Modularity
return SS_INIT_SUCCESS
@@ -39,7 +39,7 @@ SUBSYSTEM_DEF(player_ranks)
QDEL_NULL(donator_controller)
QDEL_NULL(mentor_controller)
QDEL_NULL(veteran_controller)
- QDEL_NULL(vetted_controller) // BUBBER EDIT ADDITION
+ QDEL_NULL(vetted_controller) // BUBBER EDIT ADDITION // BUBBER TODO: Modularity
/**
* Returns whether or not the user is qualified as a donator.
diff --git a/modular_zubbers/code/datums/ert.dm b/modular_zubbers/code/datums/ert.dm
index e48f30c28af..562e1da51f4 100644
--- a/modular_zubbers/code/datums/ert.dm
+++ b/modular_zubbers/code/datums/ert.dm
@@ -6,17 +6,16 @@
/datum/outfit/centcom/asset_protection
name = "Asset Protection"
- uniform = /obj/item/clothing/under/syndicate/sniper //BUBBER EDIT: Original: /obj/item/clothing/under/rank/centcom/commander
- back = /obj/item/mod/control/pre_equipped/asset_protection //BUBBER EDIT Original: /obj/item/mod/control/pre_equipped/apocryphal
+ uniform = /obj/item/clothing/under/syndicate/sniper
+ back = /obj/item/mod/control/pre_equipped/asset_protection
shoes = /obj/item/clothing/shoes/combat/swat
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
mask = /obj/item/clothing/mask/gas/sechailer/swat
glasses = /obj/item/clothing/glasses/hud/toggle/thermal
- l_pocket = /obj/item/flashlight/seclite //BUBBER EDIT Original: /obj/item/flashlight/
+ l_pocket = /obj/item/flashlight/seclite
r_pocket = /obj/item/tank/internals/emergency_oxygen/double
belt = /obj/item/storage/belt/security/full
l_hand = /obj/item/gun/energy/pulse/pistol/m1911/loyalpin // if this is still bulky make it not bulky and storable on belt/back/bag/exosuit
- //BUBBER EDIT: Original /obj/item/gun/energy/pulse/carbine/loyalpin
id = /obj/item/card/id/advanced/centcom/ert
ears = /obj/item/radio/headset/headset_cent/alt
diff --git a/modular_zubbers/code/game/objects/items/robot/robot_upgrades/adv_plasmacutter_upgrade.dm b/modular_zubbers/code/game/objects/items/robot/robot_upgrades/adv_plasmacutter_upgrade.dm
index e2eb3b3af81..e3aa820ad33 100644
--- a/modular_zubbers/code/game/objects/items/robot/robot_upgrades/adv_plasmacutter_upgrade.dm
+++ b/modular_zubbers/code/game/objects/items/robot/robot_upgrades/adv_plasmacutter_upgrade.dm
@@ -1,4 +1,4 @@
-/obj/item/gun/energy/plasmacutter/brg // Bubber Edit Plasma cutter for Mining cyborg, recharges on power.
+/obj/item/gun/energy/plasmacutter/brg // Plasma cutter for Mining cyborg, recharges on power.
name = "advanced plasma cutter"
icon_state = "adv_plasmacutter"
inhand_icon_state = "adv_plasmacutter"
diff --git a/modular_zubbers/code/modules/mob/living/basic/vermin/mouse.dm b/modular_zubbers/code/modules/mob/living/basic/vermin/mouse.dm
index ebbd3effb90..b5001c0a7d4 100644
--- a/modular_zubbers/code/modules/mob/living/basic/vermin/mouse.dm
+++ b/modular_zubbers/code/modules/mob/living/basic/vermin/mouse.dm
@@ -1,4 +1,4 @@
-//Bubber Edit Addition: MICE WADDLE NOW.
+//Addition: MICE WADDLE NOW.
/mob/living/basic/mouse/Initialize(mapload, tame = FALSE, new_body_color)
. = ..()
AddElement(/datum/element/waddling)
diff --git a/modular_zubbers/master_files/code/controllers/subsystem/id_access.dm b/modular_zubbers/master_files/code/controllers/subsystem/id_access.dm
new file mode 100644
index 00000000000..65a5ff64293
--- /dev/null
+++ b/modular_zubbers/master_files/code/controllers/subsystem/id_access.dm
@@ -0,0 +1,3 @@
+/datum/controller/subsystem/id_access/setup_access_descriptions()
+ . = ..()
+ desc_by_access["[ACCESS_BLACKSMITH]"] = "Blacksmith's Workshop"
diff --git a/modular_zubbers/master_files/code/controllers/subsystem/tts.dm b/modular_zubbers/master_files/code/controllers/subsystem/tts.dm
new file mode 100644
index 00000000000..12fdf8d3793
--- /dev/null
+++ b/modular_zubbers/master_files/code/controllers/subsystem/tts.dm
@@ -0,0 +1,7 @@
+// Note: This is terrible and permanently disables tts without fixing the underlying issue
+// I'm only moving changes to modular en masse, not fixing the lines of shitcode, if you see this and have the 5 minutes:
+// FIX THIS PLEASE
+// Waterpig~
+/datum/controller/subsystem/tts/establish_connection_to_tts()
+ message_admins("a naughty admin was prevented from hanging the server sending an external query.")
+ return
diff --git a/modular_zubbers/master_files/code/datums/diseases/chronic_ilness.dm b/modular_zubbers/master_files/code/datums/diseases/chronic_ilness.dm
new file mode 100644
index 00000000000..402efb1acce
--- /dev/null
+++ b/modular_zubbers/master_files/code/datums/diseases/chronic_ilness.dm
@@ -0,0 +1,2 @@
+/datum/disease/chronic_illness
+ process_dead = FALSE
diff --git a/modular_zubbers/master_files/code/modules/client/preferences/scaling_method.dm b/modular_zubbers/master_files/code/modules/client/preferences/scaling_method.dm
new file mode 100644
index 00000000000..5d4f6b59885
--- /dev/null
+++ b/modular_zubbers/master_files/code/modules/client/preferences/scaling_method.dm
@@ -0,0 +1,2 @@
+/datum/preference/choiced/scaling_method/create_default_value()
+ return SCALING_METHOD_NORMAL
diff --git a/modular_zubbers/master_files/code/modules/events/carp_migration.dm b/modular_zubbers/master_files/code/modules/events/carp_migration.dm
new file mode 100644
index 00000000000..2f615a7d7e7
--- /dev/null
+++ b/modular_zubbers/master_files/code/modules/events/carp_migration.dm
@@ -0,0 +1,5 @@
+/datum/round_event_control/carp_migration
+ weight = 10
+ min_players = 30
+ earliest_start = 45 MINUTES
+ max_occurrences = 2
diff --git a/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/abductors.dm b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/abductors.dm
new file mode 100644
index 00000000000..81ccbe4da96
--- /dev/null
+++ b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/abductors.dm
@@ -0,0 +1,2 @@
+/datum/species/abductor
+ sexes = TRUE
diff --git a/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/ethereal.dm
new file mode 100644
index 00000000000..1096f8f344f
--- /dev/null
+++ b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/ethereal.dm
@@ -0,0 +1,2 @@
+/datum/species/ethereal
+ sexes = TRUE
diff --git a/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
new file mode 100644
index 00000000000..843d24c4408
--- /dev/null
+++ b/modular_zubbers/master_files/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -0,0 +1,2 @@
+/datum/species/plasmaman
+ sexes = TRUE
diff --git a/modular_zubbers/master_files/skyrat/modules/blueshield/code/blueshield.dm b/modular_zubbers/master_files/skyrat/modules/blueshield/code/blueshield.dm
new file mode 100644
index 00000000000..c44247b94e5
--- /dev/null
+++ b/modular_zubbers/master_files/skyrat/modules/blueshield/code/blueshield.dm
@@ -0,0 +1,3 @@
+/datum/job/blueshield
+ description = "Protect the Heads of Staff and get your hands dirty so they can keep theirs clean."
+ supervisors = "All Command Staff and Central Command when applicable"
diff --git a/modular_zubbers/master_files/skyrat/modules/cortical_borer/code/cortical_borer_antag.dm b/modular_zubbers/master_files/skyrat/modules/cortical_borer/code/cortical_borer_antag.dm
new file mode 100644
index 00000000000..39abbc0ea9a
--- /dev/null
+++ b/modular_zubbers/master_files/skyrat/modules/cortical_borer/code/cortical_borer_antag.dm
@@ -0,0 +1,2 @@
+/datum/round_event_control/cortical_borer
+ min_players = 20
diff --git a/modular_zubbers/modules/antagonists/sentient_disease/code/disease_abilities.dm b/modular_zubbers/modules/antagonists/sentient_disease/code/disease_abilities.dm
new file mode 100644
index 00000000000..7afe7d84367
--- /dev/null
+++ b/modular_zubbers/modules/antagonists/sentient_disease/code/disease_abilities.dm
@@ -0,0 +1,21 @@
+// NEW SYMPTOM
+/datum/disease_ability/symptom/mild/hidden
+ name = "Adaption" //Symptom to increase Sentient Virus base Stealth+Resistance
+ symptoms = list(/datum/symptom/hidden)
+ cost = 0 //Cost is 0 because the virus will already have this by default.
+ required_total_points = 0 //Available at start if refunded.
+ start_with = TRUE //Starts the virus with the symptom. For balancing reasons.
+ short_desc = "Hightens your stealth and resistance."
+ long_desc = "An adaptation that allows for greater stealth and resistance."
+
+// Overrides
+/datum/disease_ability/action/infect
+ cost = 0
+ required_total_points = 0
+ start_with = TRUE
+
+/datum/disease_ability/symptom/medium
+ required_total_points = 6
+
+/datum/disease_ability/symptom/powerful
+ required_total_points = 10
diff --git a/modular_zubbers/modules/arcades/code/overrides/spawners.dm b/modular_zubbers/modules/arcades/code/overrides/spawners.dm
new file mode 100644
index 00000000000..c81ff69e101
--- /dev/null
+++ b/modular_zubbers/modules/arcades/code/overrides/spawners.dm
@@ -0,0 +1,7 @@
+/obj/effect/spawner/random/entertainment/arcade/Initialize(mapload)
+ loot |= list(
+ /obj/machinery/computer/arcade/minesweeper = 49,
+ )
+ loot[/obj/machinery/computer/arcade/amputation] += 1 // Increase this each time you add a new arcade machine
+ . = ..()
+
diff --git a/modular_zubbers/modules/automapper/code/area_spawn_entries.dm b/modular_zubbers/modules/automapper/code/area_spawn_entries.dm
index 5fc9e83b5bc..2d212903a93 100644
--- a/modular_zubbers/modules/automapper/code/area_spawn_entries.dm
+++ b/modular_zubbers/modules/automapper/code/area_spawn_entries.dm
@@ -5,4 +5,4 @@
blacklisted_stations = list("Runtime Station", "MultiZ Debug", "Gateway Test") //so it spawns on void, burger, etc
/datum/area_spawn/lustwish_prison
- desired_atom = /obj/machinery/vending/dorms/prison //BUBBER EDIT: MAKES A PRISON LUSTWISH
+ desired_atom = /obj/machinery/vending/dorms/prison // PRISON LUSTWISH
diff --git a/modular_zubbers/modules/automapper/code/overrides/area_spawn_subsystem.dm b/modular_zubbers/modules/automapper/code/overrides/area_spawn_subsystem.dm
new file mode 100644
index 00000000000..6c9d88e5003
--- /dev/null
+++ b/modular_zubbers/modules/automapper/code/overrides/area_spawn_subsystem.dm
@@ -0,0 +1,7 @@
+/datum/area_spawn/New()
+ blacklisted_stations |= list("Lima Station", "Burgerstation")
+ . = ..()
+
+/datum/area_spawn_over/New()
+ blacklisted_stations |= list("Lima Station", "Burgerstation")
+ . = ..()
diff --git a/modular_zubbers/modules/borgs/code/robot_items.dm b/modular_zubbers/modules/borgs/code/robot_items.dm
index 77951ebae13..922687d72ca 100644
--- a/modular_zubbers/modules/borgs/code/robot_items.dm
+++ b/modular_zubbers/modules/borgs/code/robot_items.dm
@@ -96,3 +96,7 @@
log_silicon("[user] unloaded [extracted_item] onto [chute] ([AREACOORD(chute)]).")
in_use = FALSE
return
+
+
+/obj/item/gun/energy/recharge/kinetic_accelerator/cyborg
+ max_mod_capacity = 100
diff --git a/modular_zubbers/modules/clothing/armor_overrides/hos_armor.dm b/modular_zubbers/modules/clothing/armor_overrides/hos_armor.dm
new file mode 100644
index 00000000000..adc1629b14b
--- /dev/null
+++ b/modular_zubbers/modules/clothing/armor_overrides/hos_armor.dm
@@ -0,0 +1,4 @@
+/datum/armor/armor_hos
+ melee = 40
+ bullet = 35
+ laser = 40
diff --git a/modular_zubbers/modules/clothing/head/helmet.dm b/modular_zubbers/modules/clothing/code/head/helmet.dm
similarity index 100%
rename from modular_zubbers/modules/clothing/head/helmet.dm
rename to modular_zubbers/modules/clothing/code/head/helmet.dm
diff --git a/modular_zubbers/modules/hemophages/code/limbgrower.dm b/modular_zubbers/modules/hemophages/code/limbgrower.dm
new file mode 100644
index 00000000000..78e006374eb
--- /dev/null
+++ b/modular_zubbers/modules/hemophages/code/limbgrower.dm
@@ -0,0 +1,5 @@
+/obj/machinery/limbgrower/Initialize(mapload)
+ categories += list(
+ SPECIES_HEMOPHAGE
+ )
+ . = ..()
diff --git a/modular_zubbers/modules/hemophages/code/species.dm b/modular_zubbers/modules/hemophages/code/species.dm
new file mode 100644
index 00000000000..014c3e5ee18
--- /dev/null
+++ b/modular_zubbers/modules/hemophages/code/species.dm
@@ -0,0 +1,5 @@
+/datum/species/hemophage/New()
+ inherent_traits |= list(
+ TRAIT_MUTANT_COLORS,
+ )
+ . = ..()
diff --git a/modular_zubbers/modules/hydroponics/code/plantgenes/hydroponics.dm b/modular_zubbers/modules/hydroponics/code/plantgenes/hydroponics.dm
new file mode 100644
index 00000000000..5382aa71b94
--- /dev/null
+++ b/modular_zubbers/modules/hydroponics/code/plantgenes/hydroponics.dm
@@ -0,0 +1,4 @@
+/obj/structure/closet/secure_closet/hydroponics/PopulateContents()
+ . = ..()
+ for(var/i in 1 to 2)
+ new /obj/item/storage/box/disks_plantgene(src)
diff --git a/modular_zubbers/modules/jobs/code/job_types/quartermaster.dm b/modular_zubbers/modules/jobs/code/job_types/quartermaster.dm
new file mode 100644
index 00000000000..dc80e89c0f8
--- /dev/null
+++ b/modular_zubbers/modules/jobs/code/job_types/quartermaster.dm
@@ -0,0 +1,2 @@
+/datum/outfit/job/quartermaster
+ glasses = /obj/item/clothing/glasses/hud/gun_permit/sunglasses
diff --git a/modular_zubbers/modules/jobs/code/job_types/warden.dm b/modular_zubbers/modules/jobs/code/job_types/warden.dm
new file mode 100644
index 00000000000..4d8ea252df8
--- /dev/null
+++ b/modular_zubbers/modules/jobs/code/job_types/warden.dm
@@ -0,0 +1,6 @@
+/datum/job/warden
+ // I've been told sec should be played before warden by the original comment when modularising
+ // Don't personally agree because warden is a good learning role with none of the combat robustness requirements
+ // Feel free to remove this if you ever decide so
+ // ~Waterpig
+ exp_required_type_department = EXP_TYPE_SECURITY
diff --git a/modular_zubbers/code/datums/id_trim/jobs.dm b/modular_zubbers/modules/jobs/code/trims/jobs.dm
similarity index 76%
rename from modular_zubbers/code/datums/id_trim/jobs.dm
rename to modular_zubbers/modules/jobs/code/trims/jobs.dm
index dd6ef772d92..9fdeb4a4898 100644
--- a/modular_zubbers/code/datums/id_trim/jobs.dm
+++ b/modular_zubbers/modules/jobs/code/trims/jobs.dm
@@ -1,3 +1,16 @@
+/datum/id_trim/job/medical_doctor/New()
+ . = ..()
+ extra_access += list(
+ ACCESS_MORGUE_SECURE,
+ )
+
+/datum/id_trim/job/quartermaster/New()
+ . = ..()
+ minimal_access += list(
+ ACCESS_WEAPONS,
+ ACCESS_BLACKSMITH,
+ )
+
/datum/id_trim/job/blacksmith //Place Holder. You'll probably wanna come by and set these up correctly.
assignment = "Blacksmith"
trim_state = "trim_cargotechnician"
@@ -31,8 +44,23 @@
subdepartment_color = COLOR_ASSEMBLY_BLACK
sechud_icon_state = SECHUD_SECURITY_MEDIC
extra_access = list(ACCESS_DETECTIVE)
- minimal_access = list(ACCESS_SECURITY, ACCESS_BRIG_ENTRANCE, ACCESS_BRIG, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_MECH_SECURITY, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_MEDICAL, ACCESS_MORGUE)
- template_access = list(ACCESS_CAPTAIN, ACCESS_HOS, ACCESS_CHANGE_IDS)
+ minimal_access = list(
+ ACCESS_SECURITY,
+ ACCESS_BRIG_ENTRANCE,
+ ACCESS_BRIG,
+ ACCESS_COURT,
+ ACCESS_WEAPONS,
+ ACCESS_MECH_SECURITY,
+ ACCESS_MINERAL_STOREROOM,
+ ACCESS_MAINT_TUNNELS,
+ ACCESS_MEDICAL,
+ ACCESS_MORGUE,
+ )
+ template_access = list(
+ ACCESS_CAPTAIN,
+ ACCESS_HOS,
+ ACCESS_CHANGE_IDS,
+ )
/datum/id_trim/job/security_medic/New()
. = ..()
diff --git a/modular_zubbers/modules/loadouts/overrides/loadout_items/loadout_datum.dm b/modular_zubbers/modules/loadouts/overrides/loadout_items/loadout_datum.dm
new file mode 100644
index 00000000000..7fc05e32452
--- /dev/null
+++ b/modular_zubbers/modules/loadouts/overrides/loadout_items/loadout_datum.dm
@@ -0,0 +1,173 @@
+/datum/loadout_item/accessory/armband_security/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/glasses/medicpatch/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/glasses/medhud_glasses/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/glasses/aviator_health/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/glasses/prescription_aviator_health/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/glasses/retinal_projector_health/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/trekcapsec/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/cowboyhat_sec/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/cowboyhat_secwide/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/ushanka/sec/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/blasthelmet/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/navyblueofficerberet/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/head/beret_med/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/neck/stethoscope/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/suit/navybluejacketofficer/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/suit/security_jacket/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/suit/brit/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/suit/labcoat_highvis/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/suit/rax_peacekeeper_jacket/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/jumpsuit/rax_banded_uniform/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/jumpsuit/security_trousers/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/jumpsuit/security_peacekeeper/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/jumpsuit/utility_med/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/jumpsuit/utility_sec/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/miscellaneous/redscrubs/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/miscellaneous/bluescrubs/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/miscellaneous/greenscrubs/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/miscellaneous/purplescrubs/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
+
+/datum/loadout_item/under/miscellaneous/whitescrubs/New()
+ . = ..()
+ restricted_roles |= list(
+ JOB_SECURITY_MEDIC,
+ )
diff --git a/modular_zubbers/modules/mapping/modules/ss13_construct/areas.dm b/modular_zubbers/modules/mapping/modules/ss13_construct/areas.dm
new file mode 100644
index 00000000000..1fd07844383
--- /dev/null
+++ b/modular_zubbers/modules/mapping/modules/ss13_construct/areas.dm
@@ -0,0 +1,15 @@
+/area/awaymission/secret/powered/construct
+ name = "construct"
+ ambience_index = null
+ ambient_buzz = null
+
+/area/awaymission/secret/unpowered/construct
+ name = "construct unpowered"
+ ambient_buzz = null
+
+/area/awaymission/secret/powered/construct/fullbright
+ static_lighting = FALSE
+ base_lighting_alpha = 255
+
+/area/centcom/central_command_areas/briefing/construct
+ ambient_buzz = null
diff --git a/modular_zubbers/modules/quirks/code/_quirk.dm b/modular_zubbers/modules/quirks/code/_quirk.dm
new file mode 100644
index 00000000000..96b96d22c23
--- /dev/null
+++ b/modular_zubbers/modules/quirks/code/_quirk.dm
@@ -0,0 +1,3 @@
+/datum/quirk
+ /// Flags related to species whitelists.
+ var/quirk_whitelist_flags // Whitelist bitflags in code/__DEFINES/~~bubber_defines/quirk_whitelist.dm
diff --git a/modular_zubbers/modules/quirks/code/negative_quirks/sensitive_snout.dm b/modular_zubbers/modules/quirks/code/negative_quirks/sensitive_snout.dm
new file mode 100644
index 00000000000..d2a8890e65b
--- /dev/null
+++ b/modular_zubbers/modules/quirks/code/negative_quirks/sensitive_snout.dm
@@ -0,0 +1,16 @@
+/datum/quirk/sensitivesnout
+ value = -2
+
+/datum/quirk/sensitivesnout/post_add()
+ quirk_holder.apply_status_effect(/datum/status_effect/sensitivesnout)
+
+/datum/quirk/sensitivesnout/remove()
+ quirk_holder.remove_status_effect(/datum/status_effect/sensitivesnout)
+
+/datum/status_effect/sensitivesnout
+ id = "sensitivesnout"
+ duration = -1
+ alert_type = null
+
+/datum/status_effect/sensitivesnout/get_examine_text()
+ return span_warning("[owner.p_Their()] snout is rather bappable...")
diff --git a/modular_zubbers/code/datums/quirks/neutral_quirks/hungry.dm b/modular_zubbers/modules/quirks/code/neutral_quirks/hungry.dm
similarity index 100%
rename from modular_zubbers/code/datums/quirks/neutral_quirks/hungry.dm
rename to modular_zubbers/modules/quirks/code/neutral_quirks/hungry.dm
diff --git a/modular_zubbers/code/datums/quirks/neutral_quirks/waddle.dm b/modular_zubbers/modules/quirks/code/neutral_quirks/waddle.dm
similarity index 100%
rename from modular_zubbers/code/datums/quirks/neutral_quirks/waddle.dm
rename to modular_zubbers/modules/quirks/code/neutral_quirks/waddle.dm
diff --git a/modular_zubbers/modules/space_background/parallax.dm b/modular_zubbers/modules/space_background/parallax.dm
new file mode 100644
index 00000000000..fdbb4522558
--- /dev/null
+++ b/modular_zubbers/modules/space_background/parallax.dm
@@ -0,0 +1,2 @@
+/datum/preference/choiced/parallax/create_default_value()
+ return PARALLAX_DISABLE
diff --git a/modular_zubbers/code/game/turf/space.dm b/modular_zubbers/modules/space_background/turf_space.dm
similarity index 100%
rename from modular_zubbers/code/game/turf/space.dm
rename to modular_zubbers/modules/space_background/turf_space.dm
diff --git a/modular_zubbers/modules/vetted/overrides/erp_preferences.dm b/modular_zubbers/modules/vetted/overrides/erp_preferences.dm
new file mode 100644
index 00000000000..edb55e3acf3
--- /dev/null
+++ b/modular_zubbers/modules/vetted/overrides/erp_preferences.dm
@@ -0,0 +1,13 @@
+/datum/preference/toggle/master_erp_preferences/is_accessible(datum/preferences/preferences)
+ . = ..()
+ if(.)
+ if(!SSplayer_ranks.is_vetted(preferences.parent, admin_bypass = FALSE))
+ return FALSE
+ return .
+
+/datum/preference/toggle/erp/is_accessible(datum/preferences/preferences)
+ . = ..()
+ if(.)
+ if(!SSplayer_ranks.is_vetted(preferences.parent, admin_bypass = FALSE))
+ return FALSE
+ return .
diff --git a/tgstation.dme b/tgstation.dme
index 9e79a82660d..2f34ac19b37 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -460,6 +460,8 @@
#include "code\__DEFINES\~skyrat_defines\_HELPERS\lighting.dm"
#include "code\__DEFINES\~skyrat_defines\_HELPERS\offset_index.dm"
#include "code\__DEFINES\~~bubber_defines\access.dm"
+#include "code\__DEFINES\~~bubber_defines\economy.dm"
+#include "code\__DEFINES\~~bubber_defines\footsteps.dm"
#include "code\__DEFINES\~~bubber_defines\jobs.dm"
#include "code\__DEFINES\~~bubber_defines\misc.dm"
#include "code\__DEFINES\~~bubber_defines\quirk_whitelist.dm"
@@ -7954,11 +7956,8 @@
#include "modular_zubbers\code\datums\components\crafting\utility.dm"
#include "modular_zubbers\code\datums\computer_datums\protolathe_modifications.dm"
#include "modular_zubbers\code\datums\diseases\advance\presets.dm"
-#include "modular_zubbers\code\datums\id_trim\jobs.dm"
#include "modular_zubbers\code\datums\mood_events\food_events.dm"
#include "modular_zubbers\code\datums\mood_events\miasma_events.dm"
-#include "modular_zubbers\code\datums\quirks\neutral_quirks\hungry.dm"
-#include "modular_zubbers\code\datums\quirks\neutral_quirks\waddle.dm"
#include "modular_zubbers\code\datums\shuttle\arena.dm"
#include "modular_zubbers\code\datums\shuttles\emergency.dm"
#include "modular_zubbers\code\game\area\areas\burgerstation.dm"
@@ -8025,7 +8024,6 @@
#include "modular_zubbers\code\game\objects\structures\plaques\static_plaques.dm"
#include "modular_zubbers\code\game\traits\negative.dm"
#include "modular_zubbers\code\game\traits\neutral.dm"
-#include "modular_zubbers\code\game\turf\space.dm"
#include "modular_zubbers\code\modules\_defines.dm"
#include "modular_zubbers\code\modules\admin\verbs\debug.dm"
#include "modular_zubbers\code\modules\alternative_job_titles\code\alt_job_titles.dm"
@@ -8200,17 +8198,31 @@
#include "modular_zubbers\maps\offstation\dauntless\mob_spawns.dm"
#include "modular_zubbers\maps\offstation\dauntless\robot.dm"
#include "modular_zubbers\maps\offstation\dauntless\security.dm"
+#include "modular_zubbers\master_files\code\controllers\subsystem\id_access.dm"
+#include "modular_zubbers\master_files\code\controllers\subsystem\tts.dm"
+#include "modular_zubbers\master_files\code\datums\diseases\chronic_ilness.dm"
#include "modular_zubbers\master_files\code\modules\client\preferences\hypnopref.dm"
#include "modular_zubbers\master_files\code\modules\client\preferences\obscurity_examine.dm"
+#include "modular_zubbers\master_files\code\modules\client\preferences\scaling_method.dm"
+#include "modular_zubbers\master_files\code\modules\events\carp_migration.dm"
+#include "modular_zubbers\master_files\code\modules\mob\living\carbon\human\species_types\abductors.dm"
+#include "modular_zubbers\master_files\code\modules\mob\living\carbon\human\species_types\ethereal.dm"
+#include "modular_zubbers\master_files\code\modules\mob\living\carbon\human\species_types\plasmamen.dm"
#include "modular_zubbers\master_files\code\modules\research\designs\biogenerator_designs.dm"
#include "modular_zubbers\master_files\code\modules\research\designs\weapon_designs.dm"
+#include "modular_zubbers\master_files\skyrat\modules\blueshield\code\blueshield.dm"
+#include "modular_zubbers\master_files\skyrat\modules\cortical_borer\code\cortical_borer_antag.dm"
+#include "modular_zubbers\modules\antagonists\sentient_disease\code\disease_abilities.dm"
+#include "modular_zubbers\modules\arcades\code\overrides\spawners.dm"
#include "modular_zubbers\modules\ashwalkers\code\effects\ash_rituals.dm"
#include "modular_zubbers\modules\automapper\code\area_spawn_entries.dm"
+#include "modular_zubbers\modules\automapper\code\overrides\area_spawn_subsystem.dm"
#include "modular_zubbers\modules\borgs\code\robot_defines.dm"
#include "modular_zubbers\modules\borgs\code\robot_items.dm"
#include "modular_zubbers\modules\borgs\code\robot_model.dm"
#include "modular_zubbers\modules\borgs\code\robot_upgrade.dm"
-#include "modular_zubbers\modules\clothing\head\helmet.dm"
+#include "modular_zubbers\modules\clothing\armor_overrides\hos_armor.dm"
+#include "modular_zubbers\modules\clothing\code\head\helmet.dm"
#include "modular_zubbers\modules\customization\modules\language\_language_holder.dm"
#include "modular_zubbers\modules\customization\modules\language\nekomimetic.dm"
#include "modular_zubbers\modules\customization\modules\language\piratespeak.dm"
@@ -8220,6 +8232,14 @@
#include "modular_zubbers\modules\customization\modules\mob\living\carbon\human\species\akula.dm"
#include "modular_zubbers\modules\emotes\code\emotes.dm"
#include "modular_zubbers\modules\gladiator\code\game\objects\items\gladiator_items.dm"
+#include "modular_zubbers\modules\hemophages\code\limbgrower.dm"
+#include "modular_zubbers\modules\hemophages\code\species.dm"
+#include "modular_zubbers\modules\hydroponics\code\plantgenes\hydroponics.dm"
+#include "modular_zubbers\modules\jobs\code\job_types\quartermaster.dm"
+#include "modular_zubbers\modules\jobs\code\job_types\warden.dm"
+#include "modular_zubbers\modules\jobs\code\trims\jobs.dm"
+#include "modular_zubbers\modules\loadouts\overrides\loadout_items\loadout_datum.dm"
+#include "modular_zubbers\modules\mapping\modules\ss13_construct\areas.dm"
#include "modular_zubbers\modules\modular_items\code\cake_light.dm"
#include "modular_zubbers\modules\modular_items\code\HoS_beacon.dm"
#include "modular_zubbers\modules\modular_items\code\idmaco_donator.dm"
@@ -8229,7 +8249,14 @@
#include "modular_zubbers\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\ammo\pistol.dm"
#include "modular_zubbers\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\ammo\rifle.dm"
#include "modular_zubbers\modules\modular_weapons\code\company_and_or_faction_based\trappiste_fabriek\ammo.dm"
+#include "modular_zubbers\modules\quirks\code\_quirk.dm"
+#include "modular_zubbers\modules\quirks\code\negative_quirks\sensitive_snout.dm"
+#include "modular_zubbers\modules\quirks\code\neutral_quirks\hungry.dm"
+#include "modular_zubbers\modules\quirks\code\neutral_quirks\waddle.dm"
+#include "modular_zubbers\modules\space_background\parallax.dm"
+#include "modular_zubbers\modules\space_background\turf_space.dm"
#include "modular_zubbers\modules\title_screen\code\title_screen_subsystem.dm"
#include "modular_zubbers\modules\vetted\examine.dm"
#include "modular_zubbers\modules\vetted\vetted.dm"
+#include "modular_zubbers\modules\vetted\overrides\erp_preferences.dm"
// END_INCLUDE