diff --git a/baystation12.dme b/baystation12.dme
index a4a0778a27d65..39d25f1591d9f 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -3453,6 +3453,8 @@
#include "customs\code\letro02.dm"
#include "customs\code\lodagn.dm"
#include "customs\code\s1334.dm"
+#include "customs\code\timlv.dm"
+#include "customs\code\vlades.dm"
#include "interface\interface.dm"
#include "interface\skin.dmf"
#include "maps\_maps.dm"
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 89bc506ae836c..e85e5cf4269e1 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -441,6 +441,8 @@
var/static/hub_entry = "$SERVER by $HOST — $ACTIVES of $PLAYERS alive"
+ var/static/hub_banner_url = "https://i.imgur.com/n5i0D3V.png" //bos
+
var/static/run_empty_levels = FALSE
@@ -501,6 +503,8 @@
use_age_restriction_for_jobs = TRUE
if ("use_age_restriction_for_antags")
use_age_restriction_for_antags = TRUE
+ if ("hub_banner_url")
+ config.hub_banner_url = value //bos
if ("use_recursive_explosions")
use_recursive_explosions = TRUE
if ("log_ooc")
diff --git a/code/game/world.dm b/code/game/world.dm
index 0536ad14fc369..8e0537a062bb5 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -570,6 +570,9 @@ GLOBAL_VAR_INIT(world_topic_last, world.timeofday)
if (!config?.hub_visible || !config.hub_entry)
return
status = config.generate_hub_entry()
+ var/s = ""
+ if (config.hub_banner_url) //bos
+ s += "
"
/world/proc/SetupLogs()
diff --git a/customs/code/timlv.dm b/customs/code/timlv.dm
new file mode 100644
index 0000000000000..a46acc2dafb5a
--- /dev/null
+++ b/customs/code/timlv.dm
@@ -0,0 +1,15 @@
+/obj/item/clothing/under/party
+ name = "party animal's outfit"
+ desc = "Be Wild. Be Animal."
+ icon_state = "partygoer"
+ item_state = "partygoer_s"
+ icon = 'customs/icons/obj/custom_items_obj.dmi'
+ item_icons = list(slot_w_uniform_str = 'customs/icons/mob/custom_items_mob.dmi')
+
+/obj/item/clothing/head/helmet/stahlhelm
+ name = "stahlhelm"
+ desc = "Kaiser? Valhalla? What are you talking about!? We're in the desert, damn it!"
+ icon_state = "stahlhelm"
+ icon = 'customs/icons/obj/custom_items_obj.dmi'
+ item_icons = list(slot_head_str = 'customs/icons/mob/custom_items_mob.dmi')
+ valid_accessory_slots = null
diff --git a/customs/code/vlades.dm b/customs/code/vlades.dm
new file mode 100644
index 0000000000000..dd4a748dd1214
--- /dev/null
+++ b/customs/code/vlades.dm
@@ -0,0 +1,44 @@
+/obj/item/clothing/suit/storage/hooded/duster
+ name = "duster"
+ desc = "A sturdy duster."
+ icon = 'customs/icons/obj/custom_items_obj.dmi'
+ item_icons = list(slot_wear_suit_str = 'customs/icons/mob/custom_items_mob.dmi')
+ icon_state = "duster"
+ item_state = "duster"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
+ min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE
+ armor = list(
+ bio = ARMOR_BIO_MINOR
+ )
+ action_button_name = "Toggle Hood"
+ hoodtype = /obj/item/clothing/head/dusthood
+ siemens_coefficient = 0.6
+
+/obj/item/clothing/head/dusthood
+ name = "duster hood"
+ icon_state = "dusterhood"
+ item_state = "dusterhood"
+ icon = 'customs/icons/obj/custom_items_obj.dmi'
+ item_icons = list(slot_head_str = 'customs/icons/mob/custom_items_mob.dmi')
+ desc = "I hate sand."
+ armor = list(
+ bio = ARMOR_BIO_MINOR,
+ )
+ flags_inv = HIDEEARS|BLOCKHAIR
+ item_flags = ITEM_FLAG_THICKMATERIAL
+ body_parts_covered = HEAD
+ siemens_coefficient = 0.9
+
+/obj/item/clothing/mask/gas/budget/dustmask
+ name = "respirator with googles"
+ desc = "A face-covering cheepy mask that can be connected to an air supply. This one is combined with safety glasses."
+ icon_state = "dustermask"
+ item_state = "dustermask"
+ icon = 'customs/icons/obj/custom_items_obj.dmi'
+ item_icons = list(slot_wear_mask_str = 'customs/icons/mob/custom_items_mob.dmi')
+ body_parts_covered = FACE|EYES
+ armor = list(
+ melee = ARMOR_MELEE_MINOR,
+ bio = ARMOR_BIO_SMALL
+ )
diff --git a/customs/config/timlv/timlv-helmet.json b/customs/config/timlv/timlv-helmet.json
new file mode 100644
index 0000000000000..b23f2ca795477
--- /dev/null
+++ b/customs/config/timlv/timlv-helmet.json
@@ -0,0 +1,5 @@
+{
+ "ckey": "Tim_LV",
+ "character_name": "Bjorn",
+ "item_path": "/obj/item/clothing/head/helmet/stahlhelm"
+}
diff --git a/customs/config/timlv/timlv-under.json b/customs/config/timlv/timlv-under.json
new file mode 100644
index 0000000000000..79146fbeccffb
--- /dev/null
+++ b/customs/config/timlv/timlv-under.json
@@ -0,0 +1,5 @@
+{
+ "ckey": "Tim_LV",
+ "character_name": "Bjorn",
+ "item_path": "/obj/item/clothing/under/party"
+}
diff --git a/customs/icons/mob/custom_items_mob.dmi b/customs/icons/mob/custom_items_mob.dmi
index 78fa2969cd911..9bc295f034af4 100644
Binary files a/customs/icons/mob/custom_items_mob.dmi and b/customs/icons/mob/custom_items_mob.dmi differ
diff --git a/customs/icons/obj/custom_items_obj.dmi b/customs/icons/obj/custom_items_obj.dmi
index c201dac579322..5ccd5c105d743 100644
Binary files a/customs/icons/obj/custom_items_obj.dmi and b/customs/icons/obj/custom_items_obj.dmi differ
diff --git a/maps/castelnau/castelnau.dm b/maps/castelnau/castelnau.dm
index 55372c13f06ea..71effb270a73e 100644
--- a/maps/castelnau/castelnau.dm
+++ b/maps/castelnau/castelnau.dm
@@ -1,5 +1,7 @@
#if !defined(using_map_DATUM)
+ #warn ZDAROVA. Obnova na repe esho ne zakonchennaya, tak chto rano bild skachal.
+
#include "castelnau_bos.dm"
#include "castelnau_bos_torch.dm"
diff --git a/maps/castelnau/job/jobs_command.dm b/maps/castelnau/job/jobs_command.dm
index eeb7d45581936..be8a1ee50215b 100644
--- a/maps/castelnau/job/jobs_command.dm
+++ b/maps/castelnau/job/jobs_command.dm
@@ -175,8 +175,17 @@
psi_faculties = list("[PSI_COERCION]" = PSI_RANK_OPERANT)
H.mutations.Add(mRemotetalk)
H.verbs += /mob/living/carbon/human/proc/psisay
+
+ var/obj/item/organ/external/E = pick(H.organs)
+ if(!BP_IS_ROBOTIC(E))
+ E.mutate()
+ E.limb_flags |= ORGAN_FLAG_DEFORMED
+ E.status |= ORGAN_DISFIGURED
+ E.status |= ORGAN_MUTATED
return ..()
+
+
/datum/job/emissary
title = "Emissary"
supervisors = "the Alliance Command"