diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm
index 5a834b1f87..253e9f5888 100644
--- a/code/__DEFINES/DNA.dm
+++ b/code/__DEFINES/DNA.dm
@@ -61,7 +61,7 @@
//DNA - Because fuck you and your magic numbers being all over the codebase.
#define DNA_BLOCK_SIZE 3
-#define DNA_UNI_IDENTITY_BLOCKS 19
+#define DNA_UNI_IDENTITY_BLOCKS 19 //CIT CHANGE - adds more DNA blocks for cit's mutant bodyparts. Update citadel_defines.dm if this gets changed.
#define DNA_HAIR_COLOR_BLOCK 1
#define DNA_FACIAL_HAIR_COLOR_BLOCK 2
#define DNA_SKIN_TONE_BLOCK 3
@@ -69,19 +69,7 @@
#define DNA_GENDER_BLOCK 5
#define DNA_FACIAL_HAIR_STYLE_BLOCK 6
#define DNA_HAIR_STYLE_BLOCK 7
-#define DNA_EYE_COLOR_TWO_BLOCK 8
-#define DNA_EYE_COLOR_SWITCH_BLOCK 9
-#define DNA_EYE_COLOR_BLOCK 10
-#define DNA_COLOR_ONE_BLOCK 11
-#define DNA_COLOR_TWO_BLOCK 12
-#define DNA_COLOR_THR_BLOCK 13
-#define DNA_COLOR_SWITCH_BLOCK 14
-#define DNA_COLOR_SWITCH_MAX 7 //must be (2^(n+1))-1
-#define DNA_COCK_BLOCK 15
-#define DNA_MUTANTRACE_BLOCK 16
-#define DNA_MUTANTTAIL_BLOCK 17
-#define DNA_MUTANTWING_BLOCK 18
-#define DNA_WINGCOLOR_BLOCK 19
+
#define DNA_STRUC_ENZYMES_BLOCKS 18
#define DNA_UNIQUE_ENZYMES_LEN 32
@@ -127,7 +115,7 @@
#define TOXINLOVER 24
#define DIGITIGRADE 25 //Uses weird leg sprites. Optional for Lizards, required for ashwalkers. Don't give it to other races unless you make sprites for this (see human_parts_greyscale.dmi)
#define NO_UNDERWEAR 26
-#define NOLIVER 27
+#define NOLIVER 27
#define NOSTOMACH 28
#define NO_DNA_COPY 29
#define DRINKSBLOOD 30
@@ -135,11 +123,6 @@
#define SPECIES_INORGANIC 32
#define SPECIES_UNDEAD 33
#define SPECIES_ROBOTIC 34
-//citadel code
-#define MUTCOLORS2 35
-#define MUTCOLORS3 36
-#define NOAROUSAL 37 //Stops all arousal effects
-#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
#define ORGAN_SLOT_BRAIN "brain"
#define ORGAN_SLOT_APPENDIX "appendix"
diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm
index 7622fc0ea7..2c60abb325 100644
--- a/code/__DEFINES/admin.dm
+++ b/code/__DEFINES/admin.dm
@@ -1,79 +1,5 @@
//A set of constants used to determine which type of mute an admin wishes to apply:
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
-//Therefore there needs to be a gap between the flags_1 for the automute flags_1
-#define MUTE_IC 1
-#define MUTE_OOC 2
-#define MUTE_PRAY 4
-#define MUTE_ADMINHELP 8
-#define MUTE_DEADCHAT 16
-#define MUTE_ALL 31
-
-//Some constants for DB_Ban
-#define BANTYPE_PERMA 1
-#define BANTYPE_TEMP 2
-#define BANTYPE_JOB_PERMA 3
-#define BANTYPE_JOB_TEMP 4
-#define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban.
-
-#define BANTYPE_ADMIN_PERMA 7
-#define BANTYPE_ADMIN_TEMP 8
-#define BANTYPE_ANY_JOB 9 //used to remove jobbans
-
-//Please don't edit these values without speaking to Errorage first ~Carn
-//Admin Permissions
-#define R_BUILDMODE 1
-#define R_ADMIN 2
-#define R_BAN 4
-#define R_FUN 8
-#define R_SERVER 16
-#define R_DEBUG 32
-#define R_POSSESS 64
-#define R_PERMISSIONS 128
-#define R_STEALTH 256
-#define R_POLL 512
-#define R_VAREDIT 1024
-#define R_SOUNDS 2048
-#define R_SPAWN 4096
-
-#if DM_VERSION > 512
-#error Remove the flag below , its been long enough
-#endif
-//legacy , remove post 512, it was replaced by R_POLL
-#define R_REJUVINATE 2
-
-#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
-
-#define ADMIN_QUE(user) "(?)"
-#define ADMIN_FLW(user) "(FLW)"
-#define ADMIN_PP(user) "(PP)"
-#define ADMIN_VV(atom) "(VV)"
-#define ADMIN_SM(user) "(SM)"
-#define ADMIN_TP(user) "(TP)"
-#define ADMIN_KICK(user) "(KICK)"
-#define ADMIN_CENTCOM_REPLY(user) "(RPLY)"
-#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)"
-#define ADMIN_SC(user) "(SC)"
-#define ADMIN_SMITE(user) "(SMITE)"
-#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
-#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
-#define ADMIN_SET_SD_CODE "(SETCODE)"
-#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
-#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
-#define ADMIN_JMP(src) "(JMP)"
-#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
-#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
-#define ADMIN_INDIVIDUALLOG(user) "(LOGS)"
-
-#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
-#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
-#define ADMIN_PUNISHMENT_GIB "Gib"
-#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
-
-#define AHELP_ACTIVE 1
-#define AHELP_CLOSED 2
-#define AHELP_RESOLVED 3
-//A set of constants used to determine which type of mute an admin wishes to apply:
-//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
//Therefore there needs to be a gap between the flags for the automute flags
#define MUTE_IC 1
#define MUTE_OOC 2
diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
index 309489742c..1fba96b1eb 100644
--- a/code/__DEFINES/antagonists.dm
+++ b/code/__DEFINES/antagonists.dm
@@ -9,12 +9,12 @@
#define ANTAG_DATUM_TRAITOR /datum/antagonist/traitor
#define ANTAG_DATUM_TRAITOR_HUMAN /datum/antagonist/traitor/human
#define ANTAG_DATUM_TRAITOR_AI /datum/antagonist/traitor/AI
-#define ANTAG_DATUM_IAA /datum/antagonist/traitor/internal_affairs
+#define ANTAG_DATUM_IAA /datum/antagonist/traitor/internal_affairs
#define ANTAG_DATUM_IAA_HUMAN /datum/antagonist/traitor/human/internal_affairs
-#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
+#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
#define ANTAG_DATUM_BROTHER /datum/antagonist/brother
#define ANTAG_DATUM_ABDUCTOR /datum/antagonist/abductor
-#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
-#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
+#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
+#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
#define ANTAG_DATUM_MONKEY /datum/antagonist/monkey
-#define ANTAG_DATUM_MONKEY_LEADER /datum/antagonist/monkey/leader
+#define ANTAG_DATUM_MONKEY_LEADER /datum/antagonist/monkey/leader
\ No newline at end of file
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 4c8243cdc5..ff60d1c030 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -71,3 +71,31 @@
#define ADMIN_MARKREAD(client) "(MARK READ)"//marks an adminhelp as read and under investigation
#define ADMIN_IC(client) "(IC)"//marks and adminhelp as an IC issue
#define ADMIN_REJECT(client) "(REJT)"//Rejects an adminhelp for being unclear or otherwise unhelpful. resets their adminhelp timer
+
+//Damage stuffs
+#define AROUSAL "arousal"
+
+//DNA stuffs. Remember to change this if upstream adds more snowflake options
+#define DNA_EYE_COLOR_TWO_BLOCK 8
+#define DNA_EYE_COLOR_SWITCH_BLOCK 9
+#define DNA_EYE_COLOR_BLOCK 10
+#define DNA_COLOR_ONE_BLOCK 11
+#define DNA_COLOR_TWO_BLOCK 12
+#define DNA_COLOR_THR_BLOCK 13
+#define DNA_COLOR_SWITCH_BLOCK 14
+#define DNA_COLOR_SWITCH_MAX 7 //must be (2^(n+1))-1
+#define DNA_COCK_BLOCK 15
+#define DNA_MUTANTRACE_BLOCK 16
+#define DNA_MUTANTTAIL_BLOCK 17
+#define DNA_MUTANTWING_BLOCK 18
+#define DNA_WINGCOLOR_BLOCK 19
+
+
+//Species stuffs. Remember to change this if upstream updates species flags
+#define MUTCOLORS2 35
+#define MUTCOLORS3 36
+#define NOAROUSAL 37 //Stops all arousal effects
+#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
+
+//Brainslugs
+#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm
new file mode 100644
index 0000000000..b8a9f0d6c4
--- /dev/null
+++ b/code/__DEFINES/colors.dm
@@ -0,0 +1,4 @@
+// This is eventualy for wjohn to add more color standardization stuff like I keep asking him >:(
+
+#define COLOR_INPUT_DISABLED "#F0F0F0"
+#define COLOR_INPUT_ENABLED "#D3B5B5"
\ No newline at end of file
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 3b08375d0d..582074fcba 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -11,9 +11,6 @@
#define STAMINA "stamina"
#define BRAIN "brain"
-//Citadel code
-#define AROUSAL "arousal"
-
//bitflag damage defines used for suicide_act
#define BRUTELOSS 1
#define FIRELOSS 2
@@ -22,9 +19,6 @@
#define SHAME 16
#define MANUAL_SUICIDE 32 //suicide_act will do the actual killing.
-//Citadel code
-#define AROUSAL 32
-
#define STUN "stun"
#define KNOCKDOWN "knockdown"
#define UNCONSCIOUS "unconscious"
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index 7eebdff142..b5f48f8217 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -75,14 +75,6 @@
// /obj/item/clothing signals
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
-// /obj/item signals
-#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (mob/living/target, mob/living/user)
-#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (mob)
-#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (obj, mob)
-
-// /obj/item/clothing signals
-#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
-
// /obj/machinery signals
#define COMSIG_MACHINE_PROCESS "machine_process" //from machinery subsystem fire(): ()
#define COMSIG_MACHINE_PROCESS_ATMOS "machine_process_atmos" //from air subsystem process_atmos_machinery(): ()
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 965ee51502..8b3e74b96e 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define ON_BORDER_1 512 // item has priority to check when entering or leaving
#define NOSLIP_1 1024 //prevents from slipping on wet floors, in space etc
-#define CLEAN_ON_MOVE_1 2048
+#define _UNUSED_1 2048
// BLOCK_GAS_SMOKE_EFFECT_1 only used in masks at the moment.
#define BLOCK_GAS_SMOKE_EFFECT_1 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm
index a1842648ac..d2de6f9100 100644
--- a/code/__DEFINES/inventory.dm
+++ b/code/__DEFINES/inventory.dm
@@ -86,7 +86,7 @@
. = SLOT_POCKET
-//Bit flags_1 for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
+//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses.
#define HIDEGLOVES 1
#define HIDESUITSTORAGE 2
#define HIDEJUMPSUIT 4 //these first four are only used in exterior suits
@@ -134,17 +134,17 @@
#define THERMAL_PROTECTION_HAND_LEFT 0.025
#define THERMAL_PROTECTION_HAND_RIGHT 0.025
-//flags_1 for female outfits: How much the game can safely "take off" the uniform without it looking weird
+//flags for female outfits: How much the game can safely "take off" the uniform without it looking weird
#define NO_FEMALE_UNIFORM 0
#define FEMALE_UNIFORM_FULL 1
#define FEMALE_UNIFORM_TOP 2
-//flags_1 for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
+//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
#define NORMAL_STYLE 0
#define ALT_STYLE 1
#define DIGITIGRADE_STYLE 2
-//flags_1 for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
+//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
#define NO_MUTANTRACE_VARIATION 0
#define MUTANTRACE_VARIATION 1
@@ -152,9 +152,9 @@
#define FULL_DIGITIGRADE 1
#define SQUISHED_DIGITIGRADE 2
-//flags_1 for covering body parts
+//flags for covering body parts
#define GLASSESCOVERSEYES 1
-#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags_1
+#define MASKCOVERSEYES 2 // get rid of some of the other retardation in these flags
#define HEADCOVERSEYES 4 // feel free to realloc these numbers for other purposes
#define MASKCOVERSMOUTH 8 // on other items, these are just for mask/head
#define HEADCOVERSMOUTH 16
@@ -199,7 +199,8 @@ GLOBAL_LIST_INIT(detective_vest_allowed, typecacheof(list(
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/storage/fancy/cigarettes,
- /obj/item/tank/internals/emergency_oxygen)))
+ /obj/item/tank/internals/emergency_oxygen,
+ /obj/item/tank/internals/plasmaman)))
GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list(
/obj/item/ammo_box,
@@ -212,7 +213,8 @@ GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list(
/obj/item/melee/classic_baton/telescopic,
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
- /obj/item/tank/internals/emergency_oxygen)))
+ /obj/item/tank/internals/emergency_oxygen,
+ /obj/item/tank/internals/plasmaman)))
GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
/obj/item/ammo_box,
@@ -227,4 +229,5 @@ GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/tank/internals/emergency_oxygen,
+ /obj/item/tank/internals/plasmaman,
/obj/item/toy)))
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index da25d34880..f86277e5c3 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -95,8 +95,6 @@
#define isrevenant(A) (istype(A, /mob/living/simple_animal/revenant))
-#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
-
#define isbot(A) (istype(A, /mob/living/simple_animal/bot))
#define iscrab(A) (istype(A, /mob/living/simple_animal/crab))
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index d112222816..7ea710dd3b 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -49,7 +49,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
#define FRIDAY_13TH "Friday the 13th"
//Human Overlays Indexes/////////
-//citadel code
+//LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS
#define MUTATIONS_LAYER 30 //mutations. Tk headglows, cold resistance glow, etc
#define GENITALS_BEHIND_LAYER 29 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
#define BODY_BEHIND_LAYER 28 //certain mutantrace features (tail when looking south) that must appear behind the body parts
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index b6133df287..d7a5356f0f 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -1,52 +1,52 @@
-
-//Preference toggles
-#define SOUND_ADMINHELP 1
-#define SOUND_MIDI 2
-#define SOUND_AMBIENCE 4
-#define SOUND_LOBBY 8
-#define MEMBER_PUBLIC 16
-#define INTENT_STYLE 32
-#define MIDROUND_ANTAG 64
-#define SOUND_INSTRUMENTS 128
-#define SOUND_SHIP_AMBIENCE 256
-#define SOUND_PRAYERS 512
-#define ANNOUNCE_LOGIN 1024
-#define SOUND_ANNOUNCEMENTS 2048
-#define DISABLE_DEATHRATTLE 4096
-#define DISABLE_ARRIVALRATTLE 8192
-
-#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
-
-//Chat toggles
-#define CHAT_OOC 1
-#define CHAT_DEAD 2
-#define CHAT_GHOSTEARS 4
-#define CHAT_GHOSTSIGHT 8
-#define CHAT_PRAYER 16
-#define CHAT_RADIO 32
-#define CHAT_PULLR 64
-#define CHAT_GHOSTWHISPER 128
-#define CHAT_GHOSTPDA 256
-#define CHAT_GHOSTRADIO 512
-#define CHAT_LOOC 1024
-
-#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_LOOC)
-
-#define PARALLAX_INSANE -1 //for show offs
-#define PARALLAX_HIGH 0 //default.
-#define PARALLAX_MED 1
-#define PARALLAX_LOW 2
-#define PARALLAX_DISABLE 3 //this option must be the highest number
-
-#define PARALLAX_DELAY_DEFAULT world.tick_lag
-#define PARALLAX_DELAY_MED 1
-#define PARALLAX_DELAY_LOW 2
-
-#define SEC_DEPT_NONE "None"
-#define SEC_DEPT_RANDOM "Random"
-#define SEC_DEPT_ENGINEERING "Engineering"
-#define SEC_DEPT_MEDICAL "Medical"
-#define SEC_DEPT_SCIENCE "Science"
+
+//Preference toggles
+#define SOUND_ADMINHELP 1
+#define SOUND_MIDI 2
+#define SOUND_AMBIENCE 4
+#define SOUND_LOBBY 8
+#define MEMBER_PUBLIC 16
+#define INTENT_STYLE 32
+#define MIDROUND_ANTAG 64
+#define SOUND_INSTRUMENTS 128
+#define SOUND_SHIP_AMBIENCE 256
+#define SOUND_PRAYERS 512
+#define ANNOUNCE_LOGIN 1024
+#define SOUND_ANNOUNCEMENTS 2048
+#define DISABLE_DEATHRATTLE 4096
+#define DISABLE_ARRIVALRATTLE 8192
+
+#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
+
+//Chat toggles
+#define CHAT_OOC 1
+#define CHAT_DEAD 2
+#define CHAT_GHOSTEARS 4
+#define CHAT_GHOSTSIGHT 8
+#define CHAT_PRAYER 16
+#define CHAT_RADIO 32
+#define CHAT_PULLR 64
+#define CHAT_GHOSTWHISPER 128
+#define CHAT_GHOSTPDA 256
+#define CHAT_GHOSTRADIO 512
+#define CHAT_LOOC 1024
+
+#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_LOOC)
+
+#define PARALLAX_INSANE -1 //for show offs
+#define PARALLAX_HIGH 0 //default.
+#define PARALLAX_MED 1
+#define PARALLAX_LOW 2
+#define PARALLAX_DISABLE 3 //this option must be the highest number
+
+#define PARALLAX_DELAY_DEFAULT world.tick_lag
+#define PARALLAX_DELAY_MED 1
+#define PARALLAX_DELAY_LOW 2
+
+#define SEC_DEPT_NONE "None"
+#define SEC_DEPT_RANDOM "Random"
+#define SEC_DEPT_ENGINEERING "Engineering"
+#define SEC_DEPT_MEDICAL "Medical"
+#define SEC_DEPT_SCIENCE "Science"
#define SEC_DEPT_SUPPLY "Supply"
// Playtime tracking system, see jobs_exp.dm
diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm
index edacfb836a..e38fe9954b 100644
--- a/code/__DEFINES/radio.dm
+++ b/code/__DEFINES/radio.dm
@@ -1,5 +1,56 @@
-#define MIN_FREE_FREQ 1201
-#define MAX_FREE_FREQ 1599
+// Radios use a large variety of predefined frequencies.
-#define MIN_FREQ 1441
-#define MAX_FREQ 1489
\ No newline at end of file
+#define MIN_FREE_FREQ 1201 // -------------------------------------------------
+// Frequencies are always odd numbers and range from 1201 to 1599.
+
+#define FREQ_SYNDICATE 1213 // Nuke op comms frequency, dark brown
+#define FREQ_CTF_RED 1215 // CTF red team comms frequency, red
+#define FREQ_CTF_BLUE 1217 // CTF blue team comms frequency, blue
+#define FREQ_CENTCOM 1337 // CentCom comms frequency, gray
+#define FREQ_SUPPLY 1347 // Supply comms frequency, light brown
+#define FREQ_SERVICE 1349 // Service comms frequency, green
+#define FREQ_SCIENCE 1351 // Science comms frequency, plum
+#define FREQ_COMMAND 1353 // Command comms frequency, gold
+#define FREQ_MEDICAL 1355 // Medical comms frequency, soft blue
+#define FREQ_ENGINEERING 1357 // Engineering comms frequency, orange
+#define FREQ_SECURITY 1359 // Security comms frequency, red
+
+#define FREQ_STATUS_DISPLAYS 1435
+#define FREQ_ATMOS_ALARMS 1437 // air alarms <-> alert computers
+#define FREQ_ATMOS_CONTROL 1439 // air alarms <-> vents and scrubbers
+
+#define MIN_FREQ 1441 // ------------------------------------------------------
+// Only the 1441 to 1489 range is freely available for general conversation.
+// This represents 1/8th of the available spectrum.
+
+#define FREQ_ATMOS_STORAGE 1441
+#define FREQ_NAV_BEACON 1445
+#define FREQ_AI_PRIVATE 1447 // AI private comms frequency, magenta
+#define FREQ_PRESSURE_PLATE 1447
+#define FREQ_AIRLOCK_CONTROL 1449
+#define FREQ_ELECTROPACK 1449
+#define FREQ_MAGNETS 1449
+#define FREQ_LOCATOR_IMPLANT 1451
+#define FREQ_SIGNALER 1457 // the default for new signalers
+#define FREQ_COMMON 1459 // Common comms frequency, dark green
+
+#define MAX_FREQ 1489 // ------------------------------------------------------
+
+#define MAX_FREE_FREQ 1599 // -------------------------------------------------
+
+// Transmission types.
+#define TRANSMISSION_WIRE 0 // some sort of wired connection, not used
+#define TRANSMISSION_RADIO 1 // electromagnetic radiation (default)
+#define TRANSMISSION_SUBSPACE 2 // subspace transmission (headsets only)
+#define TRANSMISSION_SUPERSPACE 3 // reaches independent (CentCom) radios only
+
+// Filter types, used as an optimization to avoid unnecessary proc calls.
+#define RADIO_TO_AIRALARM "to_airalarm"
+#define RADIO_FROM_AIRALARM "from_airalarm"
+#define RADIO_SIGNALER "signaler"
+#define RADIO_ATMOSIA "atmosia"
+#define RADIO_NAVBEACONS "navbeacons"
+#define RADIO_AIRLOCK "airlock"
+#define RADIO_MAGNETS "magnets"
+
+#define DEFAULT_SIGNALER_CODE 30
diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm
index 74a1669686..8f38acb203 100644
--- a/code/__DEFINES/say.dm
+++ b/code/__DEFINES/say.dm
@@ -17,6 +17,7 @@
#define MODE_HOLOPAD "holopad"
#define MODE_CHANGELING "changeling"
#define MODE_VOCALCORDS "cords"
+#define MODE_MONKEY "monkeyhive"
//Spans. Robot speech, italics, etc. Applied in compose_message().
#define SPAN_ROBOT "robot"
diff --git a/code/__DEFINES/server_tools.dm b/code/__DEFINES/server_tools.dm
index c0fc133ada..a444caf02a 100644
--- a/code/__DEFINES/server_tools.dm
+++ b/code/__DEFINES/server_tools.dm
@@ -5,7 +5,7 @@
//use this define if you want to do configuration outside of this file
#ifndef SERVER_TOOLS_EXTERNAL_CONFIGURATION
//Comment this out once you've filled in the below
-//#error /tg/station server tools interface unconfigured
+#error /tg/station server tools interface unconfigured
//Required interfaces (fill in with your codebase equivalent):
diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm
index b1a9e9e28d..e3f1731a13 100644
--- a/code/__DEFINES/shuttles.dm
+++ b/code/__DEFINES/shuttles.dm
@@ -61,7 +61,6 @@
#define DOCKING_NULL_DESTINATION 8
#define DOCKING_NULL_SOURCE 16
-
//Docking turf movements
#define MOVE_TURF 1
#define MOVE_AREA 2
diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm
index 218afcafb7..d756cbaf1b 100644
--- a/code/__DEFINES/sight.dm
+++ b/code/__DEFINES/sight.dm
@@ -25,6 +25,6 @@
//for clothing visor toggles, these determine which vars to toggle
#define VISOR_FLASHPROTECT 1
#define VISOR_TINT 2
-#define VISOR_VISIONFLAGS 4 //all following flags_1 only matter for glasses
+#define VISOR_VISIONFLAGS 4 //all following flags only matter for glasses
#define VISOR_DARKNESSVIEW 8
#define VISOR_INVISVIEW 16
diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm
index 8b93c8e38f..6bd8596fb6 100644
--- a/code/__DEFINES/sound.dm
+++ b/code/__DEFINES/sound.dm
@@ -9,14 +9,14 @@
#define CHANNEL_BUZZ 1017
#define CHANNEL_BICYCLE 1016
-//Citadel code
+//CIT CHANNELS - TRY NOT TO REGRESS
#define CHANNEL_PRED 1015
#define CHANNEL_PREYLOOP 1014
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED
-#define CHANNEL_HIGHEST_AVAILABLE 1013
+#define CHANNEL_HIGHEST_AVAILABLE 1013 //CIT CHANGE - COMPENSATES FOR VORESOUND CHANNELS
#define SOUND_MINIMUM_PRESSURE 10
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 39f9722486..dcabb26e23 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -46,16 +46,17 @@
#define INIT_ORDER_DBCORE 18
#define INIT_ORDER_BLACKBOX 17
#define INIT_ORDER_SERVER_MAINT 16
-#define INIT_ORDER_RESEARCH 15
-#define INIT_ORDER_EVENTS 14
-#define INIT_ORDER_JOBS 13
-#define INIT_ORDER_TICKER 12
-#define INIT_ORDER_MAPPING 11
-#define INIT_ORDER_ATOMS 10
-#define INIT_ORDER_NETWORKS 9
-#define INIT_ORDER_LANGUAGE 8
-#define INIT_ORDER_MACHINES 7
-#define INIT_ORDER_CIRCUIT 6
+#define INIT_ORDER_INPUT 15
+#define INIT_ORDER_RESEARCH 14
+#define INIT_ORDER_EVENTS 13
+#define INIT_ORDER_JOBS 12
+#define INIT_ORDER_TICKER 11
+#define INIT_ORDER_MAPPING 10
+#define INIT_ORDER_ATOMS 9
+#define INIT_ORDER_NETWORKS 8
+#define INIT_ORDER_LANGUAGE 7
+#define INIT_ORDER_MACHINES 6
+#define INIT_ORDER_CIRCUIT 5
#define INIT_ORDER_TIMER 1
#define INIT_ORDER_DEFAULT 0
#define INIT_ORDER_AIR -1
@@ -136,4 +137,4 @@
A.overlays.Cut();\
}\
A.flags_1 &= ~OVERLAY_QUEUED_1;\
- }
+ }
\ No newline at end of file
diff --git a/code/__DEFINES/time.dm b/code/__DEFINES/time.dm
index 987d52e0cd..8bc4d039f6 100644
--- a/code/__DEFINES/time.dm
+++ b/code/__DEFINES/time.dm
@@ -22,6 +22,6 @@ When using time2text(), please use "DDD" to find the weekday. Refrain from using
#define TICKS *world.tick_lag
-#define DS2TICKS(DS) (DS/world.tick_lag)
+#define DS2TICKS(DS) ((DS)/world.tick_lag)
-#define TICKS2DS(T) (T TICKS)
\ No newline at end of file
+#define TICKS2DS(T) ((T) TICKS)
\ No newline at end of file
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index 3831349536..a9f5766eb6 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -30,7 +30,7 @@ GLOBAL_VAR_INIT(cmp_field, "name")
return sorttext(a.ckey, b.ckey)
/proc/cmp_subsystem_init(datum/controller/subsystem/a, datum/controller/subsystem/b)
- return b.init_order - a.init_order
+ return initial(b.init_order) - initial(a.init_order) //uses initial() so it can be used on types
/proc/cmp_subsystem_display(datum/controller/subsystem/a, datum/controller/subsystem/b)
return sorttext(b.name, a.name)
@@ -72,4 +72,3 @@ GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_profile_count_dsc(list/A, list/B)
return B[PROFILE_ITEM_COUNT] - A[PROFILE_ITEM_COUNT]
-
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 17497e3cc0..0f7f4397db 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -30,7 +30,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE)
- //citadel code
+//CIT CHANGES START HERE, ADDS SNOWFLAKE BODYPARTS AND MORE
//mammal bodyparts (fucking furries)
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
@@ -56,7 +56,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
-
+//END OF CIT CHANGES
//Species
for(var/spath in subtypesof(/datum/species))
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index d3b62b67af..14092581b8 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -69,6 +69,7 @@
if(!GLOB.wings_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
+ //CIT CHANGES - genitals and such
if(!GLOB.cock_shapes_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
if(!GLOB.vagina_shapes_list.len)
@@ -90,6 +91,7 @@
womb = 1
breasts = 1 */
+ //CIT CHANGE - changes this entire return to support cit's snowflake parts
return(list(
"mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
@@ -473,7 +475,7 @@ Proc for attack log creation, because really why not
if(extra_args)
new_args += extra_args
- for(var/j in 1 to amount)
+ for(var/j in 1 to amount)
var/atom/X = new spawn_type(arglist(new_args))
X.admin_spawned = admin_spawn
diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index 90205168b5..e019af213f 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -121,7 +121,6 @@ GLOBAL_VAR(command_name)
return new_station_name
/proc/syndicate_name()
-
var/name = ""
// Prefix
@@ -143,7 +142,7 @@ GLOBAL_VAR(command_name)
else
name += pick("-", "*", "")
name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive")
-
+
return name
diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm
index 021dc55347..9b6b601e69 100644
--- a/code/__HELPERS/priority_announce.dm
+++ b/code/__HELPERS/priority_announce.dm
@@ -55,7 +55,7 @@
for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M) && M.can_hear())
- to_chat(M, "[title]
[message]
")
+ to_chat(M, "[title]
[message]
")
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
if(alert)
SEND_SOUND(M, sound('sound/misc/notice1.ogg'))
diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 8ca98ebf37..0ba19e795e 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -103,10 +103,10 @@
if(LAZYLEN(GLOB.round_end_notifiees))
send2irc("Notice", "[GLOB.round_end_notifiees.Join(", ")] the round has ended.")
- /*for(var/client/C in GLOB.clients)
+ for(var/client/C in GLOB.clients)
if(!C.credits)
C.RollCredits()
- C.playtitlemusic(40)*/
+ C.playtitlemusic(40)
display_report()
@@ -434,7 +434,10 @@
/proc/printplayer(datum/mind/ply, fleecheck)
- var/text = "[ply.key] was [ply.name] the [ply.assigned_role] and"
+ var/jobtext = ""
+ if(ply.assigned_role)
+ jobtext = " the [ply.assigned_role]"
+ var/text = "[ply.key] was [ply.name][jobtext] and"
if(ply.current)
if(ply.current.stat == DEAD)
text += " died"
diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm
index 2ebe24b85b..372dc64cab 100644
--- a/code/__HELPERS/type2type.dm
+++ b/code/__HELPERS/type2type.dm
@@ -139,7 +139,6 @@
return NORTH
//returns the north-zero clockwise angle in degrees, given a direction
-
/proc/dir2angle(D)
switch(D)
if(NORTH)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 15a3c73880..b7e30940ac 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -199,6 +199,8 @@ Turf and target are separate in case you want to teleport some distance from a t
newname = C.prefs.custom_names[role]
else
switch(role)
+ if("human")
+ newname = random_unique_name(gender)
if("clown")
newname = pick(GLOB.clown_names)
if("mime")
@@ -524,7 +526,7 @@ Turf and target are separate in case you want to teleport some distance from a t
processing_list.Cut(1, 2)
//Byond does not allow things to be in multiple contents, or double parent-child hierarchies, so only += is needed
//This is also why we don't need to check against assembled as we go along
- processing_list += A.contents
+ processing_list += A.contents
assembled += A
return assembled
@@ -1487,6 +1489,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
var/time_low = num2hex(world.time, 3)
var/time_clock = num2hex(TICK_DELTA_TO_MS(world.tick_usage), 3)
+
return "{[time_high]-[time_mid]-[GUID_VERSION][time_low]-[GUID_VARIANT][time_clock]-[node_id]}"
// \ref behaviour got changed in 512 so this is necesary to replicate old behaviour.
diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm
index f16e9a16ed..100407d777 100644
--- a/code/_globalvars/lists/maintenance_loot.dm
+++ b/code/_globalvars/lists/maintenance_loot.dm
@@ -104,6 +104,6 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
/obj/item/storage/secure/briefcase = 3,
/obj/item/storage/toolbox/artistic = 2,
/obj/item/toy/eightball = 1,
- /obj/item/storage/daki = 3,
+ /obj/item/storage/daki = 3, //VERY IMPORTANT CIT CHANGE - adds bodypillows to maint
"" = 3
))
diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm
index c2acea2753..29d72d603f 100644
--- a/code/_globalvars/lists/mobs.dm
+++ b/code/_globalvars/lists/mobs.dm
@@ -29,4 +29,4 @@ GLOBAL_LIST_EMPTY(bots_list)
GLOBAL_LIST_EMPTY(language_datum_instances)
GLOBAL_LIST_EMPTY(all_languages)
-GLOBAL_LIST_EMPTY(latejoiners) //All latejoining people, for traitor-target purposes.
\ No newline at end of file
+GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traitor-target purposes.
\ No newline at end of file
diff --git a/code/_js/byjax.dm b/code/_js/byjax.dm
index 5557440d32..9d96bbc412 100644
--- a/code/_js/byjax.dm
+++ b/code/_js/byjax.dm
@@ -45,3 +45,4 @@ Be sure to include required js functions in your page, or it'll raise an excepti
receiver << output(argums,"[control_id]:replaceContent")
return
+
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index dc06d17819..6d941589d3 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -104,7 +104,7 @@
#define ui_health "EAST-1:28,CENTER-1:15"
#define ui_internal "EAST-1:28,CENTER:17"
-//borgs
+//borgs
#define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator.
//aliens
diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm
new file mode 100644
index 0000000000..dfdbf390c1
--- /dev/null
+++ b/code/_onclick/hud/credits.dm
@@ -0,0 +1,69 @@
+#define CREDIT_ROLL_SPEED 125
+#define CREDIT_SPAWN_SPEED 10
+#define CREDIT_ANIMATE_HEIGHT (14 * world.icon_size)
+#define CREDIT_EASE_DURATION 22
+#define CREDITS_PATH "[GLOB.config_dir]contributors.dmi"
+
+/client/proc/RollCredits()
+ set waitfor = FALSE
+ if(!fexists(CREDITS_PATH))
+ return
+ var/icon/credits_icon = new(CREDITS_PATH)
+ LAZYINITLIST(credits)
+ var/list/_credits = credits
+ verbs += /client/proc/ClearCredits
+ var/static/list/credit_order_for_this_round
+ if(isnull(credit_order_for_this_round))
+ credit_order_for_this_round = list("Thanks for playing!") + (shuffle(icon_states(credits_icon)) - "Thanks for playing!")
+ for(var/I in credit_order_for_this_round)
+ if(!credits)
+ return
+ _credits += new /obj/screen/credit(null, I, src, credits_icon)
+ sleep(CREDIT_SPAWN_SPEED)
+ sleep(CREDIT_ROLL_SPEED - CREDIT_SPAWN_SPEED)
+ verbs -= /client/proc/ClearCredits
+ qdel(credits_icon)
+
+/client/proc/ClearCredits()
+ set name = "Hide Credits"
+ set category = "OOC"
+ verbs -= /client/proc/ClearCredits
+ QDEL_LIST(credits)
+ credits = null
+
+/obj/screen/credit
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ alpha = 0
+ screen_loc = "12,1"
+ layer = SPLASHSCREEN_LAYER
+ var/client/parent
+ var/matrix/target
+
+/obj/screen/credit/Initialize(mapload, credited, client/P, icon/I)
+ . = ..()
+ icon = I
+ parent = P
+ icon_state = credited
+ maptext = credited
+ maptext_x = world.icon_size + 8
+ maptext_y = (world.icon_size / 2) - 4
+ maptext_width = world.icon_size * 3
+ var/matrix/M = matrix(transform)
+ M.Translate(0, CREDIT_ANIMATE_HEIGHT)
+ animate(src, transform = M, time = CREDIT_ROLL_SPEED)
+ target = M
+ animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL)
+ addtimer(CALLBACK(src, .proc/FadeOut), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION)
+ QDEL_IN(src, CREDIT_ROLL_SPEED)
+ P.screen += src
+
+/obj/screen/credit/Destroy()
+ var/client/P = parent
+ P.screen -= src
+ icon = null
+ LAZYREMOVE(P.credits, src)
+ parent = null
+ return ..()
+
+/obj/screen/credit/proc/FadeOut()
+ animate(src, alpha = 0, transform = target, time = CREDIT_EASE_DURATION)
diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
index 2047225589..65c4bd23c2 100644
--- a/code/_onclick/hud/fullscreen.dm
+++ b/code/_onclick/hud/fullscreen.dm
@@ -1,3 +1,4 @@
+
/mob
var/list/screens = list()
@@ -174,4 +175,3 @@
layer = LIGHTING_LAYER
blend_mode = BLEND_ADD
show_when_dead = TRUE
-
diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index 4d1ca2c778..fe53528155 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -280,10 +280,11 @@
healths = new /obj/screen/healths()
infodisplay += healths
- //citadel code
+ //CIT CHANGE - adds arousal to hud
arousal = new /obj/screen/arousal()
arousal.icon_state = (owner.canbearoused == 1 ? "arousal0" : "")
infodisplay += arousal
+ //END OF CIT CHANGES
healthdoll = new /obj/screen/healthdoll()
infodisplay += healthdoll
diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
index 52319b7866..e3d1af79ed 100755
--- a/code/_onclick/hud/parallax.dm
+++ b/code/_onclick/hud/parallax.dm
@@ -60,8 +60,6 @@
var/pref = C.prefs.parallax
if (isnull(pref))
pref = PARALLAX_HIGH
- if (C.byond_version < 511)
- pref = PARALLAX_DISABLE
switch(C.prefs.parallax)
if (PARALLAX_INSANE)
C.parallax_throttle = FALSE
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 68428cae90..8a5b9ba519 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -58,7 +58,7 @@
SendSignal(COMSIG_ITEM_ATTACK, M, user)
if(flags_1 & NOBLUDGEON_1)
return
-
+
if(force && user.has_disability(DISABILITY_PACIFISM))
to_chat(user, "You don't want to harm other living beings!")
return
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index 903f3c0790..87354d6f0b 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -78,7 +78,7 @@
var/mob/living/carbon/tk_user = null
/obj/item/tk_grab/Initialize()
- ..()
+ . = ..()
START_PROCESSING(SSfastprocess, src)
/obj/item/tk_grab/Destroy()
diff --git a/code/world.dm b/code/world.dm
index 955d19c6c4..660d2f272d 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -1,4 +1,3 @@
-
//This file is just for the necessary /world definition
//Try looking in game/world.dm