diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 71c659054952..60c4116df330 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -18,3 +18,5 @@ //the define for visible message range in combat #define COMBAT_MESSAGE_RANGE 3 #define DEFAULT_MESSAGE_RANGE 7 + +#define BAYONET_DRAW_DELAY (1 SECONDS) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index ab58df78abcc..aa22c70d4213 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -222,6 +222,7 @@ var/global/list/whitelist_hierarchy = list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_CLF "CLF" #define FACTION_PMC "PMC" #define FACTION_CONTRACTOR "VAI" +#define FACTION_MARSHAL "Colonial Marshal" #define FACTION_WY_DEATHSQUAD "WY Death Squad" #define FACTION_MERCENARY "Mercenary" #define FACTION_FREELANCER "Freelancer" @@ -238,7 +239,7 @@ var/global/list/whitelist_hierarchy = list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_LIST_MARINE list(FACTION_MARINE) #define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE) -#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO) +#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL) #define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) diff --git a/code/datums/emergency_calls/goons.dm b/code/datums/emergency_calls/goons.dm index 8bb2ee515c69..8a0b00968807 100644 --- a/code/datums/emergency_calls/goons.dm +++ b/code/datums/emergency_calls/goons.dm @@ -47,12 +47,12 @@ /datum/emergency_call/goon/chem_retrieval/New() ..() dispatch_message = "[MAIN_SHIP_NAME], this is USCSS Royce. Our squad is boarding to retrieve all samples of a chemical recently scanned from your research department. You should already have received a significant sum of money for your department's discovery. In return we ask that you cooperate and provide everything related to the chemical to our retrieval team." - objectives = "Secure all documents, samples, and chemicals containing the property DNA_Disintegrating from [MAIN_SHIP_NAME] research department." + objectives = "Secure all documents, samples, and chemicals containing the property DNA_Disintegrating from [MAIN_SHIP_NAME] research department and return them to Response Team Station." /datum/emergency_call/goon/chem_retrieval/proc/check_objective_info() if(objective_info) - objectives = "Secure all documents, samples and chemicals related to [objective_info] from [MAIN_SHIP_NAME] research department." - objectives += "Assume at least 30 units are located within the department. If they can not make more that should be all. Cooperate with the onboard CL to ensure all who know the complete recipe are kept silenced with a contract of confidentiality. All humans who have ingested the chemical must be brought back dead or alive. Viral scan is required for any humans who is suspected of ingestion. The professor may call for PMC back up if things get out of hand." + objectives = "Secure all documents, samples and chemicals related to [objective_info] from [MAIN_SHIP_NAME] research department and return them to Response Team Station." + objectives += "Assume at least 30 units are located within the department. If they can not make more that should be all. Cooperate with the onboard CL to ensure all who know the complete recipe are kept silenced with a contract of confidentiality. All humans who have ingested the chemical must be brought back dead or alive. Viral scan is required for any humans who is suspected of ingestion. You must not deploy to the colony without explicit permission from PMC Dispatch. The professor may call for PMC back up if things get out of hand." checked_objective = TRUE /datum/emergency_call/goon/chem_retrieval/create_member(datum/mind/M, turf/override_spawn_loc) diff --git a/code/game/objects/items/reagent_containers/blood_pack.dm b/code/game/objects/items/reagent_containers/blood_pack.dm index 8e29a26c2ecd..ce259b78f87e 100644 --- a/code/game/objects/items/reagent_containers/blood_pack.dm +++ b/code/game/objects/items/reagent_containers/blood_pack.dm @@ -65,7 +65,7 @@ if(user.action_busy) return - if(!do_after(user, 3 SECONDS * user.get_skill_duration_multiplier(SKILL_SURGERY), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + if(!do_after(user, (1 SECONDS) * user.get_skill_duration_multiplier(SKILL_SURGERY), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) to_chat(user, SPAN_WARNING("You were interrupted before you could finish!")) return diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 015d8a5eca60..6e8b00fc48e8 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -742,8 +742,8 @@ ) cant_hold = list() flap = FALSE - var/draw_cooldown = 0 - var/draw_cooldown_interval = 1 SECONDS + + COOLDOWN_DECLARE(draw_cooldown) /obj/item/storage/belt/knifepouch/fill_preset_inventory() for(var/i = 1 to storage_slots) @@ -758,9 +758,9 @@ playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/storage/belt/knifepouch/attack_hand(mob/user, mods) - if(draw_cooldown < world.time) + if(COOLDOWN_FINISHED(src, draw_cooldown)) ..() - draw_cooldown = world.time + draw_cooldown_interval + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) else to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 02e4b3866271..7a49f48cdc92 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -128,10 +128,10 @@ icon_state = "bayonet" storage_slots = 5 storage_flags = STORAGE_FLAGS_POUCH|STORAGE_USING_DRAWING_METHOD|STORAGE_ALLOW_QUICKDRAW - var/draw_cooldown = 0 - var/draw_cooldown_interval = 1 SECONDS var/default_knife_type = /obj/item/weapon/throwing_knife + COOLDOWN_DECLARE(draw_cooldown) + /obj/item/storage/pouch/bayonet/Initialize() . = ..() for(var/total_storage_slots in 1 to storage_slots) @@ -149,9 +149,9 @@ playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/storage/pouch/bayonet/attack_hand(mob/user, mods) - if(draw_cooldown < world.time) + if(COOLDOWN_FINISHED(src, draw_cooldown)) ..() - draw_cooldown = world.time + draw_cooldown_interval + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) else to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) diff --git a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm index 37d46cbe6d5d..c8f5a7f82c0f 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm @@ -192,12 +192,12 @@ recently_nested = TRUE addtimer(VARSET_CALLBACK(src, recently_nested, FALSE), 5 SECONDS) -/obj/structure/bed/nest/buckle_mob(mob/M as mob, mob/user as mob) +/obj/structure/bed/nest/buckle_mob(mob/mob, mob/user) . = FALSE - if(!isliving(M) || islarva(user) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || user.lying || M.buckled || !iscarbon(user)) + if(!isliving(mob) || islarva(user) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || user.lying || mob.buckled || !iscarbon(user)) return - if(isxeno(M)) + if(isxeno(mob)) to_chat(user, SPAN_WARNING("You can't buckle your sisters.")) return @@ -205,69 +205,64 @@ to_chat(user, SPAN_WARNING("There's already someone in [src].")) return - if(M.mob_size > MOB_SIZE_HUMAN) - to_chat(user, SPAN_WARNING("\The [M] is too big to fit in [src].")) + if(mob.mob_size > MOB_SIZE_HUMAN) + to_chat(user, SPAN_WARNING("\The [mob] is too big to fit in [src].")) return - if(!isxeno(user) || issynth(M)) + if(!isxeno(user) || issynth(mob)) to_chat(user, SPAN_WARNING("Gross! You're not touching that stuff.")) return - if(isyautja(M) && !force_nest) - to_chat(user, SPAN_WARNING("\The [M] seems to be wearing some kind of resin-resistant armor!")) + if(isyautja(mob) && !force_nest) + to_chat(user, SPAN_WARNING("\The [mob] seems to be wearing some kind of resin-resistant armor!")) return - if(M == user) + if(mob == user) return - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(!H.lying) //Don't ask me why is has to be - to_chat(user, SPAN_WARNING("[M] is resisting, ground them.")) + var/mob/living/carbon/human/human = null + if(ishuman(mob)) + human = mob + if(!human.lying) //Don't ask me why is has to be + to_chat(user, SPAN_WARNING("[mob] is resisting, ground them.")) return var/securing_time = 15 // Don't increase the nesting time for monkeys and other species - if(ishuman_strict(M)) + if(ishuman_strict(mob)) securing_time = 75 - user.visible_message(SPAN_WARNING("[user] pins [M] into [src], preparing the securing resin."), - SPAN_WARNING("[user] pins [M] into [src], preparing the securing resin.")) - var/M_loc = M.loc + user.visible_message(SPAN_WARNING("[user] pins [mob] into [src], preparing the securing resin."), + SPAN_WARNING("[user] pins [mob] into [src], preparing the securing resin.")) + var/M_loc = mob.loc if(!do_after(user, securing_time, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) return - if(M.loc != M_loc) + if(mob.loc != M_loc) return if(buckled_mob) //Just in case to_chat(user, SPAN_WARNING("There's already someone in [src].")) return - if(ishuman(M)) //Improperly stunned Marines won't be nested - var/mob/living/carbon/human/H = M - if(!H.lying) //Don't ask me why is has to be - to_chat(user, SPAN_WARNING("[M] is resisting, ground them.")) + if(human) //Improperly stunned Marines won't be nested + if(!human.lying) //Don't ask me why is has to be + to_chat(user, SPAN_WARNING("[mob] is resisting, ground them.")) return - do_buckle(M, user) - ADD_TRAIT(M, TRAIT_NESTED, TRAIT_SOURCE_BUCKLE) + do_buckle(mob, user) + ADD_TRAIT(mob, TRAIT_NESTED, TRAIT_SOURCE_BUCKLE) - if(!ishuman(M)) + if(!human) return TRUE //Disabling motion detectors and other stuff they might be carrying - var/mob/living/carbon/human/H = M - H.start_nesting_cooldown() - H.disable_special_flags() - H.disable_lights() - H.disable_special_items() - - if(H.mind) - var/choice = alert(M, "You have no possibility of escaping unless freed by your fellow marines, do you wish to Ghost? If you are freed while ghosted, you will be given the choice to return to your body.", ,"Ghost", "Remain") - if(choice == "Ghost") - // Ask to ghostize() so they can reenter, to leave mind and such intact - ghost_of_buckled_mob = M.ghostize(can_reenter_corpse = TRUE) - ghost_of_buckled_mob?.can_reenter_corpse = FALSE // Just don't for now + human.start_nesting_cooldown() + human.disable_special_flags() + human.disable_lights() + human.disable_special_items() + + if(human.client) + human.do_ghost() return TRUE diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 84e053388826..d0e3b77d70c5 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -593,6 +593,12 @@ icon_state = "vest_knives" hold = /obj/item/storage/internal/accessory/knifeharness +/obj/item/clothing/accessory/storage/knifeharness/attack_hand(mob/user, mods) + if(!mods || !mods["alt"] || !length(hold.contents)) + return ..() + + hold.contents[length(contents)].attack_hand(user, mods) + /obj/item/storage/internal/accessory/knifeharness storage_slots = 5 max_storage_space = 5 @@ -603,6 +609,32 @@ /obj/item/attachable/bayonet, /obj/item/weapon/throwing_knife, ) + storage_flags = STORAGE_ALLOW_QUICKDRAW|STORAGE_FLAGS_POUCH + + COOLDOWN_DECLARE(draw_cooldown) + +/obj/item/storage/internal/accessory/knifeharness/fill_preset_inventory() + for(var/i = 1 to storage_slots) + new /obj/item/weapon/throwing_knife(src) + +/obj/item/storage/internal/accessory/knifeharness/attack_hand(mob/user, mods) + . = ..() + + if(!COOLDOWN_FINISHED(src, draw_cooldown)) + to_chat(user, SPAN_WARNING("You need to wait before drawing another knife!")) + return FALSE + + if(length(contents)) + contents[length(contents)].attack_hand(user, mods) + COOLDOWN_START(src, draw_cooldown, BAYONET_DRAW_DELAY) + +/obj/item/storage/internal/accessory/knifeharness/_item_insertion(obj/item/inserted_item, prevent_warning = 0) + ..() + playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) + +/obj/item/storage/internal/accessory/knifeharness/_item_removal(obj/item/removed_item, atom/new_location) + ..() + playsound(src, 'sound/weapons/gun_shotgun_shell_insert.ogg', 15, TRUE) /obj/item/clothing/accessory/storage/knifeharness/duelling name = "decorated harness" diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index 79df8d567770..55602ec956f3 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -1,6 +1,7 @@ /datum/equipment_preset/cmb name = "Colonial Marshal" - faction = FACTION_USCM + faction = FACTION_MARSHAL + faction_group = list(FACTION_MARSHAL, FACTION_MARINE) rank = JOB_CMB idtype = /obj/item/card/id/deputy languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) @@ -410,7 +411,8 @@ paygrade = "ME2" role_comm_title = "A-RFN" skills = /datum/skills/pfc/crafty - faction = FACTION_USCM + faction = FACTION_MARSHAL + faction_group = list(FACTION_MARSHAL, FACTION_MARINE) /datum/equipment_preset/uscm/cmb/load_status(mob/living/carbon/human/new_human) . = ..() diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index ac67471ce30f..3a35eecd8557 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -396,7 +396,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghostize(TRUE) else var/list/options = list("Ghost", "Stay in body") - if(check_rights(R_MOD)) + if(check_other_rights(client, R_MOD, FALSE)) options = list("Aghost") + options var/text_prompt = "Are you -sure- you want to ghost?\n(You are alive. If you ghost, you won't be able to return to your body. You can't change your mind so choose wisely!)" var/is_nested = (buckled && istype(buckled, /obj/structure/bed/nest)) ? TRUE : FALSE @@ -412,8 +412,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp AdjustSleeping(2) // Sleep so you will be properly recognized as ghosted var/turf/location = get_turf(src) if(location) //to avoid runtime when a mob ends up in nullspace - msg_admin_niche("[key_name_admin(usr)] has ghosted. [ADMIN_JMP(location)]") - log_game("[key_name_admin(usr)] has ghosted.") + msg_admin_niche("[key_name_admin(client)] has ghosted. [ADMIN_JMP(location)]") + log_game("[key_name_admin(client)] has ghosted.") var/mob/dead/observer/ghost = ghostize((is_nested && nest && !QDELETED(nest))) //FALSE parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 if(ghost && !is_admin_level(z)) ghost.timeofdeath = world.time diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index e6fc734e4e5a..b1c6bddd0ac8 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -218,6 +218,18 @@ to_chat(new_xeno, "Talk in Hivemind using ; (e.g. ';My life for the queen!')") playsound_client(new_xeno.client, 'sound/effects/xeno_newlarva.ogg', 25, 1) + // Inform observers to grab some popcorn if it isnt nested + if(!HAS_TRAIT(affected_mob, TRAIT_NESTED)) + var/area/burst_area = get_area(src) + if(burst_area) + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob] at \the [burst_area]! [OBSERVER_JMP(observer, affected_mob)]")) + to_chat(src, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob] at \the [burst_area]!")) + else + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob]! [OBSERVER_JMP(observer, affected_mob)]")) + to_chat(src, SPAN_DEADSAY("A [new_xeno.hive.prefix]Larva is about to chestburst out of [affected_mob]!")) + stage = 6 /mob/living/carbon/xenomorph/larva/proc/cause_unbearable_pain(mob/living/carbon/victim) diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index d8ea29cd92f8..62f7378191a5 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -554,6 +554,12 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/obj/item/storage/internal/accessory/holster/holster = cycled_holster.hold if(holster.current_gun) return holster.current_gun + + for(var/obj/item/clothing/accessory/storage/cycled_accessory in w_uniform.accessories) + var/obj/item/storage/internal/accessory/accessory_storage = cycled_accessory.hold + if(accessory_storage.storage_flags & STORAGE_ALLOW_QUICKDRAW) + return accessory_storage + return FALSE if(istype(slot) && (slot.storage_flags & STORAGE_ALLOW_QUICKDRAW)) diff --git a/code/modules/tents/folded_tents.dm b/code/modules/tents/folded_tents.dm index d1f922703500..d6f1dbca9fd9 100644 --- a/code/modules/tents/folded_tents.dm +++ b/code/modules/tents/folded_tents.dm @@ -12,6 +12,8 @@ var/off_y = 0 /// Map Template to use for the tent var/template + /// If this tent can be deployed anywhere + var/unrestricted_deployment = FALSE /// Check an area is clear for deployment of the tent /obj/item/folded_tent/proc/check_area(turf/ref_turf, mob/message_receiver, display_error = FALSE) @@ -20,7 +22,7 @@ var/list/turf_block = get_deployment_area(ref_turf) for(var/turf/turf as anything in turf_block) var/area/area = get_area(turf) - if(!area.can_build_special) + if(!area.can_build_special && !unrestricted_deployment) if(message_receiver) to_chat(message_receiver, SPAN_WARNING("You cannot deploy tents on restricted areas.")) if(display_error) @@ -73,7 +75,7 @@ if(!istype(deploy_turf) || (deploy_turf.x + dim_x > world.maxx) || (deploy_turf.y + dim_y > world.maxy)) // Map border basically return - if(!is_ground_level(deploy_turf.z)) + if(!is_ground_level(deploy_turf.z) && !unrestricted_deployment) to_chat(user, SPAN_WARNING("USCM Operational Tents are intended for operations, not ship or space recreation.")) return diff --git a/html/changelogs/AutoChangeLog-pr-3850.yml b/html/changelogs/AutoChangeLog-pr-3850.yml deleted file mode 100644 index dc31ab865e69..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3850.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - rscadd: "Added donator kit boxes that hold a donator's special gear. They can be destroyed with a right-click while on the ground, and are locked to the donator." - - code_imp: "Tidied up typepaths for many donator items to make it clearer what or who they are for." - - code_imp: "Removed the requirement for donators to match their character name to our config file." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3911.yml b/html/changelogs/AutoChangeLog-pr-3911.yml deleted file mode 100644 index 10b29d57f05f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3911.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Awantje" -delete-after: True -changes: - - code_imp: "Medicomp surgery tools no longer care about what zone you target." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3927.yml b/html/changelogs/AutoChangeLog-pr-3927.yml deleted file mode 100644 index 0fd5837fb3fc..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3927.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "QuickLode" -delete-after: True -changes: - - bugfix: "limits the Survivor CMB Synthetic comms" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3932.yml b/html/changelogs/AutoChangeLog-pr-3932.yml deleted file mode 100644 index df7c88fa0e2a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3932.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "harryob" -delete-after: True -changes: - - admin: "you can no longer touch bad vars" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3934.yml b/html/changelogs/AutoChangeLog-pr-3934.yml deleted file mode 100644 index dffcae96ead9..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3934.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Morrow" -delete-after: True -changes: - - balance: "Removes large pouches as buyable from all squad roles other than SL" - - balance: "Removes medkit, medical (the base ones, not first aid), and syringe pouches from squad prep room vendors" - - balance: "Replaces the EZ-injector first aid pouch with the alternate tricord/bandage/splint/ointment version in the squad prep room vendors" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3935.yml b/html/changelogs/AutoChangeLog-pr-3935.yml deleted file mode 100644 index 14b051b42c00..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3935.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Morrow" -delete-after: True -changes: - - balance: "Modifies INTERRUPT_NO_NEEDHAND flag to require you hold the item at least in one hand." - - balance: "Changes splint back to using INTERRUPT_NO_NEEDHAND" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3938.yml b/html/changelogs/AutoChangeLog-pr-3938.yml deleted file mode 100644 index 30042f4a6a2f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3938.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - bugfix: "Fixes PMC survivor synth spawning with marine comms, again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3940.yml b/html/changelogs/AutoChangeLog-pr-3940.yml deleted file mode 100644 index 6561d2a12c0b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3940.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ben10083" -delete-after: True -changes: - - rscadd: "Facehuggers now bypass time of death checks when being considered for larva." - - code_imp: "new variable for observers to handle bypass of time of death checks" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3941.yml b/html/changelogs/AutoChangeLog-pr-3941.yml deleted file mode 100644 index a9dd3647263f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3941.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - bugfix: "Reduces yautja armor bullet resistance by 5, and puts that 5 extra onto the heavy armor." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3943.yml b/html/changelogs/AutoChangeLog-pr-3943.yml new file mode 100644 index 000000000000..76575973ee42 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3943.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - bugfix: "Fixed the prompt when nested to ghost: Now uses a TGUI prompt and sets larva queue time." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3946.yml b/html/changelogs/AutoChangeLog-pr-3946.yml deleted file mode 100644 index c0076176b75e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3946.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Drathek" -delete-after: True -changes: - - code_imp: "Removed extra CI testing for override maps" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3947.yml b/html/changelogs/AutoChangeLog-pr-3947.yml new file mode 100644 index 000000000000..dd47b51bb07b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3947.yml @@ -0,0 +1,4 @@ +author: "Ben10083" +delete-after: True +changes: + - qol: "Ghosts now informed when a non-nested host is about to chestburst" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3948.yml b/html/changelogs/AutoChangeLog-pr-3948.yml new file mode 100644 index 000000000000..46e551b66804 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3948.yml @@ -0,0 +1,4 @@ +author: "ClairionCM" +delete-after: True +changes: + - rscadd: "Chem ERT objectives now mention that they cant deploy without explicit permission." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3950.yml b/html/changelogs/AutoChangeLog-pr-3950.yml new file mode 100644 index 000000000000..97d84b1cfd91 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3950.yml @@ -0,0 +1,4 @@ +author: "Morrow" +delete-after: True +changes: + - balance: "Decreased blood bag IV insertion time from 3 to 1 second" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3953.yml b/html/changelogs/AutoChangeLog-pr-3953.yml new file mode 100644 index 000000000000..b5e21de9662f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3953.yml @@ -0,0 +1,4 @@ +author: "Waseemq1235" +delete-after: True +changes: + - code_imp: "Adds unrestricted_deployment var to tents. Bypasses groundside checks." \ No newline at end of file diff --git a/html/changelogs/archive/2023-07.yml b/html/changelogs/archive/2023-07.yml index 0edee30b9f8e..3394ade555a2 100644 --- a/html/changelogs/archive/2023-07.yml +++ b/html/changelogs/archive/2023-07.yml @@ -327,3 +327,43 @@ silencer_pl: - qol: Default paper and desc_lore viewing windows are now larger to match the expected content in them better. +2023-07-21: + Awantje: + - code_imp: Medicomp surgery tools no longer care about what zone you target. + Ben10083: + - rscadd: Facehuggers now bypass time of death checks when being considered for + larva. + - code_imp: new variable for observers to handle bypass of time of death checks + Drathek: + - code_imp: Removed extra CI testing for override maps + Morrow: + - bugfix: Colonial Marshal ERT now uses their own faction + - bugfix: Anchorpoint marines now use the proper define for USCM + - rscadd: Added sounds for inserting and removing knifes to the knife webbing + - rscadd: Added draw delay for knives to the knife webbing + - rscadd: Allowed using quickdraw with the knife webbing + - rscadd: Allowed knife webbing to be alt-clicked to draw from it + - rscadd: Knife webbing is now spawned full + - code_imp: Standardized knife draw delay in a define + - balance: Modifies INTERRUPT_NO_NEEDHAND flag to require you hold the item at least + in one hand. + - balance: Changes splint back to using INTERRUPT_NO_NEEDHAND + - balance: Removes large pouches as buyable from all squad roles other than SL + - balance: Removes medkit, medical (the base ones, not first aid), and syringe pouches + from squad prep room vendors + - balance: Replaces the EZ-injector first aid pouch with the alternate tricord/bandage/splint/ointment + version in the squad prep room vendors + QuickLode: + - bugfix: limits the Survivor CMB Synthetic comms + harryob: + - admin: you can no longer touch bad vars + realforest2001: + - bugfix: Fixes PMC survivor synth spawning with marine comms, again. + - bugfix: Reduces yautja armor bullet resistance by 5, and puts that 5 extra onto + the heavy armor. + - rscadd: Added donator kit boxes that hold a donator's special gear. They can be + destroyed with a right-click while on the ground, and are locked to the donator. + - code_imp: Tidied up typepaths for many donator items to make it clearer what or + who they are for. + - code_imp: Removed the requirement for donators to match their character name to + our config file.