mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 03:55:11 +01:00
Waterpig grows more insane with modularity: The massive PR that probably breaks shit (#838)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request I have circuitry theory finals in 1 hour. And as such, to distract myself from my impending doom and to stop thinking about loop currents, I have decided to start working on this. (Update: I passed) This isn't even close to how I wish our modularity to look But that's future Waterpig's problem (Note to self: Fix the no_antag button) In another news, this probably breaks stuff. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> <!-- Please make sure to actually test your PRs. If you have not tested your PR mention it. --> ## Why It's Good For The Game Modularity is good. The more stuff we can modularize the better, and incase it gets removed upstream it's as simple as... removing our modular override. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 refactor: Refactors modularity significantly /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> <!-- By opening a pull request. You have read and understood the repository rules located on the main README.md on this project. --> --------- Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
//footstep mob defines
|
||||
#define FOOTSTEP_MOB_SNAKE 9
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.<br>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)
|
||||
|
||||
@@ -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("<span class='adminnotice'>Failed Login: [key] - [address] - New account attempting to connect during panic bunker</span>")
|
||||
//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, {"<span class='notice'>Hi! This server is whitelist-enabled. <br> <br> 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: <a href=' [forumurl] '>[forumurl]</a></span>"})
|
||||
//BUBBER EDIT ADDITION END - PANICBUNKER TEXT
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
-1
@@ -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(
|
||||
|
||||
@@ -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
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
+1
-1
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
/datum/controller/subsystem/id_access/setup_access_descriptions()
|
||||
. = ..()
|
||||
desc_by_access["[ACCESS_BLACKSMITH]"] = "Blacksmith's Workshop"
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
/datum/disease/chronic_illness
|
||||
process_dead = FALSE
|
||||
@@ -0,0 +1,2 @@
|
||||
/datum/preference/choiced/scaling_method/create_default_value()
|
||||
return SCALING_METHOD_NORMAL
|
||||
@@ -0,0 +1,5 @@
|
||||
/datum/round_event_control/carp_migration
|
||||
weight = 10
|
||||
min_players = 30
|
||||
earliest_start = 45 MINUTES
|
||||
max_occurrences = 2
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
/datum/species/abductor
|
||||
sexes = TRUE
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
/datum/species/ethereal
|
||||
sexes = TRUE
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
/datum/species/plasmaman
|
||||
sexes = TRUE
|
||||
@@ -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"
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
/datum/round_event_control/cortical_borer
|
||||
min_players = 20
|
||||
@@ -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
|
||||
@@ -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
|
||||
. = ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
. = ..()
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
/datum/armor/armor_hos
|
||||
melee = 40
|
||||
bullet = 35
|
||||
laser = 40
|
||||
@@ -0,0 +1,5 @@
|
||||
/obj/machinery/limbgrower/Initialize(mapload)
|
||||
categories += list(
|
||||
SPECIES_HEMOPHAGE
|
||||
)
|
||||
. = ..()
|
||||
@@ -0,0 +1,5 @@
|
||||
/datum/species/hemophage/New()
|
||||
inherent_traits |= list(
|
||||
TRAIT_MUTANT_COLORS,
|
||||
)
|
||||
. = ..()
|
||||
@@ -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)
|
||||
@@ -0,0 +1,2 @@
|
||||
/datum/outfit/job/quartermaster
|
||||
glasses = /obj/item/clothing/glasses/hud/gun_permit/sunglasses
|
||||
@@ -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
|
||||
+30
-2
@@ -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()
|
||||
. = ..()
|
||||
@@ -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,
|
||||
)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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...")
|
||||
@@ -0,0 +1,2 @@
|
||||
/datum/preference/choiced/parallax/create_default_value()
|
||||
return PARALLAX_DISABLE
|
||||
@@ -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 .
|
||||
+32
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user