diff --git a/code/__defines/species.dm b/code/__defines/species.dm index 4b0044e1c6f..75815f857ff 100644 --- a/code/__defines/species.dm +++ b/code/__defines/species.dm @@ -95,4 +95,10 @@ #define BODYTYPE_MONKEY "Monkey" #define BODYTYPE_SKELETON "Skeleton" -#define BODYTYPE_CULTGHOST "Apparition" \ No newline at end of file +#define BODYTYPE_CULTGHOST "Apparition" + +#define ALL_SPECIES list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, \ + SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \ + SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_TAJARA, \ + SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, \ + SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) \ No newline at end of file diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 1f797038f59..debff8e9641 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -294,6 +294,7 @@ var/list/gamemode_cache = list() // Configurable hostname / port for the NTSL Daemon. var/ntsl_hostname = "localhost" var/ntsl_port = "1945" + var/ntsl_disabled = TRUE // Is external Auth enabled var/external_auth = FALSE @@ -938,6 +939,8 @@ var/list/gamemode_cache = list() ntsl_hostname = value if ("ntsl_port") ntsl_port = value + if ("ntsl_disabled") + ntsl_disabled = text2num(value) if ("external_auth") external_auth = TRUE diff --git a/code/controllers/subsystems/documents.dm b/code/controllers/subsystems/documents.dm index 6801f364901..8a43354154a 100644 --- a/code/controllers/subsystems/documents.dm +++ b/code/controllers/subsystems/documents.dm @@ -137,10 +137,11 @@ var/datum/controller/subsystem/docs/SSdocs //Loads the document data from JSON /datum/controller/subsystem/docs/proc/load_from_json() var/list/docsconfig = list() - try + + if(isfile("config/docs.json")) docsconfig = json_decode(return_file_text("config/docs.json")) - catch(var/exception/ej) - log_debug("SSdocs: Warning: Could not load config, as docs.json is missing - [ej]") + else + log_debug("SSdocs: Warning: Could not load config, as docs.json is missing") return 0 //Reset the currently loaded data diff --git a/code/controllers/subsystems/processing/ntsl2.dm b/code/controllers/subsystems/processing/ntsl2.dm index 5323bd05be6..7b07f5ca5ef 100644 --- a/code/controllers/subsystems/processing/ntsl2.dm +++ b/code/controllers/subsystems/processing/ntsl2.dm @@ -34,7 +34,7 @@ NTSL2 deamon management subsystem, responsible for handling events from deamon a if(RUSTG_HTTP_METHOD_POST) if(arguments) body = json_encode(arguments) - + return http_create_request(method, url, body) return FALSE @@ -107,7 +107,7 @@ NTSL2 deamon management subsystem, responsible for handling events from deamon a if(istype(cb)) cb.InvokeAsync(response) - + /datum/controller/subsystem/processing/ntsl2/proc/is_complete(var/task_id) if(!task_id) @@ -115,9 +115,12 @@ NTSL2 deamon management subsystem, responsible for handling events from deamon a if(tasks[task_id]) return FALSE return TRUE - + /datum/controller/subsystem/processing/ntsl2/proc/attempt_connect() + if(config.ntsl_disabled) + log_debug("NTSL2++ Daemon disabled via config") + return FALSE var/res = sync_send("clear") if(!res) log_debug("NTSL2++ Daemon could not be connected to. Functionality will not be enabled.") @@ -150,4 +153,4 @@ NTSL2 deamon management subsystem, responsible for handling events from deamon a handle_task_completion(result, task) tasks -= task_id - . = ..() \ No newline at end of file + . = ..() diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index ce737df1726..302dde09a83 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -12,10 +12,12 @@ /turf/simulated/wall/cult/Initialize(mapload) . = ..(mapload, MATERIAL_CULT) desc = "Hideous images dance beneath the surface." + canSmoothWith = list(/turf/simulated/wall/cult, /turf/simulated/wall/cult_reinforced) /turf/simulated/wall/cult_reinforced/Initialize(mapload) . = ..(mapload, MATERIAL_CULT, MATERIAL_CULT_REINFORCED) desc = "Hideous images dance beneath the surface." + canSmoothWith = list(/turf/simulated/wall/cult, /turf/simulated/wall/cult_reinforced) /turf/unsimulated/wall/cult name = "cult wall" @@ -29,49 +31,65 @@ /turf/simulated/wall/vaurca/Initialize(mapload) . = ..(mapload, MATERIAL_VAURCA) + canSmoothWith = list(src.type) /turf/simulated/wall/iron/Initialize(mapload) . = ..(mapload, MATERIAL_IRON) + canSmoothWith = list(src.type) /turf/simulated/wall/uranium/Initialize(mapload) . = ..(mapload, MATERIAL_URANIUM) + canSmoothWith = list(src.type) /turf/simulated/wall/diamond/Initialize(mapload) . = ..(mapload, MATERIAL_DIAMOND) + canSmoothWith = list(src.type) /turf/simulated/wall/gold/Initialize(mapload) . = ..(mapload, MATERIAL_GOLD) + canSmoothWith = list(src.type) /turf/simulated/wall/silver/Initialize(mapload) . = ..(mapload, MATERIAL_SILVER) + canSmoothWith = list(src.type) /turf/simulated/wall/phoron/Initialize(mapload) . = ..(mapload, MATERIAL_PHORON) + canSmoothWith = list(src.type) /turf/simulated/wall/sandstone/Initialize(mapload) . = ..(mapload, MATERIAL_SANDSTONE) + canSmoothWith = list(src.type) /turf/simulated/wall/ironphoron/Initialize(mapload) . = ..(mapload, MATERIAL_IRON, MATERIAL_PHORON) + canSmoothWith = list(src.type) /turf/simulated/wall/golddiamond/Initialize(mapload) . = ..(mapload, MATERIAL_GOLD, MATERIAL_DIAMOND) + canSmoothWith = list(src.type) /turf/simulated/wall/silvergold/Initialize(mapload) . = ..(mapload, MATERIAL_SILVER, MATERIAL_GOLD) + canSmoothWith = list(src.type) /turf/simulated/wall/sandstonediamond/Initialize(mapload) . = ..(mapload, MATERIAL_SANDSTONE, MATERIAL_DIAMOND) + canSmoothWith = list(src.type) /turf/simulated/wall/titanium/Initialize(mapload) . = ..(mapload, MATERIAL_TITANIUM) + canSmoothWith = list(src.type) /turf/simulated/wall/titanium_reinforced/Initialize(mapload) . = ..(mapload, MATERIAL_TITANIUM, MATERIAL_TITANIUM) + canSmoothWith = list(src.type) /turf/simulated/wall/wood/Initialize(mapload) . = ..(mapload, MATERIAL_WOOD) + canSmoothWith = list(src.type) /turf/simulated/wall/rusty/Initialize(mapload) . = ..(mapload, MATERIAL_RUST) - desc = "Rust stains this ancient wall." \ No newline at end of file + desc = "Rust stains this ancient wall." + canSmoothWith = list(src.type) \ No newline at end of file diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 0c75f20711c..c148b3d840d 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -10,6 +10,7 @@ blocks_air = TRUE thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall + canSmoothWith = list(/turf/simulated/wall, /turf/simulated/wall/r_wall, /obj/structure/window/full, /obj/structure/window/full/phoron) var/damage = 0 var/damage_overlay = 0 @@ -40,12 +41,6 @@ O.hide(1) /turf/simulated/wall/Initialize(mapload, var/materialtype, var/rmaterialtype) - if(!canSmoothWith && ((smooth & SMOOTH_TRUE) || (smooth & SMOOTH_MORE))) - canSmoothWith = list( - src.type, - /obj/structure/window/full, - /obj/structure/window/full/phoron - ) . = ..() if(!use_set_icon_state) icon_state = "blank" diff --git a/code/modules/background/citizenship/human.dm b/code/modules/background/citizenship/human.dm index c2196d8891d..c9cf6b1aaa1 100644 --- a/code/modules/background/citizenship/human.dm +++ b/code/modules/background/citizenship/human.dm @@ -116,30 +116,7 @@ workplace of various contractors on board NSS Aurora." job_species_blacklist = list( - "Consular Officer" = list( - SPECIES_HUMAN, - SPECIES_HUMAN_OFFWORLD, - SPECIES_IPC, - SPECIES_IPC_BISHOP, - SPECIES_IPC_G1, - SPECIES_IPC_G2, - SPECIES_IPC_SHELL, - SPECIES_IPC_UNBRANDED, - SPECIES_IPC_XION, - SPECIES_IPC_ZENGHU, - SPECIES_DIONA, - SPECIES_DIONA_COEUS, - SPECIES_SKRELL, - SPECIES_SKRELL_AXIORI, - SPECIES_TAJARA, - SPECIES_TAJARA_MSAI, - SPECIES_TAJARA_ZHAN, - SPECIES_UNATHI, - SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR, - SPECIES_VAURCA_BULWARK, - SPECIES_VAURCA_BREEDER - ) + "Consular Officer" = ALL_SPECIES ) /datum/citizenship/coalition diff --git a/code/modules/background/citizenship/skrell.dm b/code/modules/background/citizenship/skrell.dm index 0e2359db91c..0247cda09cb 100644 --- a/code/modules/background/citizenship/skrell.dm +++ b/code/modules/background/citizenship/skrell.dm @@ -55,3 +55,15 @@ name = "Jargon Consular Officer" uniform = /obj/item/clothing/under/skrell + +/datum/citizenship/epsilon + name = CITIZENSHIP_EUM + description = "An independent nation on the edge of Skrell space, the Co-Operative Territories of Epsilon Ursae Minoris, \ + also known as the CT-EUM, is a nation primarily comprised of Dionae with a minority of skrell mostly situated \ + in the city of Nral'Daaq. The CT-EUM is compromised of a myriad of smaller nations and city-states that make up \ + the whole of the nation. While the nation is independent it does have heavy ties to the Jargon Federation, \ + being instrumental in the nations' founding and contact with the rest of the galaxy. " + + job_species_blacklist = list( + "Consular Officer" = ALL_SPECIES + ) \ No newline at end of file diff --git a/code/modules/background/defines.dm b/code/modules/background/defines.dm index cb7900f3b52..856a3cd0878 100644 --- a/code/modules/background/defines.dm +++ b/code/modules/background/defines.dm @@ -9,6 +9,7 @@ #define CITIZENSHIP_IZWESKI "Izweski Hegemony" #define CITIZENSHIP_JARGON "Jargon Federation" +#define CITIZENSHIP_EUM "Co-Operative Territories of EUM" #define CITIZENSHIP_PRA "People's Republic of Adhomai" #define CITIZENSHIP_DPRA "Democratic People's Republic of Adhomai" diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes.dm b/code/modules/client/preference_setup/loadout/loadout_eyes.dm index a9cbb77983b..90e3472dc00 100644 --- a/code/modules/client/preference_setup/loadout/loadout_eyes.dm +++ b/code/modules/client/preference_setup/loadout/loadout_eyes.dm @@ -127,7 +127,6 @@ /datum/gear/eyes/blindfolds/New() ..() var/list/blindfold = list() - blindfold["blindfold, black"] = /obj/item/clothing/glasses/sunglasses/blindfold - blindfold["blindfold, white"] = /obj/item/clothing/glasses/sunglasses/blindfold/white - blindfold["blindfold, transparent white"] = /obj/item/clothing/glasses/sunglasses/blindfold/white/seethrough + blindfold["blindfold"] = /obj/item/clothing/glasses/sunglasses/blindfold/white + blindfold["blindfold, transparent"] = /obj/item/clothing/glasses/sunglasses/blindfold/white/seethrough gear_tweaks += new /datum/gear_tweak/path(blindfold) diff --git a/code/modules/client/preference_setup/loadout/loadout_factions.dm b/code/modules/client/preference_setup/loadout/loadout_factions.dm index 66be6ca418f..23cbcbd1593 100644 --- a/code/modules/client/preference_setup/loadout/loadout_factions.dm +++ b/code/modules/client/preference_setup/loadout/loadout_factions.dm @@ -216,6 +216,12 @@ slot = slot_gloves faction = "Zeng-Hu Pharmaceuticals" +/datum/gear/faction/zenghu_cloak + display_name = "Zeng-Hu Jargon Division cloak" + path = /obj/item/clothing/accessory/poncho/shouldercape/qeblak/zeng + slot = slot_wear_suit + faction = "Zeng-Hu Pharmaceuticals" + /datum/gear/faction/zavodskoi_patch display_name = "zavodskoi sleeve patch" path = /obj/item/clothing/accessory/sleevepatch/zavodskoi diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 64dcb29f6de..b4d792530d9 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -603,15 +603,12 @@ BLIND // can't see anything pickup_sound = 'sound/items/pickup/gloves.ogg' /obj/item/clothing/glasses/sunglasses/blindfold/white - name = "white blindfold" - desc = "A white blindfold that covers the eyes, preventing sight." icon_state = "blindfoldwhite" item_state = "blindfoldwhite" /obj/item/clothing/glasses/sunglasses/blindfold/white/seethrough - desc = "A white blindfold that covers the eyes, this one seems to be made of thinner material." - tint = TINT_MODERATE - flash_protection = FLASH_PROTECTION_MODERATE + desc = "A blindfold that covers the eyes, this one seems to be made of thinner material." + tint = TINT_NONE // It's practically a fluff thing anyway, so. /obj/item/clothing/glasses/sunglasses/blinders name = "vaurcae blinders" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 4f3a7bb0476..f4da7a767ce 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -573,6 +573,19 @@ item_state = "qeblak_cape" flippable = FALSE +/obj/item/clothing/accessory/poncho/shouldercape/qeblak/zeng + name = "Jargon Division Zeng-Hu cloak" + desc = "This cloak is given to Zeng-Hu employees who have assisted or worked in collaboration with the Jargon Federation." + desc_fluff = "A cloak given to senior level doctors and researchers for Zeng-Hu who has \ + in the past been given the privilege of working within or in collaboration with the Jargon Federation\ + as a show of goodwill between the corporation and federation." + icon = 'icons/obj/contained_items/accessories/ZH_cape.dmi' + icon_override = 'icons/obj/contained_items/accessories/ZH_cape.dmi' + icon_state = "ZH_cape" + item_state = "ZH_cape" + flippable = FALSE + contained_sprite = TRUE + /obj/item/clothing/accessory/poncho/trinary name = "trinary perfection cape" desc = "A brilliant red and brown cape, commonly worn by those who serve the Trinary Perfection." diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 809ab587120..64bbdf84294 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -2380,3 +2380,11 @@ All custom items with worn sprites must follow the contained sprite system: http if(has_suit) has_suit.verbs -= /obj/item/clothing/accessory/poncho/tajarancloak/fluff/kathira_cloak/verb/change_cloak ..() + +/obj/item/clothing/accessory/poncho/shouldercape/qeblak/zeng/fluff/eden_cloak // Zeng-Hu Jargon division cloak - Eden Li - Huntime + name = "Zeng-Hu cloak: Jargon Division" + desc = "A cloak worn by Zeng-Hu personnel who worked with or in the Jargon Federation." + icon = 'icons/obj/custom_items/eden_cloak.dmi' + icon_override = 'icons/obj/custom_items/eden_cloak.dmi' + icon_state = "ZH_cape_custom" + item_state = "ZH_cape_custom" diff --git a/code/modules/mob/abstract/new_player/menu.dm b/code/modules/mob/abstract/new_player/menu.dm index 9cf0e42c042..714ad526550 100644 --- a/code/modules/mob/abstract/new_player/menu.dm +++ b/code/modules/mob/abstract/new_player/menu.dm @@ -14,6 +14,7 @@ using = new /obj/screen/new_player/title(src) using.name = "Title" + using.hud = src adding += using using = new /obj/screen/new_player/selection/join_game(src) @@ -83,6 +84,8 @@ . = ..() /obj/screen/new_player/title/proc/Update() + if(!istype(hud) || !isnewplayer(hud.mymob)) + return lobby_index += 1 if (lobby_index > length(current_map.lobby_screens)) lobby_index = 1 diff --git a/code/modules/mob/living/carbon/human/species/station/diona/diona.dm b/code/modules/mob/living/carbon/human/species/station/diona/diona.dm index 4b12527638d..3d130c82d5f 100644 --- a/code/modules/mob/living/carbon/human/species/station/diona/diona.dm +++ b/code/modules/mob/living/carbon/human/species/station/diona/diona.dm @@ -110,7 +110,7 @@ max_hydration_factor = -1 - allowed_citizenships = list(CITIZENSHIP_BIESEL, CITIZENSHIP_JARGON, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_DOMINIA, CITIZENSHIP_IZWESKI, CITIZENSHIP_NONE) + allowed_citizenships = list(CITIZENSHIP_BIESEL, CITIZENSHIP_JARGON, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_DOMINIA, CITIZENSHIP_IZWESKI, CITIZENSHIP_EUM, CITIZENSHIP_NONE) allowed_religions = list(RELIGION_QEBLAK, RELIGION_WEISHII, RELIGION_MOROZ, RELIGION_THAKH, RELIGION_SKAKH, RELIGION_ETERNAL, RELIGION_NONE, RELIGION_OTHER) allowed_accents = list(ACCENT_ROOTSONG, ACCENT_VOIDSONG) diff --git a/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm b/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm index 9a47ddb7313..0669e7d9502 100644 --- a/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm +++ b/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm @@ -31,7 +31,7 @@ name_language = "Encoded Audio Language" num_alternate_languages = 2 - secondary_langs = list("Encoded Audio Language", "Sol Common") + secondary_langs = list("Encoded Audio Language", "Sol Common", "Elyran Standard") ethanol_resistance = -1//Can't get drunk radiation_mod = 0 // not affected by radiation remains_type = /obj/effect/decal/remains/robot diff --git a/code/modules/mob/living/carbon/human/species/station/skrell/skrell.dm b/code/modules/mob/living/carbon/human/species/station/skrell/skrell.dm index b0d4f615800..a80d173e7b8 100644 --- a/code/modules/mob/living/carbon/human/species/station/skrell/skrell.dm +++ b/code/modules/mob/living/carbon/human/species/station/skrell/skrell.dm @@ -83,7 +83,7 @@ default_h_style = "Skrell Short Tentacles" - allowed_citizenships = list(CITIZENSHIP_JARGON, CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_ERIDANI) + allowed_citizenships = list(CITIZENSHIP_JARGON, CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_ERIDANI, CITIZENSHIP_EUM) allowed_religions = list(RELIGION_QEBLAK, RELIGION_WEISHII, RELIGION_SUURKA, RELIGION_KIRGUL, RELIGION_NONE, RELIGION_OTHER) default_citizenship = CITIZENSHIP_JARGON diff --git a/code/modules/random_map/automata/diona.dm b/code/modules/random_map/automata/diona.dm index aa180b559d7..3d36a67b562 100644 --- a/code/modules/random_map/automata/diona.dm +++ b/code/modules/random_map/automata/diona.dm @@ -1,5 +1,6 @@ /turf/simulated/wall/diona/Initialize(mapload) . = ..(mapload, "biomass") + canSmoothWith = list(src.type) /obj/structure/diona icon = 'icons/obj/diona.dmi' diff --git a/code/modules/turbolift/turbolift_turfs.dm b/code/modules/turbolift/turbolift_turfs.dm index 0fb3302885a..e514244d7ff 100644 --- a/code/modules/turbolift/turbolift_turfs.dm +++ b/code/modules/turbolift/turbolift_turfs.dm @@ -1,2 +1,3 @@ /turf/simulated/wall/elevator/Initialize(mapload) . = ..(mapload, "elevatorium") + canSmoothWith = list(src.type) diff --git a/config/example/config.txt b/config/example/config.txt index 6365274368f..5318daf667c 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -551,6 +551,7 @@ CURRENT_SPACE_SECTOR Romanovich Cloud # NTSL2+ Connection Info NTSL_HOSTNAME localhost NTSL_PORT 1945 +NTSL_DISABLED 1 # Limit to how many hacked drones can AI have at the same time. # HACKED_DRONES_LIMIT 5 diff --git a/html/changelog.html b/html/changelog.html index 001897cf11e..59b02d9236d 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -35,6 +35,20 @@ -->
+

19 January 2022

+

MattAtlas updated:

+ +

Omicega updated:

+ +

TheGreyWolf updated:

+ +

18 January 2022

MattAtlas updated: