diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index bea1d7975688..cf6d6c64d9a9 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -163,9 +163,10 @@ #define MATRIX_NVG 1 #define MATRIX_WIDE 2 -#define RESEARCH_UPGRADE_NULL null +#define RESEARCH_UPGRADE_NOTHING_TO_PASS null #define RESEARCH_UPGRADE_EXCLUDE_BUY -2 #define RESEARCH_UPGRADE_CATEGORY -1 //lord forgive me +#define RESEARCH_UPGRADE_ITEM 1 #define RESEARCH_UPGRADE_TIER_1 1 #define RESEARCH_UPGRADE_TIER_2 2 #define RESEARCH_UPGRADE_TIER_3 3 diff --git a/code/__pragmas.dm b/code/__pragmas.dm index 39c14e1bbc95..84fcc0dfc307 100644 --- a/code/__pragmas.dm +++ b/code/__pragmas.dm @@ -12,7 +12,6 @@ #pragma SoftReservedKeyword error #pragma DuplicateVariable error #pragma DuplicateProcDefinition error -#pragma TooManyArguments error #pragma PointlessParentCall error #pragma PointlessBuiltinCall error #pragma SuspiciousMatrixCall error diff --git a/code/datums/global_variables.dm b/code/datums/global_variables.dm index 953f42f1723f..53e9c0391e17 100644 --- a/code/datums/global_variables.dm +++ b/code/datums/global_variables.dm @@ -118,15 +118,11 @@ /client/proc/debug_global_variable(name, value, level) var/html = "" - var/change = 0 //to make the value bold if changed if(!(admin_holder.rights & R_DEBUG)) return html html += "
  • EC " - if(value != initial(global.vars[name])) - html += "" - change = 1 if (isnull(value)) html += "[name] = null" @@ -175,8 +171,6 @@ else html += "[name] = [value]" - if(change) - html += "" html += "
  • " @@ -353,7 +347,6 @@ if(admin_holder && admin_holder.marked_datum) possible_classes += "marked datum" possible_classes += "edit referenced object" - possible_classes += "restore to default" class = tgui_input_list(usr, "What kind of variable?","Variable Type", possible_classes) if(!class) @@ -365,9 +358,6 @@ mod_list(global.vars[variable]) return - if("restore to default") - global.vars[variable] = initial(global.vars[variable]) - if("edit referenced object") return .(global.vars[variable]) diff --git a/code/datums/research_upgrade_datum.dm b/code/datums/research_upgrade_datum.dm index 8b19bafad1cd..fd571afdfcf0 100644 --- a/code/datums/research_upgrade_datum.dm +++ b/code/datums/research_upgrade_datum.dm @@ -3,8 +3,10 @@ var/name = "Upgrade." ///name of upgrades, not items. Items are at research_upgrades.dm somewhere in item folder. var/desc = "something is broken. yippee!!" - ///which behavior should this type follow. Should this be completely excluded from the buy menu? should it be one of the dropdown options? This is also what gets passed to the initizialize of an item, this can be any number *but* it cannot be -1 or -2, as it messes with the buy menu. + ///which behavior should this type follow. Should this be completely excluded from the buy menu? should it be one of the dropdown options? or a normal item? var/behavior = RESEARCH_UPGRADE_EXCLUDE_BUY // should this be on the list? + //This is what gets passed to the initizialize of an item, RESEARCH_UPGRADE_NOTHING_TO_PASS to not pass anything. + var/on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS /// the price of the upgrade, refer to this: 500 is a runner, 8k is queen. T3 is usually 3k, woyer is 2k. var/value_upgrade = 1000 /// actual path to the item.(upgrade) @@ -33,28 +35,32 @@ /datum/research_upgrades/machinery/autodoc/internal_bleed name = "AutoDoc Internal Bleeding Repair" desc = "A data and instruction set for the AutoDoc, making it capable of rapidly fixing internal bleeding." - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_TIER_1 + behavior = RESEARCH_UPGRADE_ITEM value_upgrade = 200 clearance_req = 1 /datum/research_upgrades/machinery/autodoc/broken_bone name = "AutoDoc Bone Fracture Repair" desc = "A data instruction set for the AutoDoc, making it capable of setting fractures and applying bonegel." - behavior = RESEARCH_UPGRADE_TIER_2 + on_init_argument = RESEARCH_UPGRADE_TIER_2 + behavior = RESEARCH_UPGRADE_ITEM value_upgrade = 2000 clearance_req = 3 /datum/research_upgrades/machinery/autodoc/organ_damage name = "AutoDoc Broken Organ Repair" desc = "A data and instruction set for the AutoDoc, making it capable of fixing organ damage." - behavior = RESEARCH_UPGRADE_TIER_3 + on_init_argument = RESEARCH_UPGRADE_TIER_3 + behavior = RESEARCH_UPGRADE_ITEM value_upgrade = 1500 clearance_req = 2 /datum/research_upgrades/machinery/autodoc/larva_removal name = "AutoDoc Embryo Removal" desc = "Data and instruction set for AutoDoc making it mildly proficient in removing parasites left by unknown organism." - behavior = RESEARCH_UPGRADE_TIER_4 + on_init_argument = RESEARCH_UPGRADE_TIER_4 + behavior = RESEARCH_UPGRADE_ITEM value_upgrade = 4000 clearance_req = 6 @@ -62,7 +68,8 @@ /datum/research_upgrades/machinery/sleeper name = "Sleeper Upgrade" desc = "Research upgrade for Sleeper system, technology on this disk is used on a sleeper to allow wider spectrum of chemicals to be administered, as well as upgrading dialysis software." - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM value_upgrade = 500 item_reference = /obj/item/research_upgrades/sleeper upgrade_type = ITEM_MACHINERY_UPGRADE @@ -77,7 +84,8 @@ desc = "Sell the data acquired to the nearest Weyland-Yutani Science division team for 8 or 9 points." value_upgrade = 2000 item_reference = /obj/item/research_upgrades/credits - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ACCESSORY_UPGRADE change_purchase = 500 maximum_price = 5000 @@ -88,7 +96,8 @@ desc = "An advanced, robust version of the normal scalpel, allowing it to pierce through thick skin and chitin alike with extreme ease." value_upgrade = 3000 item_reference = /obj/item/tool/surgery/scalpel/laser/advanced - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ACCESSORY_UPGRADE clearance_req = 3 @@ -97,7 +106,8 @@ desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision, allowing for the immediate commencement of therapeutic steps." value_upgrade = 3000 item_reference = /obj/item/tool/surgery/scalpel/manager - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ACCESSORY_UPGRADE clearance_req = 4 @@ -109,7 +119,8 @@ change_purchase = -200 minimum_price = 200 item_reference = /obj/item/stack/medical/splint/nano/research - behavior = RESEARCH_UPGRADE_TIER_5 //adjust this to change amount of nanosplints in a stack, cant be higher than five, go change max_amount in the nanosplint itself, then change it. + on_init_argument = RESEARCH_UPGRADE_TIER_5 //adjust this to change amount of nanosplints in a stack, cant be higher than five, go change max_amount in the nanosplint itself, then change it. + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ACCESSORY_UPGRADE /datum/research_upgrades/item/flamer_tank @@ -121,7 +132,8 @@ minimum_price = 100 maximum_price = 1000 item_reference = /obj/item/ammo_magazine/flamer_tank/custom/upgraded - behavior = RESEARCH_UPGRADE_NULL + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ACCESSORY_UPGRADE /datum/research_upgrades/item/flamer_tank/smoke @@ -142,7 +154,8 @@ name = "Universal Translator Plate" desc = "A uniform-attachable plate capable of translating any unknown language heard by the wearer." value_upgrade = 2000 - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM clearance_req = 6 upgrade_type = ITEM_ARMOR_UPGRADE item_reference = /obj/item/clothing/accessory/health/research_plate/translator @@ -152,7 +165,8 @@ name = "Active Blood Coagulator Plate" desc = "A uniform-attachable plate capable of coagulating any bleeding wounds the user possesses." value_upgrade = 1200 - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM clearance_req = 2 change_purchase = -200 minimum_price = 200 @@ -164,7 +178,8 @@ desc = "A medical plate with two buttons on the sides and a hefty chemical tank. Attached to a uniform and on a simultaneous press, it injects an emergency dose of medical chemicals much larger than a normal emergency autoinjector. Single time use and is recycled in biomass printer. Features overdose protection." value_upgrade = 250 clearance_req = 1 - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM change_purchase = -100 minimum_price = 100 upgrade_type = ITEM_ARMOR_UPGRADE @@ -175,7 +190,8 @@ desc = "A strong trauma plate, able to protect the user from a large amount of bullets. Completely useless against sharp objects." value_upgrade = 500 clearance_req = 4 - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ARMOR_UPGRADE change_purchase = -50 minimum_price = 200 @@ -183,10 +199,11 @@ /datum/research_upgrades/armor/preservation name = "Death Preservation Plate" - desc = "preservation plate which activates once the user is dead, uses variety of different substances and sensors to slow down the decay and increase the time before the user is permanently dead, due to small tank of preservatives, it needs to be replaced on each death. Extends time to permadeath by around four minutes." + desc = "Preservation plate which activates once the user is dead, uses variety of different substances and sensors to slow down the decay and increase the time before the user is permanently dead, due to small tank of preservatives, it needs to be replaced on each death. Extends time to permadeath by around four minutes." value_upgrade = 500 clearance_req = 4 - behavior = RESEARCH_UPGRADE_TIER_1 + on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS + behavior = RESEARCH_UPGRADE_ITEM upgrade_type = ITEM_ARMOR_UPGRADE change_purchase = -100 minimum_price = 100 diff --git a/code/game/bioscans.dm b/code/game/bioscans.dm index 5be3c9fbe3fd..edd0b174212d 100644 --- a/code/game/bioscans.dm +++ b/code/game/bioscans.dm @@ -151,7 +151,7 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) var/planet_location = "[marines_on_planet && marine_planet_location ? ", including one in [marine_planet_location]" : ""]" var/title = SPAN_XENOANNOUNCE("The Queen Mother reaches into your mind from worlds away.") - var/content = SPAN_XENOANNOUNCE("To my children and their Queen. I sense [metalhive_hosts] host[plural] in the metal hive [metalhive_location] and [planet_hosts] scattered elsewhere[planet_location].") + var/content = SPAN_XENOANNOUNCE("To my children and their Queen: I sense [metalhive_hosts] host[plural] in the metal hive[metalhive_location] and [planet_hosts] scattered elsewhere[planet_location].") log_game("BIOSCAN: Queen Mother bioscan completed. [content]") /// Shout it at everyone diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm index b5f8bdd17213..9d42eb982d2e 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm @@ -1,8 +1,8 @@ /datum/caste_datum/facehugger caste_type = XENO_CASTE_FACEHUGGER tier = 0 - plasma_gain = 0.1 - plasma_max = 10 + plasma_gain = XENO_PLASMA_GAIN_TIER_1 + plasma_max = XENO_NO_PLASMA melee_damage_lower = 5 melee_damage_upper = 5 max_health = XENO_HEALTH_LARVA diff --git a/code/modules/reagents/chemistry_machinery/xenomorph_analyzer.dm b/code/modules/reagents/chemistry_machinery/xenomorph_analyzer.dm index 5bf6561b28f4..62ceb37386ff 100644 --- a/code/modules/reagents/chemistry_machinery/xenomorph_analyzer.dm +++ b/code/modules/reagents/chemistry_machinery/xenomorph_analyzer.dm @@ -96,7 +96,7 @@ data["upgrades"] += list(list( "name" = capitalize_first_letters(upgrade.name), "desc" = upgrade.desc, - "vari" = upgrade.behavior, + "vari" = upgrade.on_init_argument, "cost" = price_adjustment, "ref" = upgrade.item_reference, "category" = upgrade.upgrade_type, @@ -158,7 +158,7 @@ upgrade = datum_upgrades if(upgrade.behavior == RESEARCH_UPGRADE_CATEGORY || upgrade.behavior == RESEARCH_UPGRADE_EXCLUDE_BUY) continue - if(produce_path == upgrade.item_reference && upgrade.behavior == variation) + if(produce_path == upgrade.item_reference && upgrade.on_init_argument == variation) path_exists = TRUE break if(!path_exists) @@ -178,5 +178,8 @@ /obj/structure/machinery/xenoanalyzer/proc/print_upgrade(produce_path, variation) busy = FALSE - new produce_path(get_turf(src), variation) + if(variation != RESEARCH_UPGRADE_NOTHING_TO_PASS) + new produce_path(get_turf(src), variation) + return + new produce_path(get_turf(src)) diff --git a/html/changelogs/AutoChangeLog-pr-6493.yml b/html/changelogs/AutoChangeLog-pr-6493.yml new file mode 100644 index 000000000000..57d67e75aca3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6493.yml @@ -0,0 +1,4 @@ +author: "HeresKozmos" +delete-after: True +changes: + - maptweak: "Filled in a hole in the map." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-6494.yml b/html/changelogs/AutoChangeLog-pr-6494.yml new file mode 100644 index 000000000000..cf50283ef6a2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6494.yml @@ -0,0 +1,4 @@ +author: "HeresKozmos" +delete-after: True +changes: + - maptweak: "Fixed an area in the easter egg section of Sorokyne" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-6507.yml b/html/changelogs/AutoChangeLog-pr-6507.yml new file mode 100644 index 000000000000..7153d4e603a2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6507.yml @@ -0,0 +1,4 @@ +author: "kiVts" +delete-after: True +changes: + - code_imp: "Prevented potential unintended behavior with research upgrade items on initialize" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-6555.yml b/html/changelogs/AutoChangeLog-pr-6555.yml new file mode 100644 index 000000000000..ed55fd0f3534 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6555.yml @@ -0,0 +1,4 @@ +author: "coldironwarrior" +delete-after: True +changes: + - spellcheck: "fixed a few typos in the xeno bioscan announcement" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-6558.yml b/html/changelogs/AutoChangeLog-pr-6558.yml new file mode 100644 index 000000000000..bc921a138301 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6558.yml @@ -0,0 +1,4 @@ +author: "private-tristan" +delete-after: True +changes: + - qol: "Facehuggers no longer show as having any plasma" \ No newline at end of file diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index ec598eebd59c..0c8e8c275bbe 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -421,9 +421,6 @@ dir = 8 }, /area/desert_dam/exterior/valley/valley_labs) -"abt" = ( -/turf/open/desert/rock, -/area/desert_dam/exterior/rock) "abu" = ( /obj/effect/blocker/toxic_water, /turf/open/gm/river/desert/shallow_edge{ @@ -57199,9 +57196,6 @@ }, /turf/open/asphalt, /area/desert_dam/exterior/river/riverside_south) -"dTI" = ( -/turf/open/desert/rock, -/area/desert_dam/building/hydroponics/hydroponics_breakroom) "dTK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/asphalt/cement_sunbleached{ @@ -92967,8 +92961,8 @@ dTs dTs dTs dTs -dTI -dTI +dTs +dTs cPL cTk cTO @@ -93201,8 +93195,8 @@ dTs dTs dTs dTs -dTI -dTI +dTs +dTs cPL cTl cTO @@ -93436,7 +93430,7 @@ dTs dTs dTs dTs -abt +dTs cPL cTm cTO diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm index db1f07a8b3b1..12b8bb793c40 100644 --- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm +++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm @@ -30513,9 +30513,6 @@ icon_state = "darkyellowfull2" }, /area/strata/ag/exterior/research_decks) -"eqV" = ( -/turf/closed/wall/wood, -/area/strata/ag/interior/mountain) "era" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -30535,9 +30532,6 @@ /obj/structure/barricade/snow, /turf/open/auto_turf/ice/layer2, /area/strata/ag/exterior/north_lz_caves) -"esJ" = ( -/turf/open/auto_turf/snow/brown_base/layer4, -/area/strata/ag/interior/mountain) "euc" = ( /obj/structure/platform_decoration/strata{ dir = 4 @@ -46384,8 +46378,8 @@ aac aac aac aac -esJ -eqV +byi +lAc mhc qxi wfE