From 6f0ecb3878af9f23f6bfcadc6fbe98b1449160dc Mon Sep 17 00:00:00 2001 From: El Cordero <139771601+Kaboomkat@users.noreply.github.com> Date: Wed, 19 Jul 2023 19:55:23 -0300 Subject: [PATCH 01/31] Adds a new Gin Bottle design, visually different than that of the Vodka. (#3914) # About the pull request This PR adds a new Gin Bottle design, as the one currently in game is visually identical to the Vodka Bottle design, it is inspired in the Tanqueray London Dry Gin, and reflects the items' description, which states: "A bottle of high-quality gin, produced in the New London Space Station." Sprites made by me. # Explain why it's good for the game These Changes would benefit the game in a visual manner, as the gin bottle would be easier to identify from a vodka bottle. # Testing Photographs and Procedure
https://i.imgur.com/ovpUNab.png https://i.imgur.com/437rSGS.png Screenshots & Videos The old Vodka and Gin bottles side by side, and then, the new Gin bottle
# Changelog :cl: Kaboomcat imageadd: Updated the gin bottle sprite /:cl: --- icons/obj/items/drinks.dmi | Bin 59991 -> 60351 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/items/drinks.dmi b/icons/obj/items/drinks.dmi index 10872151260a77499a0242d52d9dd5158a11571b..2823407a429c384eaa67b8304fcabf8586e2bb1b 100644 GIT binary patch delta 58837 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
9S2zb59B~Z>vTsdIBEIKF}tieW?CH$Cvz( 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
  • abZyVYoVt~Gu3a&11*gKPa2 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 Date: Thu, 20 Jul 2023 00:03:56 +0100 Subject: [PATCH 02/31] Automatic changelog for PR #3914 [ci skip] --- html/changelogs/AutoChangeLog-pr-3914.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3914.yml diff --git a/html/changelogs/AutoChangeLog-pr-3914.yml b/html/changelogs/AutoChangeLog-pr-3914.yml new file mode 100644 index 000000000000..5b6d2e58db5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3914.yml @@ -0,0 +1,4 @@ +author: "Kaboomcat" +delete-after: True +changes: + - imageadd: "Updated the gin bottle sprite" \ No newline at end of file From e270f0f040c32929408182740e9effca3f2ce39a Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 19 Jul 2023 19:07:31 -0400 Subject: [PATCH 03/31] Notify when a NPC Facehugger facehugs someone (#3884) # About the pull request NPC facehuggers now also send out a notifcation like player facehuggers do when they facehug someone. # Explain why it's good for the game With player huggers able to do this, it makes sense for regular huggers to do the same to notify the hive of a new infection (though eggs, morpher, or even traps), giving the Xenos valuable information. This also gives feedback for Carriers when their trap facehugs someone. # Testing Photographs and Procedure ![image](https://github.com/cmss13-devs/cmss13/assets/91219575/0cbda9a9-eb75-4483-8e51-00a075235850) # Changelog :cl: qol: Non player Facehuggers now also notify the hive when they facehug something. /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- .../living/carbon/xenomorph/Facehuggers.dm | 19 +++++++++++++++++-- .../carbon/xenomorph/castes/Facehugger.dm | 15 +-------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm index 5ef9626620b2..bc86ea40361c 100644 --- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm @@ -246,7 +246,7 @@ throw_atom(target, 3, SPEED_FAST) return TRUE -/obj/item/clothing/mask/facehugger/proc/attach(mob/living/living_mob, silent = FALSE, knockout_mod = 1, hugger_ckey = null) +/obj/item/clothing/mask/facehugger/proc/attach(mob/living/living_mob, silent = FALSE, knockout_mod = 1, mob/living/carbon/xenomorph/facehugger/hugger) if(attached || !can_hug(living_mob, hivenumber)) return FALSE @@ -281,7 +281,22 @@ if(!human.species || !(human.species.flags & IS_SYNTHETIC)) //synthetics aren't paralyzed human.apply_effect(MIN_IMPREGNATION_TIME * 0.5 * knockout_mod, PARALYZE) //THIS MIGHT NEED TWEAKS - addtimer(CALLBACK(src, PROC_REF(impregnate), human, hugger_ckey), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) + var/area/hug_area = get_area(src) + var/name = hugger ? "[hugger]" : "\a [src]" + if(hug_area) + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [name] at \the [hug_area] [OBSERVER_JMP(observer, human)]")) + to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [name] at \the [hug_area]")) + else + for(var/mob/dead/observer/observer as anything in GLOB.observer_list) + to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [name] [OBSERVER_JMP(observer, human)]")) + to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [name]")) + if(hug_area) + xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host at \the [hug_area]!"), 1, hivenumber) + else + xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host!"), 1, hivenumber) + + addtimer(CALLBACK(src, PROC_REF(impregnate), human, hugger?.client?.ckey), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm index df9572df2628..d82e43db2aaf 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm @@ -149,23 +149,10 @@ /mob/living/carbon/xenomorph/facehugger/proc/handle_hug(mob/living/carbon/human/human) var/obj/item/clothing/mask/facehugger/hugger = new /obj/item/clothing/mask/facehugger(loc, hivenumber) - var/did_hug = hugger.attach(human, TRUE, 0.5, client?.ckey) + var/did_hug = hugger.attach(human, TRUE, 0.5, src) if(client) client.player_data?.adjust_stat(PLAYER_STAT_FACEHUGS, STAT_CATEGORY_XENO, 1) - var/area/hug_area = get_area(src) - if(hug_area) - for(var/mob/dead/observer/observer as anything in GLOB.observer_list) - to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [src] at \the [hug_area]" + " [OBSERVER_JMP(observer, human)]")) - to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [src] at \the [hug_area]")) - else - for(var/mob/dead/observer/observer as anything in GLOB.observer_list) - to_chat(observer, SPAN_DEADSAY("[human] has been facehugged by [src]" + " [OBSERVER_JMP(observer, human)]")) - to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [src]")) qdel(src) - if(hug_area) - xeno_message(SPAN_XENOMINORWARNING("You sense that [src] has facehugged a host at \the [hug_area]!"), 1, src.hivenumber) - else - xeno_message(SPAN_XENOMINORWARNING("You sense that [src] has facehugged a host!"), 1, src.hivenumber) return did_hug /mob/living/carbon/xenomorph/facehugger/age_xeno() From f8154b39ff7654fc220f98a2425ea86a32a2104c Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 00:16:24 +0100 Subject: [PATCH 04/31] Automatic changelog for PR #3884 [ci skip] --- html/changelogs/AutoChangeLog-pr-3884.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3884.yml diff --git a/html/changelogs/AutoChangeLog-pr-3884.yml b/html/changelogs/AutoChangeLog-pr-3884.yml new file mode 100644 index 000000000000..f16a0e8d4bb4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3884.yml @@ -0,0 +1,4 @@ +author: "Ben10083" +delete-after: True +changes: + - qol: "Non player Facehuggers now also notify the hive when they facehug something." \ No newline at end of file From f24a1d18f1164019326606d85ac992deb9cb5675 Mon Sep 17 00:00:00 2001 From: Awantje Date: Thu, 20 Jul 2023 01:33:13 +0200 Subject: [PATCH 05/31] Fix the M56D ignoring collision when dismounting the user (#3929) # About the pull request Fixes #3926 It used a force move to dismount from the gun causing these issues. Now, if you can exit behind you will exit behind the gun. # Explain why it's good for the game You could exit into turfs with a density of 1 using this. And you should not be able to. # Testing Photographs and Procedure
    Screenshots & Videos Testing it. With cades and a window frame. To ensure it works. https://imgur.com/a/eT2LBjW
    # Changelog :cl: fix: The M56D no longer let's you violate density code when exiting it. /:cl: --- code/modules/cm_marines/smartgun_mount.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 2db33c10ed46..b72120d2038e 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -906,7 +906,7 @@ user.visible_message(SPAN_NOTICE("[user] lets go of \the [src]."),SPAN_NOTICE("You let go of \the [src], letting the gun rest.")) user.unfreeze() user.reset_view(null) - user.forceMove(get_step(src, reverse_direction(src.dir))) + user.Move(get_step(src, reverse_direction(src.dir))) user.setDir(dir) //set the direction of the player to the direction the gun is facing user_old_x = 0 //reset our x user_old_y = 0 //reset our y From 53d8955f319a498b00487325c613bda0f437160f Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 00:41:42 +0100 Subject: [PATCH 06/31] Automatic changelog for PR #3929 [ci skip] --- html/changelogs/AutoChangeLog-pr-3929.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3929.yml diff --git a/html/changelogs/AutoChangeLog-pr-3929.yml b/html/changelogs/AutoChangeLog-pr-3929.yml new file mode 100644 index 000000000000..92fa1805c3ca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3929.yml @@ -0,0 +1,4 @@ +author: "Awantje" +delete-after: True +changes: + - bugfix: "The M56D no longer let's you violate density code when exiting it." \ No newline at end of file From aa43981c90778b95db24ec8999327a19a1cd67bb Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 20 Jul 2023 01:23:04 +0000 Subject: [PATCH 07/31] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3676.yml | 10 --- html/changelogs/AutoChangeLog-pr-3729.yml | 5 -- html/changelogs/AutoChangeLog-pr-3749.yml | 8 --- html/changelogs/AutoChangeLog-pr-3777.yml | 5 -- html/changelogs/AutoChangeLog-pr-3817.yml | 5 -- html/changelogs/AutoChangeLog-pr-3822.yml | 5 -- html/changelogs/AutoChangeLog-pr-3833.yml | 4 -- html/changelogs/AutoChangeLog-pr-3844.yml | 6 -- html/changelogs/AutoChangeLog-pr-3853.yml | 5 -- html/changelogs/AutoChangeLog-pr-3884.yml | 4 -- html/changelogs/AutoChangeLog-pr-3889.yml | 4 -- html/changelogs/AutoChangeLog-pr-3890.yml | 4 -- html/changelogs/AutoChangeLog-pr-3905.yml | 4 -- html/changelogs/AutoChangeLog-pr-3914.yml | 4 -- html/changelogs/AutoChangeLog-pr-3915.yml | 6 -- html/changelogs/AutoChangeLog-pr-3921.yml | 4 -- html/changelogs/AutoChangeLog-pr-3924.yml | 4 -- html/changelogs/AutoChangeLog-pr-3929.yml | 4 -- html/changelogs/archive/2023-07.yml | 81 +++++++++++++++++++++++ 19 files changed, 81 insertions(+), 91 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3676.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3729.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3749.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3777.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3817.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3822.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3833.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3844.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3853.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3884.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3889.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3890.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3905.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3914.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3915.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3921.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3924.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3929.yml diff --git a/html/changelogs/AutoChangeLog-pr-3676.yml b/html/changelogs/AutoChangeLog-pr-3676.yml deleted file mode 100644 index 7253d1827834..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3676.yml +++ /dev/null @@ -1,10 +0,0 @@ -author: "Anuv" -delete-after: True -changes: - - bugfix: "#3775" - - rscadd: "Added a new storm siren unique to NV, new survivor types" - - spellcheck: "Updates to the waking distress call notif." - - code_imp: "Weather-related code changes. Update to the handheld maps." - - soundadd: "Added new monsoon weather sfx, new map-unique ambience, new storm siren sfx." - - maptweak: "New LZ (LZ2 Palm Airfield) in the NE with a construction zone. Removed a number of rocks around cave areas. Increased hive location choices from 3 to 4. Added glass ceilings to facility areas (deep caves are still protected, can be OB'd). Slightly widened the 45 minute weed protection areas around LZs. Added a fog monsoon to the SE beach that dissipates after an hour. Expanded east beach. New SW cave section. Opened up the walkway west of LZ1. Enhanced survivor loot and mats to a comparable degree to current maps. Many small changes to lessen chokes and offer more route choice for xenos and marines alike. Removed Spearhead/Rival and laser pistols. Swapped fawras for monkeys. Added more survivor-type choices. Added a bar area and decrepit truck to the north beach." - - config: "Enabled NV again as a map in maps.txt." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3729.yml b/html/changelogs/AutoChangeLog-pr-3729.yml deleted file mode 100644 index d4ad5bec6772..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3729.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "GoldenDarkness55" -delete-after: True -changes: - - balance: "Base rav cooldown regain per slash reduced (4 to 3), empowered charge stun duration reduced (2 to 1.3), empower duration increased (5 to 6.5), empower cooldown reduced (22 to 18), duration window for second empower cast reduced (15 to 6), base shield gain reduced (75 to 50), shield gain per marine reduced (80 to 50), maximum empower targets increased (5 to 6), scissor slash cooldown reduced (10 to 6), and damage reduced (45 to 40)" - - balance: "Hedge rav doesn't lose speed anymore, but loses 10 slash damage instead. Shield duration increased (2 to 2.5), Fire Spikes shard range increased (5 to 6), Spike Shed shard lockout duration reduced (30 to 15), shard lock speed reduced to maintain same speed as previously. Shard damage increased (5 to 8), shard slowdown duration reduced (8 to 3), shard gain per tick reduced (10 to 5), shard gain per bullet reduced (20 to 10), added shard gain per slash (15)" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3749.yml b/html/changelogs/AutoChangeLog-pr-3749.yml deleted file mode 100644 index 0c3d649ed4ad..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3749.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Diegoflores31" -delete-after: True -changes: - - balance: "Acid Splash damage increased to 25" - - balance: "Acid Splash damage can be reduced with BIO armor." - - balance: "Reduced Light armor BIO resistance by 10" - - balance: "Increased Heavy armor BIO resistance by 5" - - balance: "Increased VL vest BIO resistance by 5" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3777.yml b/html/changelogs/AutoChangeLog-pr-3777.yml deleted file mode 100644 index 2f29ce013541..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3777.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "IowaPotatoFarmer" -delete-after: True -changes: - - rscadd: "The PMC Crash on Solaris Ridge now spawns one PMC medic survivor and one PMC engineer survivor." - - bugfix: "The Wey-Yu goon survivors now have their unique corporate white camo M41A MK2 back." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3817.yml b/html/changelogs/AutoChangeLog-pr-3817.yml deleted file mode 100644 index 457ab6a6452c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3817.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Zonespace27" -delete-after: True -changes: - - balance: "Trashbags now hold normal items and can be looked through like a box or storage container." - - balance: "Trashbags no longer fit in your belt slot." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3822.yml b/html/changelogs/AutoChangeLog-pr-3822.yml deleted file mode 100644 index 61e8b77c9ebe..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3822.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "QuickLoad" -delete-after: True -changes: - - balance: "Tones down ERT skills. Impacts VAIPO/Dutch'sDozen/CMB/UPP/CLF/EMerc." - - balance: "Gives PMC & SurvPMC a trained level of CQC." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3833.yml b/html/changelogs/AutoChangeLog-pr-3833.yml deleted file mode 100644 index 630fe71ce25f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3833.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "silencer_pl" -delete-after: True -changes: - - qol: "Default paper and desc_lore viewing windows are now larger to match the expected content in them better." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3844.yml b/html/changelogs/AutoChangeLog-pr-3844.yml deleted file mode 100644 index eb9d04ab9a4e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3844.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "BeagleGaming1" -delete-after: True -changes: - - config: "Moved time to burst to the config" - - balance: "Fixed time to burst, lowering it from 15 minutes to 7.5 minutes by default" - - balance: "Stasis bags used on late-stage mobs properly slow growth down less" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3853.yml b/html/changelogs/AutoChangeLog-pr-3853.yml deleted file mode 100644 index 746efb43655c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3853.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - admin: "Removed the R_REJUVINATE permissions flag and replaces instances where it is used with R_MOD." - - admin: "Added logs if a restricted proc is proccalled." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3884.yml b/html/changelogs/AutoChangeLog-pr-3884.yml deleted file mode 100644 index f16a0e8d4bb4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3884.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ben10083" -delete-after: True -changes: - - qol: "Non player Facehuggers now also notify the hive when they facehug something." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3889.yml b/html/changelogs/AutoChangeLog-pr-3889.yml deleted file mode 100644 index 63f48a14cf2e..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3889.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Steelpoint" -delete-after: True -changes: - - rscadd: "Predator toolbelt is now a unique item with its own sprite." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3890.yml b/html/changelogs/AutoChangeLog-pr-3890.yml deleted file mode 100644 index 4960b78915aa..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3890.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Steelpoint" -delete-after: True -changes: - - maptweak: "More weed spawns so larva don't spawn in area with no weed to evolve on." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3905.yml b/html/changelogs/AutoChangeLog-pr-3905.yml deleted file mode 100644 index cc457dba451a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3905.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Huffie56" -delete-after: True -changes: - - bugfix: "fix some area having no apc on the almayer making them not behave like they should specialy when hijack happen." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3914.yml b/html/changelogs/AutoChangeLog-pr-3914.yml deleted file mode 100644 index 5b6d2e58db5c..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3914.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kaboomcat" -delete-after: True -changes: - - imageadd: "Updated the gin bottle sprite" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3915.yml b/html/changelogs/AutoChangeLog-pr-3915.yml deleted file mode 100644 index c40b5c92f907..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3915.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "TeDGamer" -delete-after: True -changes: - - bugfix: "Xenos allied to the hive can now open hive's doors" - - bugfix: "Huggers can now scuttle doors" - - code_imp: "Combined hugger + larva code to allow for any small castes to scuttle" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3921.yml b/html/changelogs/AutoChangeLog-pr-3921.yml deleted file mode 100644 index 29091c2e2721..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3921.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ihatethisengine" -delete-after: True -changes: - - balance: "Lurkers don't lose invisibility when they bump into partly visible mobs." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3924.yml b/html/changelogs/AutoChangeLog-pr-3924.yml deleted file mode 100644 index f9f311e597e7..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3924.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Ben10083" -delete-after: True -changes: - - spellcheck: "fix typo relating to Starshell ash" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-3929.yml b/html/changelogs/AutoChangeLog-pr-3929.yml deleted file mode 100644 index 92fa1805c3ca..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3929.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Awantje" -delete-after: True -changes: - - bugfix: "The M56D no longer let's you violate density code when exiting it." \ No newline at end of file diff --git a/html/changelogs/archive/2023-07.yml b/html/changelogs/archive/2023-07.yml index 4ecadab4e2d4..0edee30b9f8e 100644 --- a/html/changelogs/archive/2023-07.yml +++ b/html/changelogs/archive/2023-07.yml @@ -246,3 +246,84 @@ - bugfix: Fixes another synth survivor variant having marine comms. theselfish: - spellcheck: Goodbye Squad Spotter, hello regular non-squaded Spotter. +2023-07-20: + Anuv: + - bugfix: '#3775' + - rscadd: Added a new storm siren unique to NV, new survivor types + - spellcheck: Updates to the waking distress call notif. + - code_imp: Weather-related code changes. Update to the handheld maps. + - soundadd: Added new monsoon weather sfx, new map-unique ambience, new storm siren + sfx. + - maptweak: New LZ (LZ2 Palm Airfield) in the NE with a construction zone. Removed + a number of rocks around cave areas. Increased hive location choices from 3 + to 4. Added glass ceilings to facility areas (deep caves are still protected, + can be OB'd). Slightly widened the 45 minute weed protection areas around LZs. + Added a fog monsoon to the SE beach that dissipates after an hour. Expanded + east beach. New SW cave section. Opened up the walkway west of LZ1. Enhanced + survivor loot and mats to a comparable degree to current maps. Many small changes + to lessen chokes and offer more route choice for xenos and marines alike. Removed + Spearhead/Rival and laser pistols. Swapped fawras for monkeys. Added more survivor-type + choices. Added a bar area and decrepit truck to the north beach. + - config: Enabled NV again as a map in maps.txt. + Awantje: + - bugfix: The M56D no longer let's you violate density code when exiting it. + BeagleGaming1: + - config: Moved time to burst to the config + - balance: Fixed time to burst, lowering it from 15 minutes to 7.5 minutes by default + - balance: Stasis bags used on late-stage mobs properly slow growth down less + Ben10083: + - qol: Non player Facehuggers now also notify the hive when they facehug something. + - spellcheck: fix typo relating to Starshell ash + Diegoflores31: + - balance: Acid Splash damage increased to 25 + - balance: Acid Splash damage can be reduced with BIO armor. + - balance: Reduced Light armor BIO resistance by 10 + - balance: Increased Heavy armor BIO resistance by 5 + - balance: Increased VL vest BIO resistance by 5 + GoldenDarkness55: + - balance: Base rav cooldown regain per slash reduced (4 to 3), empowered charge + stun duration reduced (2 to 1.3), empower duration increased (5 to 6.5), empower + cooldown reduced (22 to 18), duration window for second empower cast reduced + (15 to 6), base shield gain reduced (75 to 50), shield gain per marine reduced + (80 to 50), maximum empower targets increased (5 to 6), scissor slash cooldown + reduced (10 to 6), and damage reduced (45 to 40) + - balance: Hedge rav doesn't lose speed anymore, but loses 10 slash damage instead. + Shield duration increased (2 to 2.5), Fire Spikes shard range increased (5 to + 6), Spike Shed shard lockout duration reduced (30 to 15), shard lock speed reduced + to maintain same speed as previously. Shard damage increased (5 to 8), shard + slowdown duration reduced (8 to 3), shard gain per tick reduced (10 to 5), shard + gain per bullet reduced (20 to 10), added shard gain per slash (15) + Huffie56: + - bugfix: fix some area having no apc on the almayer making them not behave like + they should specialy when hijack happen. + IowaPotatoFarmer: + - rscadd: The PMC Crash on Solaris Ridge now spawns one PMC medic survivor and one + PMC engineer survivor. + - bugfix: The Wey-Yu goon survivors now have their unique corporate white camo M41A + MK2 back. + Kaboomcat: + - imageadd: Updated the gin bottle sprite + QuickLoad: + - balance: Tones down ERT skills. Impacts VAIPO/Dutch'sDozen/CMB/UPP/CLF/EMerc. + - balance: Gives PMC & SurvPMC a trained level of CQC. + Steelpoint: + - maptweak: More weed spawns so larva don't spawn in area with no weed to evolve + on. + - rscadd: Predator toolbelt is now a unique item with its own sprite. + TeDGamer: + - bugfix: Xenos allied to the hive can now open hive's doors + - bugfix: Huggers can now scuttle doors + - code_imp: Combined hugger + larva code to allow for any small castes to scuttle + Zonespace27: + - balance: Trashbags now hold normal items and can be looked through like a box + or storage container. + - balance: Trashbags no longer fit in your belt slot. + ihatethisengine: + - balance: Lurkers don't lose invisibility when they bump into partly visible mobs. + realforest2001: + - admin: Removed the R_REJUVINATE permissions flag and replaces instances where + it is used with R_MOD. + - admin: Added logs if a restricted proc is proccalled. + silencer_pl: + - qol: Default paper and desc_lore viewing windows are now larger to match the expected + content in them better. From 4c515d459730dfd258e99eb3ca3644d3de9ddcb9 Mon Sep 17 00:00:00 2001 From: Drathek <76988376+Drulikar@users.noreply.github.com> Date: Thu, 20 Jul 2023 00:09:58 -0700 Subject: [PATCH 08/31] Disable testing override maps in CI (#3946) # About the pull request This PR removes testing for override json maps. # Explain why it's good for the game Faster testing by reducing the required runners by two. # Testing Photographs and Procedure See checks. # Changelog :cl: Drathek code: Removed extra CI testing for override maps /:cl: --- .github/workflows/ci_suite.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 8f66dc14ad6f..a2eeca30134a 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -92,7 +92,8 @@ jobs: - name: Find Maps id: map_finder run: | - echo "$(ls -mw0 maps/*.json)" > maps_output.txt + shopt -s extglob + echo "$(ls -mw0 maps/!(*override*).json)" > maps_output.txt sed -i -e s+maps/+\"+g -e s+.json+\"+g maps_output.txt echo "Maps: $(cat maps_output.txt)" echo "maps={\"paths\":[$(cat maps_output.txt)]}" >> $GITHUB_OUTPUT From 103da50b1126f64c097af3c52e42d80ccce51b2f Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 08:17:45 +0100 Subject: [PATCH 09/31] Automatic changelog for PR #3946 [ci skip] --- html/changelogs/AutoChangeLog-pr-3946.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3946.yml diff --git a/html/changelogs/AutoChangeLog-pr-3946.yml b/html/changelogs/AutoChangeLog-pr-3946.yml new file mode 100644 index 000000000000..c0076176b75e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3946.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - code_imp: "Removed extra CI testing for override maps" \ No newline at end of file From fbb1375450bb616ed4354a38fbf78f6c64964a5c Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 20 Jul 2023 09:24:09 +0100 Subject: [PATCH 10/31] Fixes PMC Survivor Synth AGAIN (#3938) # About the pull request Again removes marine comms from PMC survivor synth. Please stop sneaking marine comms into survivors. # Explain why it's good for the game -_- # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: fix: Fixes PMC survivor synth spawning with marine comms, again. /:cl: --- code/game/objects/effects/landmarks/survivor_spawner.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/landmarks/survivor_spawner.dm b/code/game/objects/effects/landmarks/survivor_spawner.dm index bc24cb0d9d1f..b7a2e11fb0aa 100644 --- a/code/game/objects/effects/landmarks/survivor_spawner.dm +++ b/code/game/objects/effects/landmarks/survivor_spawner.dm @@ -80,7 +80,7 @@ /obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_medic equipment = /datum/equipment_preset/survivor/pmc/medic - synth_equipment = /datum/equipment_preset/pmc/synth + synth_equipment = /datum/equipment_preset/synth/survivor/pmc intro_text = list("

    You are a survivor of a crash landing!

    ",\ "You are NOT aware of the xenomorph threat.",\ "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") @@ -93,7 +93,7 @@ /obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_engineer equipment = /datum/equipment_preset/survivor/pmc/engineer - synth_equipment = /datum/equipment_preset/pmc/synth + synth_equipment = /datum/equipment_preset/synth/survivor/pmc intro_text = list("

    You are a survivor of a crash landing!

    ",\ "You are NOT aware of the xenomorph threat.",\ "Your primary objective is to heal up and survive. If you want to assault the hive - adminhelp.") From ad6324720a9e6447e7d6fdeceb01f0a0eb94d1fb Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 09:43:06 +0100 Subject: [PATCH 11/31] Automatic changelog for PR #3938 [ci skip] --- html/changelogs/AutoChangeLog-pr-3938.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3938.yml diff --git a/html/changelogs/AutoChangeLog-pr-3938.yml b/html/changelogs/AutoChangeLog-pr-3938.yml new file mode 100644 index 000000000000..30042f4a6a2f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3938.yml @@ -0,0 +1,4 @@ +author: "realforest2001" +delete-after: True +changes: + - bugfix: "Fixes PMC survivor synth spawning with marine comms, again." \ No newline at end of file From b2d038ee0e6bbb6ac1c00a7ae29445e278e0fc3e Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 20 Jul 2023 09:28:47 +0100 Subject: [PATCH 12/31] Donator Kits (#3850) # About the pull request Changes all existing donator gear to spawn inside boxes rather than dumping items into a donator's inventory. Kits cannot be opened unless by the donator, and can be destroyed with a right-click by the donator. Also tidied many of the typepaths that were confusing to make it easier to understand what the item is. # Explain why it's good for the game Makes things tidier. # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: add: 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: Tidied up typepaths for many donator items to make it clearer what or who they are for. code: Removed the requirement for donators to match their character name to our config file. /:cl: --- code/modules/clothing/head/collectable.dm | 4 + .../{Donor_Items.dm => Donator_Items.dm} | 540 ++++++++-------- code/modules/cm_marines/Donator_Kits.dm | 588 ++++++++++++++++++ code/modules/customitems/item_spawning.dm | 39 +- colonialmarines.dme | 3 +- icons/obj/items/storage.dmi | Bin 42718 -> 45992 bytes 6 files changed, 877 insertions(+), 297 deletions(-) rename code/modules/cm_marines/{Donor_Items.dm => Donator_Items.dm} (77%) create mode 100644 code/modules/cm_marines/Donator_Kits.dm diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index e11014392393..addac1ecf139 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -29,3 +29,7 @@ worn_x_dimension = 64 worn_y_dimension = 64 w_class = SIZE_LARGE + +/obj/item/clothing/head/collectable/petehat + icon_state = "petehat" + item_state = "petehat" diff --git a/code/modules/cm_marines/Donor_Items.dm b/code/modules/cm_marines/Donator_Items.dm similarity index 77% rename from code/modules/cm_marines/Donor_Items.dm rename to code/modules/cm_marines/Donator_Items.dm index 4b36792b0527..47380ca2c84a 100644 --- a/code/modules/cm_marines/Donor_Items.dm +++ b/code/modules/cm_marines/Donator_Items.dm @@ -1,6 +1,63 @@ // SS13 DONATOR CUSTOM ITEM STORAGE ZONE OF MAGICAL HAPPINESS APOPHIS - LAST UPDATE - 14JUN2016 -// EXO-SUITS/ARMORS COSMETICS //////////////////////////////////////////////// +//#######################################################\\ +//###################### TEMPLATES ######################\\ +//#######################################################\\ + +//HEAD TEMPLATE (for Helmets/Hats/Berets) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/head/helmet/marine/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + //DON'T GRAB STUFF BETWEEN THIS LINE + icon = 'icons/obj/items/clothing/hats.dmi' + icon_override = 'icons/mob/humans/onmob/head_0.dmi' + flags_inventory = BLOCKSHARPOBJ + flags_inv_hide = HIDEEARS + flags_atom = NO_NAME_OVERRIDE + min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT + flags_marine_helmet = NO_FLAGS + +/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_squad_markings() + set src in usr + if(!ishuman(usr)) return + + if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) + to_chat(usr, SPAN_WARNING("Not right now!")) + return + + to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_SQUAD_OVERLAY? "hide" : "show"] the squad markings.")) + flags_marine_helmet ^= HELMET_SQUAD_OVERLAY + usr.update_inv_head() + +/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_garb_overlay() + set src in usr + if(!ishuman(usr)) return + + if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) + to_chat(usr, SPAN_WARNING("Not right now!")) + return + + to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_GARB_OVERLAY? "hide" : "show"] the helmet garb.")) + flags_marine_helmet ^= HELMET_GARB_OVERLAY + update_icon() + + //AND THIS LINE +//END HEAD TEMPLATE + +//MASK TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/mask/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + //DON'T GRAB STUFF BETWEEN THIS LINE + flags_inventory = ALLOWREBREATH + flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE + //AND THIS LINE + +//END MASK TEMPLATE //SUIT TEMPLATE (for armor/exosuit) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff /obj/item/clothing/suit/storage/marine/fluff @@ -43,13 +100,84 @@ //AND THIS LINE //END SUIT TEMPLATE -/obj/item/clothing/suit/storage/marine/fluff/santa +//FEET TEMPLATE (for shoes) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff +/obj/item/clothing/shoes/marine/fluff + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null +//END FEET TEMPLATE + +/obj/item/storage/backpack/marine/fluff + xeno_types = null + +/obj/item/clothing/gloves/marine/fluff //MARINE GLOVES TEMPLATE + name = "ITEM NAME" + desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique + icon_state = null + item_state = null + +/obj/item/clothing/glasses/fluff + flags_inventory = COVEREYES + + +//#######################################################\\ +//#################### GENERIC SET(S) ###################\\ +//#######################################################\\ + +/obj/item/clothing/head/helmet/marine/fluff/standard_helmet //GENERIC DONOR + name = "Omega Team Helmet" + desc = "Helmet worn by Omega Team. DONOR ITEM" + icon_state = "standard_helmet" + item_state = "standard_helmet" + flags_inventory = BLOCKSHARPOBJ + flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR + +/obj/item/clothing/suit/storage/marine/fluff/standard_armor //GENERIC DONOR + name = "Omega Team Armor" + desc = "Armor worn by the Omega Team. DONOR ITEM" + icon_state = "standard_armor" + item_state = "standard_armor" + +/obj/item/clothing/under/marine/fluff/standard_jumpsuit //GENERIC DONOR + name = "Omega Team Uniform" + desc = "Uniform worn by Omega Team. DONOR ITEM" + icon_state = "standard_jumpsuit" + worn_state = "standard_jumpsuit" + flags_jumpsuit = FALSE + +/obj/item/clothing/under/marine/fluff/turtleneck //GENERIC DONOR + name = "Black Ops Turtleneck" + desc = "A $900 black turtleneck woven from only the purest Azerbaijani cashmere wool. DONOR ITEM" + icon_state = "syndicate" + item_state = "bl_suit" + worn_state = "syndicate" + flags_jumpsuit = FALSE + + +/obj/item/clothing/mask/fluff/balaclava //GENERIC DONOR + name = "Balaclava" + desc = "A black Balaclava used for hiding your face. DISCLAIMER: May not actually hide your face... DONOR ITEM" + item_state = "balaclava" + icon_state = "balaclava" + flags_inventory = COVERMOUTH|ALLOWREBREATH + flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR + +/obj/item/clothing/glasses/fluff/eyepatch //GENERIC DONOR + name = "An Eyepatch" + desc = "Badass +10. Donor Item" + icon_state = "eyepatch" + item_state = "eyepatch" + +// EXO-SUITS/ARMORS COSMETICS //////////////////////////////////////////////// + +/obj/item/clothing/suit/storage/marine/fluff/santa //CKEY=tophatpenguin name = "Santa's suit" desc = "Festive! DONOR ITEM" icon_state = "santa" item_state = "santa" -/obj/item/clothing/suit/storage/marine/fluff/armorammo +/obj/item/clothing/suit/storage/marine/fluff/commandercookies //CKEY=commandercookies name = "marine armor w/ ammo" desc = "A marine combat vest with ammunition on it. DONOR ITEM" icon_state = "bulletproofammo" @@ -61,118 +189,118 @@ icon_state = "cia" item_state = "cia" -/obj/item/clothing/suit/storage/marine/fluff/obey +/obj/item/clothing/suit/storage/marine/fluff/obey //CKEY=obeystylez (UNIQUE) name = "Black Ops Ablative Armor Vest" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "armor_reflec" item_state = "armor_reflec" -/obj/item/clothing/suit/storage/marine/fluff/sas5 +/obj/item/clothing/suit/storage/marine/fluff/sas_juggernaut //CKEY=sasoperative (UNIQUE) name = "Juggernaut Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "rig-syndi" item_state = "syndie_hardsuit" -/obj/item/clothing/suit/storage/marine/fluff/penguin +/obj/item/clothing/suit/storage/marine/fluff/penguin //CKEY=tophatpenguin name = "Trenchcoat" desc = "An 18th-century trenchcoat. Someone who wears this means serious business. DONOR ITEM" icon_state = "detective" item_state = "det_suit" blood_overlay_type = "coat" -/obj/item/clothing/suit/storage/marine/fluff/wright +/obj/item/clothing/suit/storage/marine/fluff/wright //CKEY=wrightthewrong name = "Swat Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "deathsquad" item_state = "swat_suit" -/obj/item/clothing/suit/storage/marine/fluff/tyran +/obj/item/clothing/suit/storage/marine/fluff/tyran //CKEY=tyran68 name = "Swat Armor" desc = "Some fancy looking armor. DONOR ITEM" icon_state = "deathsquad" item_state = "swat_suit" -/obj/item/clothing/suit/storage/marine/fluff/tristan +/obj/item/clothing/suit/storage/marine/fluff/tristan //CKEY=tristan63 name = "Sciency Teleport Armor" desc = "Some fancy looking armor, with lots of lights and buttons. DONOR ITEM" icon_state = "reactive" item_state = "reactive" blood_overlay_type = "armor" -/obj/item/clothing/suit/storage/marine/fluff/SAS +/obj/item/clothing/suit/storage/marine/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Armor" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." item_state = "ncrjacket" icon_state = "ncrjacket" -/obj/item/clothing/suit/storage/marine/fluff/mycroft +/obj/item/clothing/suit/storage/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Armor" desc = "A uniform, of a famous Earth warrior... Donor Item" item_state = "doom_armor" icon_state = "doom_armor" -/obj/item/clothing/suit/storage/marine/fluff/LEO +/obj/item/clothing/suit/storage/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Leo's Armor" desc = "Used Mercenary armor. DONOR ITEM." item_state = "merc_armor" icon_state = "merc_armor" -/obj/item/clothing/suit/storage/marine/fluff/Sado +/obj/item/clothing/suit/storage/marine/fluff/sadokist2 //CKEY=sadokist name = "Heavy Security Hardsuit" desc = "Heavily armored security hardsuit. DONOR ITEM" icon_state = "rig-secTG" item_state = "rig-secTG" -/obj/item/clothing/suit/storage/marine/fluff/Vintage +/obj/item/clothing/suit/storage/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage armor with ripples." desc = "A vintage DONOR ITEM" icon_state = "bulletproof" item_state = "bulletproof" -/obj/item/clothing/suit/storage/marine/fluff/john56 +/obj/item/clothing/suit/storage/marine/fluff/john56 //CKEY=johnkilla56 name = "A red trenchcoat" desc = "A special trenchcoat made famous for instilling fear into greytide everywhere. DONOR ITEM" icon_state = "hos" item_state = "hos" blood_overlay_type = "coat" -/obj/item/clothing/suit/storage/marine/fluff/biolock +/obj/item/clothing/suit/storage/marine/fluff/biolock //CKEY=biolock name = "Medic Armor" desc = "Medical armor, designed to protect medics from things that hurt medics. DONOR ITEM." item_state = "medarmor" icon_state = "medarmor" -/obj/item/clothing/suit/storage/marine/fluff/sas3 //UNIQUE +/obj/item/clothing/suit/storage/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Elite Combat Armor" desc = "A combat armor with blood stains on it from previous battles. UNIQUE DONOR ITEM" icon_state = "hecuarmor_u" item_state = "hecuarmor_u" -/obj/item/clothing/suit/storage/marine/fluff/limo +/obj/item/clothing/suit/storage/marine/fluff/limo //CKEY=limodish (UNIQUE) name = "Blood-Red Hardsuit" desc = "Looks like a hardsuit. Unique DONOR ITEM" icon_state = "syndicate" item_state = "syndicate" -/obj/item/clothing/suit/storage/marine/fluff/Zynax +/obj/item/clothing/suit/storage/marine/fluff/Zynax //CKEY=zynax name = "Gorka Vest" desc = "Russian Camo Vest. Unique DONOR ITEM" icon_state = "gorkavest_u" item_state = "gorkavest_u" -/obj/item/clothing/suit/storage/marine/fluff/BWO +/obj/item/clothing/suit/storage/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Jacket" desc = "The Jacket of an ancient wastelander... Unique DONOR ITEM" icon_state = "riotjacket_u" item_state = "riotjacket_u" -/obj/item/clothing/suit/storage/marine/fluff/vrai +/obj/item/clothing/suit/storage/marine/fluff/adjective name = "HOS Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" item_state = "jensencoat" -/obj/item/clothing/suit/storage/marine/fluff/fick +/obj/item/clothing/suit/storage/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" @@ -196,26 +324,26 @@ icon_state = "hawkeye_jacket_u" item_state = "hawkeye_jacket_u" -/obj/item/clothing/suit/storage/marine/fluff/chimera +/obj/item/clothing/suit/storage/marine/fluff/chimera //CKEY=theultimatechimera name = "Brett's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "hos" item_state = "hos" -/obj/item/clothing/suit/storage/marine/fluff/devil +/obj/item/clothing/suit/storage/marine/fluff/devilzhand name = "Tank's Trenchcoat" desc = "A trenchcoat of authority. DONOR ITEM" icon_state = "jensencoat" item_state = "jensencoat" -/obj/item/clothing/suit/storage/marine/fluff/pink +/obj/item/clothing/suit/storage/marine/fluff/feweh //CKEY=feweh name = "Pink's Ablative Armor Vest" desc = "The fanciest bullet proof vest you've ever seen. DONOR ITEM" icon_state = "armor_reflec" item_state = "armor_reflec" -/obj/item/clothing/suit/storage/marine/fluff/tye +/obj/item/clothing/suit/storage/marine/fluff/crazyh206 name = "Templar Armor" desc = "Some strange holy armor you don't recognize... DONOR ITEM" //Add UNIQUE if Unique icon_state = "templar" @@ -227,31 +355,31 @@ item_state = "solo_jumpsuit_u" icon_state = "solo_jumpsuit_u" -/obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight +/obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Armor" desc = "Woodland Camouflage Armor. DONOR ITEM" //Add UNIQUE if Unique icon_state = "camo_armor" item_state = "camo_armor" -/obj/item/clothing/suit/storage/marine/fluff/dino +/obj/item/clothing/suit/storage/marine/fluff/dino //CKEY=dinobubba7 name = "Sneaking Suit" desc = "An old suit, used by a famous spy. Smells like cigarettes... DONOR ITEM" icon_state = "snakesuit" item_state = "snakesuit" -/obj/item/clothing/suit/storage/marine/fluff/fick2 +/obj/item/clothing/suit/storage/marine/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Corporal Hart's Armor" desc = "It looks like the left arm is Robotic, wait what? DONOR ITEM" icon_state = "hartarmor" item_state = "hartarmor" -/obj/item/clothing/suit/storage/marine/fluff/paradox +/obj/item/clothing/suit/storage/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Armor" desc = "Ancient holy armor of heroes long passed... DONOR ITEM" icon_state = "templar2" item_state = "templar2" -/obj/item/clothing/suit/storage/marine/fluff/roswell +/obj/item/clothing/suit/storage/marine/fluff/chris1464 //CKEY=chris1464 name = "Mercenary Armor" desc = "Armor from an old Mercenary Company, you hope it still holds up... DONOR ITEM" icon_state = "merc_vest" @@ -263,74 +391,68 @@ icon_state = "boba_armor" item_state = "boba_armor" -/obj/item/clothing/suit/storage/marine/fluff/stobarico +/obj/item/clothing/suit/storage/marine/fluff/stobarico //CKEY=stobarico (UNIQUE) name = "British Admiral Uniform" desc = "An ancient uniform of an Admiral. DONOR ITEM" icon_state = "lordadmiral" item_state = "lordadmiral" -/obj/item/clothing/suit/storage/marine/fluff/starscream +/obj/item/clothing/suit/storage/marine/fluff/starscream //CKEY=starscream123 (NOT UNIQUE) name = "Kardar Hussein's Armor" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_armor" item_state = "merc_armor" -/obj/item/clothing/suit/storage/marine/fluff/steelpoint +/obj/item/clothing/suit/storage/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Armor" desc = "Armor to the M4X!!!! DONOR ITEM" icon_state = "steelpoint_armor" item_state = "steelpoint_armor" -/obj/item/clothing/suit/storage/marine/fluff/valentine +/obj/item/clothing/suit/storage/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Armor" desc = "Shockingly good armor. DONOR ITEM" icon_state = "ertarmor_sec" item_state = "ertarmor_sec" -/obj/item/clothing/suit/storage/marine/fluff/nickiscool +/obj/item/clothing/suit/storage/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlord's Jacket" desc = "Who? DONOR ITEM" icon_state = "star_jacket" item_state = "star_jacker" -/obj/item/clothing/suit/storage/marine/fluff/Sado2 +/obj/item/clothing/suit/storage/marine/fluff/sadokist //CKEY=sadokist name = "T15 spec ops armor" desc = "A suit of tightly woven armor crafted for a special forces operator, meant to be flexible and protective against small arms fire. Seems to be custom fit for a very specific user, as the collar has the name 'Tanya' stamped on it. DONOR ITEM" icon_state = "sadokist_armor" item_state = "sadokist_armor" -/obj/item/clothing/suit/storage/marine/fluff/Fairedan +/obj/item/clothing/suit/storage/marine/fluff/fairedan //CKEY=fairedan (UNIQUE) name = "Freighter Crew Flight Jacket" desc = "Standard Issue Jacket for crew that serve on Lockmart CM-88B Bison starfreighters. It has the number 1809246 on the inside tag... DONOR ITEM" icon_state = "Fairedan_vest" item_state = "Fairedan_vest" -/obj/item/clothing/suit/storage/marine/fluff/Jack +/obj/item/clothing/suit/storage/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "Exo-Suit Jackert" desc = "Some sort of strange Exo-suit jacket. It has the letters USCM stamped over a faded word that appears to be ATLAS... UNIQUE DONOR ITEM" icon_state = "Adam_jacket_u" item_state = "Adam_jacket_u" -/obj/item/clothing/suit/storage/marine/fluff/commisar_armor +/obj/item/clothing/suit/storage/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Armor" desc = "Armor worn by the feared and respected Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commisar_armor_u" item_state = "commisar_armor_u" -/obj/item/clothing/suit/storage/marine/fluff/medicae_armor +/obj/item/clothing/suit/storage/marine/fluff/medicae_armor //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Armor" desc = "Armor worn by the Omega Team Medical Corps. UNIQUE DONOR ITEM" icon_state = "medicae_armor_u" item_state = "medicae_armor_u" -/obj/item/clothing/suit/storage/marine/fluff/standard_armor - name = "Omega Team Armor" - desc = "Armor worn by the Omega Team. DONOR ITEM" - icon_state = "standard_armor" - item_state = "standard_armor" - /obj/item/clothing/suit/storage/marine/fluff/Sanctum_heavy name = "Sanctum Founder Armor" desc = "Personal Armor of the Founder of Sanctum Team. It looks more like a Exosuit. Unique DONOR ITEM" //Add UNIQUE if Unique @@ -343,14 +465,14 @@ icon_state = "Sanctum_Medium_u" item_state = "Sanctum_Medium_u" -/obj/item/clothing/suit/storage/marine/fluff/AlexLemire +/obj/item/clothing/suit/storage/marine/fluff/dudewithatude name = "Rainbow Coat" desc = "Powered by the magic of FRIENDSHIP. (Can be toggled opened or closed) UNIQUE DONOR ITEM" icon_state = "AlexLermire_u" item_state = "AlexLermire_u" var/open = FALSE -/obj/item/clothing/suit/storage/marine/fluff/AlexLemire/verb/verb_toggleopen() +/obj/item/clothing/suit/storage/marine/fluff/dudewithatude/verb/verb_toggleopen() set src in usr set category = "Object" set name = "Toggle Open" @@ -371,13 +493,13 @@ icon_state = "leviathan13_u" item_state = "leviathan13_u" -/obj/item/clothing/suit/storage/marine/fluff/blackdrago +/obj/item/clothing/suit/storage/marine/fluff/trblackdragon //CKEY=trblackdragon name = "Strange Looking Armor" desc = "Looks like it's from another time and place... UNIQUE DONOR ITEM" icon_state = "TR-Donor_u" item_state = "TR-Donor_u" -/obj/item/clothing/suit/storage/marine/fluff/zegara +/obj/item/clothing/suit/storage/marine/fluff/zegara //CKEY=zegara name = "Black and Pink armor" desc = "Shiny black armor with pink accents... UNIQUE DONOR ITEM" icon_state = "zegara_armor_u" @@ -411,7 +533,7 @@ icon_state = "kailas_armor" item_state = "kailas_armor" -/obj/item/clothing/suit/storage/marine/fluff/reznor +/obj/item/clothing/suit/storage/marine/fluff/fridrich name = "Solid Black Labcoat" desc = "Very stylish. DONOR ITEM" icon_state = "Reznoriam" @@ -429,7 +551,7 @@ icon_state = "laser243" item_state = "laser243" -/obj/item/clothing/suit/storage/marine/fluff/killaninja +/obj/item/clothing/suit/storage/marine/fluff/killaninja12 name = "space cowboy armor" desc = "Some people call you the space cowboy, some people call you the gangster of love... UNIQUE DONOR ITEM." icon_state = "killaninja12_u" @@ -445,123 +567,80 @@ // HELMETS/HATS/BERETS COSMETICS //////////////////////////////////////////////// - -//HEAD TEMPLATE (for Helmets/Hats/Berets) ONLY TAKE NAME, DESC, ICON_STATE, AND ITEM_STATE. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/head/helmet/marine/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - //DON'T GRAB STUFF BETWEEN THIS LINE - icon = 'icons/obj/items/clothing/hats.dmi' - icon_override = 'icons/mob/humans/onmob/head_0.dmi' - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS - flags_atom = NO_NAME_OVERRIDE - min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT - flags_marine_helmet = NO_FLAGS - -/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_squad_markings() - set src in usr - if(!ishuman(usr)) return - - if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) - to_chat(usr, SPAN_WARNING("Not right now!")) - return - - to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_SQUAD_OVERLAY? "hide" : "show"] the squad markings.")) - flags_marine_helmet ^= HELMET_SQUAD_OVERLAY - usr.update_inv_head() - -/obj/item/clothing/head/helmet/marine/fluff/verb/toggle_garb_overlay() - set src in usr - if(!ishuman(usr)) return - - if(!usr.canmove || usr.stat || usr.is_mob_restrained() || !usr.loc || !isturf(usr.loc)) - to_chat(usr, SPAN_WARNING("Not right now!")) - return - - to_chat(usr, SPAN_NOTICE("You [flags_marine_helmet & HELMET_GARB_OVERLAY? "hide" : "show"] the helmet garb.")) - flags_marine_helmet ^= HELMET_GARB_OVERLAY - update_icon() - - //AND THIS LINE -//END HEAD TEMPLATE - -/obj/item/clothing/head/helmet/marine/fluff/santahat +/obj/item/clothing/head/helmet/marine/fluff/santahat //CKEY=tophatpenguin name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/sas +/obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut //CKEY=sasoperative (UNIQUE) name = "Juggernaut Helmet" icon_state = "rig0-syndi" desc = "A red helmet, for pairing with JuggerNaut Armor. DONOR ITEM" -/obj/item/clothing/head/helmet/marine/fluff/tristan +/obj/item/clothing/head/helmet/marine/fluff/tristan //CKEY=tristan63 name = "Fancy Helmet" desc = "That's not red paint. That's real blood. DONOR ITEM" icon_state = "syndicate" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/penguin +/obj/item/clothing/head/helmet/marine/fluff/penguin //CKEY=tophatpenguin name = "Top Penguin Hat" icon_state = "petehat" desc = "A hat for a penguin, maybe even the TOP Penguin... DONOR ITEM" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/mycroft +/obj/item/clothing/head/helmet/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Helmet" icon_state = "doom_helmet" desc = "A Helmet, of a famous Earth warrior... Donor Item" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/sas2 +/obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut_alt //CKEY=sasoperative (UNIQUE) name = "Juggernaut Helmet" icon_state = "ncrhelmet" desc = "A red helmet, for pairing with JuggerNaut Armor. DONOR ITEM" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Sado +/obj/item/clothing/head/helmet/marine/fluff/sadokist //CKEY=sadokist name = "Tanya's Beret" desc = "A bright red beret, owned by Tanya Edenia." icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/Robin +/obj/item/clothing/head/helmet/marine/fluff/robin //CKEY=robin63 name = "Robin Low's Beret" desc = "A bright red beret, owned by Robin Low." icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/Vintage +/obj/item/clothing/head/helmet/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Pimp Hat" icon_state = "petehat" desc = "A pimp hat, for the classic pimp. DONOR ITEM" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/john56 +/obj/item/clothing/head/helmet/marine/fluff/john56 //CKEY=johnkilla56 name = "Priest hood" icon_state = "chaplain_hood" desc = "Thought I walk through the valley in the shadow of death... Donor Item" -/obj/item/clothing/head/helmet/marine/fluff/biolock +/obj/item/clothing/head/helmet/marine/fluff/biolock //CKEY=biolock name = "Medic Helmet" desc = "Medical Helmet designed to protect the head of a medic. DONOR ITEM" icon_state = "helmetm" -/obj/item/clothing/head/helmet/marine/fluff/haveatya +/obj/item/clothing/head/helmet/marine/fluff/haveatya //CKEY=haveatya name = "Pararescue Beret" desc = "A Pararescue Beret, issued only to the very best. DONOR ITEM" icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/sas3 +/obj/item/clothing/head/helmet/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Elite Combat Helmet" icon_state = "hecuhelm_u" desc = "A combat helmet, bearing the scars of many battles. UNIQUE DONOR ITEM" @@ -572,7 +651,7 @@ icon_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/anthonycarmine +/obj/item/clothing/head/helmet/marine/fluff/ningajai name = "Anthony's helmet" desc = "COG helmet owned by Anthony Carmine" icon_state = "anthonycarmine" @@ -591,7 +670,7 @@ icon_state = "gtberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/elliotberet +/obj/item/clothing/head/helmet/marine/fluff/commandercookies //CKEY=commandercookies name = "Elliots Beret" desc = "A dark maroon beret" icon_state = "eberet" @@ -604,7 +683,7 @@ item_state = "detective" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/limo +/obj/item/clothing/head/helmet/marine/fluff/limo //CKEY=limodish (UNIQUE) name = "Blood Red Hardsuit" desc = "It looks like a costume hardsuit helmet. DONOR ITEM" icon_state = "syndicate" @@ -612,7 +691,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/devil +/obj/item/clothing/head/helmet/marine/fluff/devilzhand name = "MICH Helmet" desc = "A fancy combat helmet. DONOR ITEM" icon_state = "mich" @@ -626,7 +705,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEEYES -/obj/item/clothing/head/helmet/marine/fluff/BWO +/obj/item/clothing/head/helmet/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Helmet" desc = "A helmet from an ancient wastelander... UNIQUE DONOR ITEM" icon_state = "riothelm_u" @@ -641,7 +720,7 @@ item_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/fick +/obj/item/clothing/head/helmet/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's hat" desc = "A fancy beret. DONOR ITEM" icon_state = "hosberet" @@ -655,21 +734,21 @@ item_state = "hosberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/chimera +/obj/item/clothing/head/helmet/marine/fluff/chimera //CKEY=theultimatechimera name = "Brett's hat" desc = "A fancy beret. DONOR ITEM" icon_state = "hosberet" item_state = "hosberet" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/lostmix +/obj/item/clothing/head/helmet/marine/fluff/lostmixup name = "Infinite Ammo Bandanna" desc = "Disclaimer: Probably doesn't provide infinite ammo. UNIQUE DONOR ITEM" icon_state = "headband_u" item_state = "headband_u" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/LEO +/obj/item/clothing/head/helmet/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Leo's Helm" desc = "An old mercenary helmet. DONOR ITEM" icon_state = "merc_helm" @@ -677,20 +756,20 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDELOWHAIR -/obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight +/obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Helmet" desc = "Woodland Camouflage helmet. DONOR ITEM" icon_state = "camo_helm" item_state = "camo_helm" -/obj/item/clothing/head/helmet/marine/fluff/dino +/obj/item/clothing/head/helmet/marine/fluff/dino //CKEY=dinobubba7 name = "Snake's Bandana" desc = "Property of The Boss. DONOR ITEM" icon_state = "snakeheadband" item_state = "snakeheadband" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/paradox +/obj/item/clothing/head/helmet/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Helmet" desc = "The helm of a once powerful order. DONOR ITEM" icon_state = "templar_helm" @@ -705,7 +784,7 @@ item_state = "beret_badge" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/roswell +/obj/item/clothing/head/helmet/marine/fluff/chris1464 //CKEY=chris1464 name = "Merc Beret" desc = "Beret from a Mercenary Company. DONOR ITEM" icon_state = "cargosoft" @@ -720,7 +799,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/coleMercer +/obj/item/clothing/head/helmet/marine/fluff/whiteblood17 //CKEY=whiteblood17 name = "Black Ops Helmet" desc = "You're not authorized to look at it. DONOR ITEM" icon_state = "syndicate-helm-black" @@ -728,14 +807,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/leondark +/obj/item/clothing/head/helmet/marine/fluff/leondark //CKEY=leondark16 name = "Hunter's USCM Cap" desc = "A well-worn cap with the name 'Barrientos' written on the inside. DONOR ITEM" icon_state = "USCM_cap" item_state = "USCM_cap" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/starscream +/obj/item/clothing/head/helmet/marine/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's Helmet" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "asset_protect" @@ -743,7 +822,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/blackdragon +/obj/item/clothing/head/helmet/marine/fluff/trblackdragon //CKEY=trblackdragon name = "Spartan Helmet" desc = "SPARTANS, WHAT IS YOUR PROFESSION? DONOR ITEM" icon_state = "blackdragon_helmet_u" //UNIQUE @@ -751,7 +830,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/steelpoint +/obj/item/clothing/head/helmet/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Helmet" desc = "Helmets to the M4X!!! DONOR ITEM" icon_state = "steelpoint_helmet" @@ -759,7 +838,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/valentine +/obj/item/clothing/head/helmet/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Helmet" desc = "Shockingly good helmet. DONOR ITEM" icon_state = "syndicate-helm-black" @@ -767,14 +846,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Jdobbin49 +/obj/item/clothing/head/helmet/marine/fluff/jdobbin49 //CKEY=jdobbin49 name = "Phillip's Beret" desc = "Beret owned by Phillip Greenwall. DONOR ITEM" icon_state = "berettan" item_state = "berettan" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/nickiscool +/obj/item/clothing/head/helmet/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlord Mask" desc = "Just in case someone might recognize you... DONOR ITEM" icon_state = "star_mask" @@ -782,7 +861,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Bibblesless +/obj/item/clothing/head/helmet/marine/fluff/bibblesless name = "Yellow ERT Helmet" desc = "Standard Emergency Helmet, yellow variety.... DONOR ITEM" icon_state = "rig0-ert_engineer" @@ -790,7 +869,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/FernKiller +/obj/item/clothing/head/helmet/marine/fluff/fernkiller name = "White ERT Helmet" desc = "Standard Emergency Helmet, white variety.... DONOR ITEM" icon_state = "rig0-ert_medical" @@ -798,14 +877,14 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/Jack +/obj/item/clothing/head/helmet/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "USCM Ball Cap" desc = "USCM Cold Weather Ball Cap... DONOR ITEM" icon_state = "Adam_hat" item_state = "Adam_hat" flags_inventory = BLOCKSHARPOBJ -/obj/item/clothing/head/helmet/marine/fluff/commissar_helmet +/obj/item/clothing/head/helmet/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Helmet" desc = "Helmet worn by the Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commissar_helmet_u" @@ -813,7 +892,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/medicae_helmet +/obj/item/clothing/head/helmet/marine/fluff/medicae_helmet //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Helmet" desc = "Helmet worn by the Medical Corps of Omega Team. UNIQUE DONOR ITEM" icon_state = "medicae_helmet_u" @@ -821,14 +900,6 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/standard_helmet - name = "Omega Team Helmet" - desc = "Helmet worn by Omega Team. DONOR ITEM" //Add UNIQUE if Unique - icon_state = "standard_helmet" - item_state = "standard_helmet" - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR - /obj/item/clothing/head/helmet/marine/fluff/Sanctum_helmet name = "Sanctum Combat Helmet" desc = " The Standard Issue helmet of Sanctum Team. DONOR ITEM" //Add UNIQUE if Unique @@ -837,7 +908,7 @@ flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEMASK|HIDEEYES|HIDEALLHAIR -/obj/item/clothing/head/helmet/marine/fluff/DingleDangle +/obj/item/clothing/head/helmet/marine/fluff/dingledangle name = "Rusty's Cap" desc = "A little old and shabby. The color has slightly faded over time. DONOR ITEM" icon_state = "bluesoft" @@ -893,97 +964,89 @@ //AND THIS LINE //END UNIFORM TEMPLATE -/obj/item/clothing/under/marine/fluff/marinemedic +/obj/item/clothing/under/marine/fluff/marinemedic //UNUSED name = "Marine Medic jumpsuit" desc = "A standard quilted Colonial Marine jumpsuit. Weaved with armored plates to protect against low-caliber rounds and light impacts. Has medical markings. " icon_state = "marine_medic" worn_state = "marine_medic" -/obj/item/clothing/under/marine/fluff/marineengineer +/obj/item/clothing/under/marine/fluff/marineengineer //UNUSED name = "Marine Technician jumpsuit" desc = "A standard quilted Colonial Marine jumpsuit. Weaved with armored plates to protect against low-caliber rounds and light impacts. Has engineer markings. " icon_state = "marine_engineer" worn_state = "marine_engineer" -/obj/item/clothing/under/marine/fluff/turtleneck - name = "Black Ops Turtleneck" - desc = "A $900 black turtleneck woven from only the purest Azerbaijani cashmere wool. DONOR ITEM" - icon_state = "syndicate" - item_state = "bl_suit" - worn_state = "syndicate" - flags_jumpsuit = FALSE - -/obj/item/clothing/under/marine/fluff/tristan +/obj/item/clothing/under/marine/fluff/tristan //CKEY=tristan63 desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"." name = "captain's jumpsuit" icon_state = "camojump" worn_state = "camojump" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/SAS +/obj/item/clothing/under/marine/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Suit" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." icon_state = "ncr_uni" worn_state = "ncr_uni" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/mycroft +/obj/item/clothing/under/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Uniform" desc = "A uniform, of a famous Earth warrior... Donor Item" icon_state = "doom_suit" worn_state = "doom_suit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/LEO +/obj/item/clothing/under/marine/fluff/totalanarchy //CKEY=totalanarchy name = "Mercenary Jumpsuit Suit" desc = "A uniform from a band of mercenaries... DONOR ITEM." icon_state = "merc_jumpsuit" worn_state = "merc_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/john56 +/obj/item/clothing/under/marine/fluff/john56 //CKEY=johnkilla56 name = "Pink Pride Jumpsuit" desc = "A jumpsuit for showing your pride in pink... Donor Item" icon_state = "pink" worn_state = "pink" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/sas3 //UNIQUE +/obj/item/clothing/under/marine/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Black Fatigues" desc = "Black camo Fatigues usually used on Night Operations. UNIQUE DONOR ITEM." icon_state = "hecu_u" worn_state = "hecu_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/leeeverett +/obj/item/clothing/under/marine/fluff/leeeverett //CKEY=theflagbearer (UNIQUE) name = "Rugged Outfit" desc = "It's covered in blood and smells terrible. Who died in this?" icon_state = "rugged" worn_state = "rugged" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Vintage +/obj/item/clothing/under/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Pink Jumpsuit" desc = "A jumpsuit that was either once red, or once white and washed with a load of colors... Donor Item" icon_state = "pink" worn_state = "pink" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/wooki +/obj/item/clothing/under/marine/fluff/wooki //CKEY=tophatpenguin (UNIQUE) name = "Fancy Uniform" desc = "Wooki's fancy blue suit. UNIQUE DONOR ITEM" icon_state = "wooki_u" worn_state = "wooki_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Zynax +/obj/item/clothing/under/marine/fluff/Zynax //CKEY=zynax name = "Gorka Suit" desc = "Russian Gamo. DONOR ITEM" icon_state = "gorkasuit" worn_state = "gorkasuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/BWO +/obj/item/clothing/under/marine/fluff/bwoincognito //CKEY=bwoincognito name = "Fallout Suit" desc = "A suit from an ancient group of wastelanders... UNIQUE DONOR ITEM" icon_state = "riot_u" @@ -997,7 +1060,7 @@ worn_state = "hos_corporate" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/fick +/obj/item/clothing/under/marine/fluff/fickmacher //CKEY=fickmacher (UNIQUE) name = "Selena's Tactical Suit" desc = "A strange looking black jumpsuit. DONOR ITEM" icon_state = "robotics" @@ -1010,35 +1073,35 @@ worn_state = "hawkeye_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/pink +/obj/item/clothing/under/marine/fluff/feweh //CKEY=feweh name = "Pink Fatigues" desc = "For fighting breast cancer. With bullets. Donor Item" icon_state = "pink2" worn_state = "pink2" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/oneonethreeeight +/obj/item/clothing/under/marine/fluff/oneonethreeeight //CKEY=oneonethreeeight name = "Camouflage Jumpsuit" desc = "Woodland Camouflage Jumpsuit. DONOR ITEM" icon_state = "camo_jumpsuit" worn_state = "camo_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/fick2 +/obj/item/clothing/under/marine/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Hart's Suit" desc = "It looks like the Right Arm is robotic. DONOR ITEM" icon_state = "hart_jumpsuit" worn_state = "hart_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/paradox +/obj/item/clothing/under/marine/fluff/paradox //CKEY=paradox1i7 name = "Templar Jumpsuit" desc = "The interface components, for Templar Armor. DONOR ITEM" icon_state = "templar_jumpsuit" worn_state = "templar_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/roswell +/obj/item/clothing/under/marine/fluff/chris1464 //CKEY=chris1464 name = "Merc Jumpsuit" desc = "Jumpsuit from a super shady mercenary company. DONOR ITEM" icon_state = "merc_jumpsuit" @@ -1052,35 +1115,35 @@ worn_state = "boba_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/jackmcintyre +/obj/item/clothing/under/marine/fluff/jackmcintyre_alt //CKEY=jackmcintyre name = "Dress Uniform" desc = "A Dress uniform, worn by standard marines. DONOR ITEM" icon_state = "BO_jumpsuit" worn_state = "BO_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/starscream +/obj/item/clothing/under/marine/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's Jumpsuit" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_jumpsuit2" worn_state = "merc_jumpsuit2" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/allan +/obj/item/clothing/under/marine/fluff/allan1234 name = "Commander Jumpsuit" desc = "Jumpsuit worn by a space commander... DONOR ITEM" icon_state = "henrick_jumpsuit" worn_state = "henrick_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/steelpoint +/obj/item/clothing/under/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Jumpsuit" desc = "Jumpsuit to the M4X!!! DONOR ITEM" icon_state = "steelpoint_jumpsuit" worn_state = "steelpoint_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/valentine +/obj/item/clothing/under/marine/fluff/valentine //CKEY=markvalentine name = "Shocky's Jumpsuit" desc = "Shockingly good Jumpsuit. DONOR ITEM" icon_state = "jensen" @@ -1094,70 +1157,63 @@ worn_state = "samus_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/nickiscool +/obj/item/clothing/under/marine/fluff/nickiskool //CKEY=nickiskool name = "Starlords Jumpsuit" desc = "Designed to show off your manly muscles for all the ladies. DONOR ITEM" icon_state = "star_jumpsuit" worn_state = "star_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Jack +/obj/item/clothing/under/marine/fluff/jackmcintyre //CKEY=jackmcintyre (UNIQUE) name = "White shirt and black Pants" desc = "Perfect for formal dress, or going to a combat zone in Style. UNIQUE DONOR ITEM" icon_state = "Adam_jumpsuit_u" worn_state = "Adam_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/Fairedan +/obj/item/clothing/under/marine/fluff/fairedan //CKEY=fairedan (UNIQUE) name = "Starfreighter Jumpsuit" desc = "Standard Issue Jumpsuit for crew that serve on Lockmart CM-88B Bison starfreighters. It has the number 1809246 on the inside tag.... DONOR ITEM" icon_state = "Fairedan_jumpsuit" worn_state = "Fairedan_jumpsuit" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/commisar_jumpsuit +/obj/item/clothing/under/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Commissar Uniform" desc = "Uniform worn by the Comissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "commisar_jumpsuit_u" worn_state = "commisar_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/medicae_jumpsuit +/obj/item/clothing/under/marine/fluff/medicae_jumpsuit //CKEY=graciegrace0 (UNIQUE) name = "Omega Medicae Uniform" desc = "Uniform work by the Medical Corps of Omega Team. UNIQUE DONOR ITEM" icon_state = "medicae_jumpsuit_u" worn_state = "medicae_jumpsuit_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/standard_jumpsuit - name = "Omega Team Uniform" - desc = "Uniform worn by Omega Team. DONOR ITEM" - icon_state = "standard_jumpsuit" - worn_state = "standard_jumpsuit" - flags_jumpsuit = FALSE - -/obj/item/clothing/under/marine/fluff/Sanctum_uniform +/obj/item/clothing/under/marine/fluff/sanctum_uniform //NO USER name = "Sanctum Fatigues" desc = "Fatigues with Kevlar fibers for a bit more protection than most clothing. UNIQUE DONOR ITEM" icon_state = "Sanctum_u" worn_state = "Sanctum_u" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/sailorDave +/obj/item/clothing/under/marine/fluff/sailordave //CKEY=sailordave name = "Eden USCM uniform" desc = "An older model USCM uniform. UNIQUE DONOR ITEM" icon_state = "syndicate" worn_state = "syndicate" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/coleMercer +/obj/item/clothing/under/marine/fluff/whiteblood17 //CKEY=whiteblood17 name = "Black Ops uniform" desc = "Way above your pay grade... DONOR ITEM" icon_state = "jensen" worn_state = "jensen" flags_jumpsuit = FALSE -/obj/item/clothing/under/marine/fluff/mileswolfe +/obj/item/clothing/under/marine/fluff/mileswolfe //CKEY=mileswolfe name = "tiger striped combat fatigues" desc = "Combat Fatigues that appear to have tiger stripes on them. UNIQUE DONOR ITEM" icon_state = "mileswolfe_u" @@ -1167,35 +1223,14 @@ // MASK COSMETICS //////////////////////////////////////////////// -//MASK TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/mask/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - //DON'T GRAB STUFF BETWEEN THIS LINE - flags_inventory = ALLOWREBREATH - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE - //AND THIS LINE - -//END MASK TEMPLATE - - -/obj/item/clothing/mask/fluff/john56 +/obj/item/clothing/mask/fluff/john56 //CKEY=johnkilla56 name = "Revan Mask" desc = "A mask from a famous sith... Wait what? DONOR ITEM." item_state = "revanmask" icon_state = "revanmask" -/obj/item/clothing/mask/fluff/balaclava - name = "Balaclava" - desc = "A black Balaclava used for hiding your face. DISCLAIMER: May not actually hide your face... DONOR ITEM" - item_state = "balaclava" - icon_state = "balaclava" - flags_inventory = COVERMOUTH|ALLOWREBREATH - flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/SAS +/obj/item/clothing/mask/fluff/sas_legion //CKEY=sasoperative (UNIQUE) name = "Legion Mask" desc = "This armor was custom-made to resemble the small growing Legion within the galaxy started by one man slowly making its way to becoming a larger Corporation. DONOR ITEM." icon_override = 'icons/mob/humans/onmob/mask.dmi' @@ -1204,7 +1239,7 @@ flags_inventory = COVERMOUTH|ALLOWREBREATH flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/LEO +/obj/item/clothing/mask/fluff/totalanarchy //CKEY=totalanarchy name = "PMC Mask" desc = "A white colored PMC Mask. DONOR ITEM." icon_override = 'icons/mob/humans/onmob/mask.dmi' @@ -1213,13 +1248,13 @@ flags_inventory = COVERMOUTH|ALLOWREBREATH flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR -/obj/item/clothing/mask/fluff/sas3 //UNIQUE +/obj/item/clothing/mask/fluff/sas_elite //CKEY=sasoperative (UNIQUE) name = "Compact Gas Mask" desc = "A compact Gas Mask with a pure red tint to it. UNIQUE DONOR ITEM." item_state = "hecumask_u" icon_state = "hecumask_u" -/obj/item/clothing/mask/fluff/limo +/obj/item/clothing/mask/fluff/limo //CKEY=limodish name = "Swat Mask" desc = "Swat Gas Mask. DONOR ITEM" icon_state = "swat" @@ -1227,7 +1262,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEEYES|HIDEFACE -/obj/item/clothing/mask/fluff/pink +/obj/item/clothing/mask/fluff/feweh //CKEY=feweh name = "Pink's Gas Mask" desc = "A standard issue gas mask. DONOR ITEM" icon_state = "swat" @@ -1235,7 +1270,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEEYES|HIDEFACE -/obj/item/clothing/mask/fluff/fick2 +/obj/item/clothing/mask/fluff/fickmacher2 //CKEY=fickmacher (UNIQUE) name = "Corporal Hart's Mask" desc = "A robotic looking Armored mask. DONOR ITEM" icon_state = "hartmask" @@ -1243,7 +1278,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEFACE -/obj/item/clothing/mask/fluff/starscream +/obj/item/clothing/mask/fluff/starscream //CKEY=starscream123 (UNIQUE) name = "Kardar Hussein's mask" desc = "Slightly worn and torn. DONOR ITEM" icon_state = "merc_mask" @@ -1251,7 +1286,7 @@ flags_inventory = ALLOWREBREATH flags_inv_hide = HIDEFACE -/obj/item/clothing/mask/fluff/lostmix +/obj/item/clothing/mask/fluff/lostmixup name = "Phantom Cigar" desc = "It's a g-g-g-g-g-ghost cigar. DONOR ITEM" //Add UNIQUE if Unique icon_state = "cigar_on" @@ -1260,28 +1295,19 @@ flags_inv_hide = HIDEFACE // BOOTS/SHOES COSMETICS //////////////////////////////////////////////// - -//FEET TEMPLATE (for masks) ONLY TAKE NAME, DESC, ICON_STATE, ITEM_STATE, AND ITEM_COLOR. Make a copy of those, and put the ckey of the person at the end after fluff -/obj/item/clothing/shoes/marine/fluff - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null -//END FEET TEMPLATE - -/obj/item/clothing/shoes/marine/fluff/Vintage +/obj/item/clothing/shoes/marine/fluff/vintage //CKEY=vintagepalmer name = "Vintage Sandals" desc = "Vintage Sandals, suitable for only the highest class of hipster. DONOR ITEM" icon_state = "wizard" item_state = "wizard" -/obj/item/clothing/shoes/marine/fluff/mycroft +/obj/item/clothing/shoes/marine/fluff/feodrich //CKEY=feodrich (UNIQUE) name = "Doom Shoes" desc = "A uniform, of a famous Earth warrior... Donor Item" icon_state = "doom_boots" item_state = "doom_boots" -/obj/item/clothing/shoes/marine/fluff/steelpoint +/obj/item/clothing/shoes/marine/fluff/steelpoint //CKEY=steelpoint (UNIQUE) name = "M4X Boot" desc = "Boots to the M4X. DONOR ITEM" icon_state = "jackboots" @@ -1289,47 +1315,31 @@ //GENERIC GLASSES, GLOVES, AND MISC //////////////////// -/obj/item/clothing/gloves/marine/fluff //MARINE GLOVES TEMPLATE - name = "ITEM NAME" - desc = "ITEM DESCRIPTION. DONOR ITEM" //Add UNIQUE if Unique - icon_state = null - item_state = null - -/obj/item/clothing/glasses/fluff - flags_inventory = COVEREYES - -/obj/item/clothing/glasses/fluff/eyepatch - name = "An Eyepatch" - desc = "Badass +10. Donor Item" - icon_state = "eyepatch" - item_state = "eyepatch" - -/obj/item/clothing/glasses/fluff/wright +/obj/item/clothing/glasses/fluff/wright //CKEY=wrightthewrong name = "eyepatch" desc = "Yarr, this be a Donor Item, YARR!" icon_state = "eyepatch" item_state = "eyepatch" -/obj/item/clothing/glasses/fluff/sado +/obj/item/clothing/glasses/fluff/sadokist //CKEY=sadokist name = "Tanya's Optics" desc = "Custom Optics, owned by Tanya Edenia" icon_state = "thermal" item_state = "glasses" -/obj/item/clothing/glasses/fluff/haveatya +/obj/item/clothing/glasses/fluff/haveatya //CKEY=haveatya name = "Special Nightvision Goggles" desc = "Disclaimer: May not provide Night Vision. DONOR ITEM" icon_state = "night" item_state = "glasses" -/obj/item/clothing/gloves/black/obey +/obj/item/clothing/gloves/black/obey //CKEY=obeystylez (UNIQUE) desc = "Black gloves, favored by Special Operations teams. DONOR ITEM" name = "Black Ops Black Gloves" -/obj/item/storage/backpack/marine/fluff - xeno_types = null +//BACKPACKS -/obj/item/storage/backpack/marine/fluff/Sado +/obj/item/storage/backpack/marine/fluff/sadokist //CKEY=sadokist name = "Tanya's Backpack" desc = "A large backpack, used by Tanya Edenia. DONOR ITEM" icon_state = "securitypack" @@ -1341,32 +1351,32 @@ icon_state = "securitypack" item_state = "securitypack" -/obj/item/clothing/glasses/fluff/alexwar +/obj/item/clothing/glasses/fluff/alexwarhammer name = "Black Jack's Dank Shades" desc = "+20 Badass points. Donor item" icon_state = "sun" item_state = "sun" -/obj/item/clothing/gloves/marine/fluff/jedijas +/obj/item/clothing/gloves/marine/fluff/jedijas //CKEY=jedijasun (UNIQUE) name = "Fists of Mandalore" desc = "If Mandalore was a person, these would be it's fists... DONOR ITEM" icon_state = "marine_white" item_state = "marine_wgloves" -/obj/item/storage/belt/marine/fluff/swordbelt +/obj/item/storage/belt/marine/fluff/commissar //used by both ckeys 'hycinth' and 'technokat' (UNIQUE) name = "Omega Sword Belt" desc = "Belt worn by the dreaded Commissars of Omega Team. UNIQUE DONOR ITEM" icon_state = "swordbelt_u" item_state = "swordbelt_u" //CUSTOM ITEMS - NO TEMPLATES - ALL UNIQUE //////////////////////// -/obj/item/tool/lighter/zippo/fluff/ghost - name = "Gold zippo lighter" - desc = "A Golden Zippo lighter, engraved with the name John Donable... UNIQUE DONOR ITEM." +/obj/item/tool/lighter/zippo/fluff/ghostdex //CKEY=ghostdex + name = "purple zippo lighter" + desc = "A Purple Zippo lighter, engraved with the name John Donable... UNIQUE DONOR ITEM." icon = 'icons/obj/items/items.dmi' icon_state = "bluezippo" -/obj/item/clothing/mask/cigarette/fluff/ghost +/obj/item/clothing/mask/cigarette/fluff/ghostdex //CKEY=ghostdex name = "XXX's custom Cigar" desc = "A custom rolled giant, made specifically for John Donable in the best, hottest, and most abusive of Cuban sweat shops. UNIQUE DONOR ITEM." icon_state = "cigar2_off" @@ -1378,8 +1388,8 @@ //GHOST CIGAR CODE -/obj/item/clothing/mask/cigarette/cigar/fluff/ghost/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/tool/lighter/zippo/fluff/ghost)) +/obj/item/clothing/mask/cigarette/cigar/fluff/ghostdex/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/tool/lighter/zippo/fluff/ghostdex)) ..() else to_chat(user, SPAN_NOTICE("\The [src] straight out REFUSES to be lit by anything other than a purple zippo.")) diff --git a/code/modules/cm_marines/Donator_Kits.dm b/code/modules/cm_marines/Donator_Kits.dm new file mode 100644 index 000000000000..2576732736aa --- /dev/null +++ b/code/modules/cm_marines/Donator_Kits.dm @@ -0,0 +1,588 @@ +/obj/item/storage/box/donator_kit + name = "donated box" + desc = "A cardboard box stamped with a dollar sign and filled with trinkets. Appears to have been donated by a wealthy sponsor." + icon_state = "donator_kit" + item_state = "giftbag" + var/list/donor_gear = list() + var/donor_key = "GENERIC" //Key the kit is assigned to. If GENERIC, not tied to particular donor. + var/kit_variant + max_w_class = SIZE_TINY + +/obj/item/storage/box/donator_kit/New() + if(kit_variant) + name = "[name] ([kit_variant])" + ..() + +/obj/item/storage/box/donator_kit/fill_preset_inventory() + for(var/donor_item in donor_gear) + new donor_item(src) + +/obj/item/storage/box/donator_kit/open(mob/user) + if((donor_key != "GENERIC") && (donor_key != user.ckey)) + to_chat(user, SPAN_BOLDWARNING("You cannot open a donator kit you do not own!")) + return FALSE + ..() + +/obj/item/storage/box/donator_kit/verb/destroy_kit() + set name = "Destroy Kit" + set category = "Object" + set src in oview(1) + + var/mob/user = usr + + if((donor_key != "GENERIC") && (donor_key != user.ckey)) + to_chat(user, SPAN_BOLDWARNING("You cannot destroy a donator kit you do not own!")) + return FALSE + + log_admin("[key_name(user)] deleted a donator kit.") + qdel(src) + +/obj/item/storage/box/donator_kit/generic_omega //Generic set given to various donors + kit_variant = "Team Omega (G)" + donor_gear = list( + /obj/item/clothing/under/marine/fluff/standard_jumpsuit, + /obj/item/clothing/suit/storage/marine/fluff/standard_armor, + /obj/item/clothing/head/helmet/marine/fluff/standard_helmet, + ) + +//Unless specified in comments as otherwise, subtype of box/donator_kit/ is CKEY of the donator (example: /obj/item/storage/box/donator_kit/sasoperative) +/obj/item/storage/box/donator_kit/adjective + donor_key = "adjective" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/adjective) + +/obj/item/storage/box/donator_kit/alexwarhammer + donor_key = "alexwarhammer" + donor_gear = list(/obj/item/clothing/glasses/fluff/alexwarhammer) + +/obj/item/storage/box/donator_kit/allan1234 + donor_key = "allan1234" + donor_gear = list(/obj/item/clothing/under/marine/fluff/allan1234) + +/obj/item/storage/box/donator_kit/arachnidnexus + donor_key = "arachnidnexus" + donor_gear = list(/obj/item/clothing/under/marine/fluff/arach) + +/obj/item/storage/box/donator_kit/bibblesless + donor_key = "bibblesless" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/bibblesless) + +/obj/item/storage/box/donator_kit/biolock + donor_key = "biolock" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/biolock, + /obj/item/clothing/suit/storage/marine/fluff/biolock, + ) + +/obj/item/storage/box/donator_kit/bunny232 + donor_key = "bunny232" + donor_gear = list(/obj/item/clothing/glasses/fluff/eyepatch) + +/obj/item/storage/box/donator_kit/bwoincognito + donor_key = "bwoincognito" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/bwoincognito, + /obj/item/clothing/suit/storage/marine/fluff/bwoincognito, + /obj/item/clothing/under/marine/fluff/bwoincognito, + ) + +/obj/item/storage/box/donator_kit/chris1464 + donor_key = "chris1464" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/chris1464, + /obj/item/clothing/suit/storage/marine/fluff/chris1464, + /obj/item/clothing/under/marine/fluff/chris1464, + ) + +/obj/item/storage/box/donator_kit/commandercookies + donor_key = "commandercookies" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/commandercookies, + /obj/item/clothing/suit/storage/marine/fluff/commandercookies, + ) + +/obj/item/storage/box/donator_kit/commissar //used by both ckeys 'hycinth' and 'technokat' + donor_key = "hycinth" + kit_variant = "Commissar" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/commissar, + /obj/item/clothing/suit/storage/marine/fluff/commissar, + /obj/item/clothing/under/marine/fluff/commissar, + /obj/item/storage/belt/marine/fluff/commissar, + ) + +/obj/item/storage/box/donator_kit/commissar/technokat + donor_key = "technokat" + +/obj/item/storage/box/donator_kit/crazyh206 + donor_key = "crazyh206" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/crazyh206) + +/obj/item/storage/box/donator_kit/devilzhand + donor_key = "devilzhand" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/devilzhand, + /obj/item/clothing/suit/storage/marine/fluff/devilzhand, + ) + +/obj/item/storage/box/donator_kit/dingledangle + donor_key = "dingledangle" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/dingledangle) + +/obj/item/storage/box/donator_kit/dinobubba7 + donor_key = "dinobubba7" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/dino, + /obj/item/clothing/suit/storage/marine/fluff/dino, + ) + +/obj/item/storage/box/donator_kit/docdemo + donor_key = "docdemo" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/goldtrimberet) + +/obj/item/storage/box/donator_kit/dudewithatude + donor_key = "dudewithatude" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/dudewithatude) + +/obj/item/storage/box/donator_kit/eastgermanstasi + donor_key = "eastgermanstasi" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/eastgerman) + +/obj/item/storage/box/donator_kit/edgelord + donor_key = "edgelord" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/edgelord) + +/obj/item/storage/box/donator_kit/eonoc + donor_key = "eonoc" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/eonoc) + +/obj/item/storage/box/donator_kit/fairedan + donor_key = "fairedan" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/fairedan, + /obj/item/clothing/under/marine/fluff/fairedan, + ) + +/obj/item/storage/box/donator_kit/feodrich + donor_key = "feodrich" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/feodrich, + /obj/item/clothing/shoes/marine/fluff/feodrich, + /obj/item/clothing/suit/storage/marine/fluff/feodrich, + /obj/item/clothing/under/marine/fluff/feodrich, + ) + +/obj/item/storage/box/donator_kit/fernkiller + donor_key = "fernkiller" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/fernkiller) + +/obj/item/storage/box/donator_kit/feweh + donor_key = "feweh" + donor_gear = list( + /obj/item/clothing/mask/fluff/feweh, + /obj/item/clothing/suit/storage/marine/fluff/feweh, + /obj/item/clothing/under/marine/fluff/feweh, + ) + +/obj/item/storage/box/donator_kit/fickmacher_selena //ckey fickmacher has two sets + donor_key = "fickmacher" + kit_variant = "Selena" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/fickmacher, + /obj/item/clothing/suit/storage/marine/fluff/fickmacher, + /obj/item/clothing/under/marine/fluff/fickmacher, + ) + +/obj/item/storage/box/donator_kit/fickmacher_hart + donor_key = "fickmacher" + kit_variant = "Hart" + donor_gear = list( + /obj/item/clothing/mask/fluff/fickmacher2, + /obj/item/clothing/suit/storage/marine/fluff/fickmacher2, + /obj/item/clothing/under/marine/fluff/fickmacher2, + ) + +/obj/item/storage/box/donator_kit/fridrich + donor_key = "fridrich" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/fridrich) + +/obj/item/storage/box/donator_kit/ghostdex + donor_key = "ghostdex" + donor_gear = list( + /obj/item/clothing/mask/cigarette/fluff/ghostdex, + /obj/item/tool/lighter/zippo/fluff/ghostdex, + ) + +/obj/item/storage/box/donator_kit/graciegrace0 + donor_key = "graciegrace0" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/medicae_helmet, + /obj/item/clothing/suit/storage/marine/fluff/medicae_armor, + /obj/item/clothing/under/marine/fluff/medicae_jumpsuit, + ) + +/obj/item/storage/box/donator_kit/gromoi + donor_key = "gromoi" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/gromi, + /obj/item/clothing/under/marine/fluff/gromi, + ) + +/obj/item/storage/box/donator_kit/haveatya + donor_key = "haveatya" + donor_gear = list( + /obj/item/clothing/glasses/fluff/haveatya, + /obj/item/clothing/head/helmet/marine/fluff/haveatya, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/jackmcintyre + donor_key = "jackmcintyre" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/jackmcintyre, + /obj/item/clothing/suit/storage/marine/fluff/jackmcintyre, + /obj/item/clothing/under/marine/fluff/jackmcintyre, + /obj/item/clothing/under/marine/fluff/jackmcintyre_alt, + ) + +/obj/item/storage/box/donator_kit/jdobbin49 + donor_key = "jdobbin49" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/jdobbin49) + +/obj/item/storage/box/donator_kit/jedijasun + donor_key = "jedijasun" + donor_gear = list(/obj/item/clothing/gloves/marine/fluff/jedijas) + +/obj/item/storage/box/donator_kit/johnkilla56 + donor_key = "johnkilla56" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/john56, + /obj/item/clothing/mask/fluff/john56, + /obj/item/clothing/suit/storage/marine/fluff/john56, + /obj/item/clothing/under/marine/fluff/john56, + ) + +/obj/item/storage/box/donator_kit/juninho77 + donor_key = "juninho77" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/juniho, + /obj/item/clothing/suit/storage/marine/fluff/juninho, + /obj/item/clothing/under/marine/fluff/juninho, + ) + +/obj/item/storage/box/donator_kit/kilinger + donor_key = "kilinger" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/goldshieldberet) + +/obj/item/storage/box/donator_kit/kyrac + donor_key = "kyrac" + donor_gear = list( + /obj/item/clothing/under/marine/fluff/turtleneck, + /obj/item/clothing/glasses/fluff/eyepatch, + ) + +/obj/item/storage/box/donator_kit/laser243 + donor_key = "laser243" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/laser243, + /obj/item/clothing/suit/storage/marine/fluff/laser243, + ) + +/obj/item/storage/box/donator_kit/leondark16 + donor_key = "leondark16" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/leondark) + +/obj/item/storage/box/donator_kit/lestatanderson + donor_key = "lestatanderson" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/cia) + +/obj/item/storage/box/donator_kit/limodish + donor_key = "limodish" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/limo, + /obj/item/clothing/mask/fluff/limo, + /obj/item/clothing/suit/storage/marine/fluff/limo, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/lostmixup + donor_key = "lostmixup" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/lostmixup, + /obj/item/clothing/mask/fluff/lostmixup, + /obj/item/clothing/suit/storage/marine/fluff/lostmixup, + ) + +/obj/item/storage/box/donator_kit/markvalentine + donor_key = "markvalentine" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/valentine, + /obj/item/clothing/suit/storage/marine/fluff/valentine, + /obj/item/clothing/under/marine/fluff/valentine, + ) + +/obj/item/storage/box/donator_kit/mitii + donor_key = "mitii" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/mitii, + /obj/item/clothing/suit/storage/marine/fluff/mitii, + /obj/item/storage/backpack/marine/fluff/mitii, + ) + +/obj/item/storage/box/donator_kit/mrbark45 + donor_key = "mrbark45" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/bark) + +/obj/item/storage/box/donator_kit/nickiskool + donor_key = "nickiskool" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/nickiskool, + /obj/item/clothing/suit/storage/marine/fluff/nickiskool, + /obj/item/clothing/under/marine/fluff/nickiskool, + ) + +/obj/item/storage/box/donator_kit/ningajai + donor_key = "ningajai" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/ningajai) + +/obj/item/storage/box/donator_kit/obeystylez + donor_key = "obeystylez" + donor_gear = list( + /obj/item/clothing/gloves/black/obey, + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/obey, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/officialjake + donor_key = "officialjake" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/officialjake) + +/obj/item/storage/box/donator_kit/oneonethreeeight + donor_key = "oneonethreeeight" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/oneonethreeeight, + /obj/item/clothing/suit/storage/marine/fluff/oneonethreeeight, + /obj/item/clothing/under/marine/fluff/oneonethreeeight, + ) + +/obj/item/storage/box/donator_kit/paradox1i7 + donor_key = "paradox1i7" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/paradox, + /obj/item/clothing/suit/storage/marine/fluff/paradox, + /obj/item/clothing/under/marine/fluff/paradox, + ) + +/obj/item/storage/box/donator_kit/poops_buttly + donor_key = "poops_buttly" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/kaila, + /obj/item/clothing/suit/storage/marine/fluff/kaila, + ) + +/obj/item/storage/box/donator_kit/radicalscorpion + donor_key = "radicalscorpion" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/radical, + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/radical, + /obj/item/clothing/under/marine/fluff/radical, + ) + +/obj/item/storage/box/donator_kit/robin63 + donor_key = "robin63" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/robin) + +/obj/item/storage/box/donator_kit/rogue1131 + donor_key = "rogue1131" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/titus, + /obj/item/clothing/suit/storage/marine/fluff/titus, + ) + +/obj/item/storage/box/donator_kit/sadokist + donor_key = "sadokist" + donor_gear = list( + /obj/item/clothing/glasses/fluff/sadokist, + /obj/item/clothing/head/helmet/marine/fluff/sadokist, + /obj/item/clothing/suit/storage/marine/fluff/sadokist, + /obj/item/storage/backpack/marine/fluff/sadokist, + ) + +/obj/item/storage/box/donator_kit/sailordave + donor_key = "sailordave" + donor_gear = list(/obj/item/clothing/under/marine/fluff/sailordave) + +/obj/item/storage/box/donator_kit/sasoperative_elite //sasoperative has several sets + donor_key = "sasoperative" + kit_variant = "Elite" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/sas_elite, + /obj/item/clothing/mask/fluff/sas_elite, + /obj/item/clothing/suit/storage/marine/fluff/sas_elite, + /obj/item/clothing/under/marine/fluff/sas_elite, + ) + +/obj/item/storage/box/donator_kit/sasoperative_juggernaut + donor_key = "sasoperative" + kit_variant = "Juggernaut" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut_alt, + /obj/item/clothing/head/helmet/marine/fluff/sas_juggernaut, + /obj/item/clothing/suit/storage/marine/fluff/sas_juggernaut, + ) + +/obj/item/storage/box/donator_kit/sasoperative_legion + donor_key = "sasoperative" + kit_variant = "Legion" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/sas_legion, + /obj/item/clothing/under/marine/fluff/sas_legion, + /obj/item/clothing/mask/fluff/sas_legion, + ) + +/obj/item/storage/box/donator_kit/seloc_aferah + donor_key = "seloc_aferah" + donor_gear = list(/obj/item/clothing/head/helmet/marine/fluff/deejay) + +/obj/item/storage/box/donator_kit/starscream123 + donor_key = "starscream123" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/starscream, + /obj/item/clothing/mask/fluff/starscream, + /obj/item/clothing/suit/storage/marine/fluff/starscream, + /obj/item/clothing/under/marine/fluff/starscream, + ) + +/obj/item/storage/box/donator_kit/steelpoint + donor_key = "steelpoint" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/steelpoint, + /obj/item/clothing/shoes/marine/fluff/steelpoint, + /obj/item/clothing/suit/storage/marine/fluff/steelpoint, + /obj/item/clothing/under/marine/fluff/steelpoint, + ) + +/obj/item/storage/box/donator_kit/stobarico + donor_key = "stobarico" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/stobarico) + +/obj/item/storage/box/donator_kit/theflagbearer + donor_key = "theflagbearer" + donor_gear = list(/obj/item/clothing/under/marine/fluff/leeeverett) + +/obj/item/storage/box/donator_kit/theultimatechimera + donor_key = "theultimatechimera" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/chimera, + /obj/item/clothing/suit/storage/marine/fluff/chimera, + ) + +/obj/item/storage/box/donator_kit/tophatpenguin_wooki //ckey tophatpenguin has two sets + donor_key = "tophatpenguin" + kit_variant = "Wooki" + donor_gear = list( + /obj/item/clothing/suit/storage/marine/fluff/penguin, + /obj/item/clothing/under/marine/fluff/wooki, + /obj/item/clothing/head/helmet/marine/fluff/penguin, + ) + +/obj/item/storage/box/donator_kit/tophatpenguin_santa + donor_key = "tophatpenguin" + kit_variant = "Santa" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/santahat, + /obj/item/clothing/suit/storage/marine/fluff/santa, + ) + +/obj/item/storage/box/donator_kit/totalanarchy + donor_key = "totalanarchy" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/totalanarchy, + /obj/item/clothing/mask/fluff/totalanarchy, + /obj/item/clothing/suit/storage/marine/fluff/totalanarchy, + /obj/item/clothing/under/marine/fluff/totalanarchy, + ) + +/obj/item/storage/box/donator_kit/tranquill + donor_key = "tranquill" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/tranquill) + +/obj/item/storage/box/donator_kit/trblackdragon + donor_key = "trblackdragon" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/trblackdragon, + /obj/item/clothing/suit/storage/marine/fluff/trblackdragon, + ) + +/obj/item/storage/box/donator_kit/tristan63 + donor_key = "tristan63" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/tristan, + /obj/item/clothing/suit/storage/marine/fluff/tristan, + /obj/item/clothing/under/marine/fluff/tristan, + ) + +/obj/item/storage/box/donator_kit/tyran68 + donor_key = "tyran68" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/tyran) + +/obj/item/storage/box/donator_kit/shotgunbill + donor_key = "shotgunbill" + donor_gear = list(/obj/item/clothing/head/collectable/petehat) + +/obj/item/storage/box/donator_kit/vintagepalmer + donor_key = "vintagepalmer" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/vintage, + /obj/item/clothing/shoes/marine/fluff/vintage, + /obj/item/clothing/suit/storage/marine/fluff/vintage, + /obj/item/clothing/under/marine/fluff/vintage, + ) + +/obj/item/storage/box/donator_kit/whiteblood17 + donor_key = "whiteblood17" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/whiteblood17, + /obj/item/clothing/under/marine/fluff/whiteblood17, + ) + +/obj/item/storage/box/donator_kit/wrightthewrong + donor_key = "wrightthewrong" + donor_gear = list( + /obj/item/clothing/glasses/fluff/wright, + /obj/item/clothing/suit/storage/marine/fluff/wright, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + ) + +/obj/item/storage/box/donator_kit/zegara + donor_key = "zegara" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/zegara) + +/obj/item/storage/box/donator_kit/zynax + donor_key = "zynax" + donor_gear = list( + /obj/item/clothing/mask/fluff/balaclava, //generic item + /obj/item/clothing/suit/storage/marine/fluff/Zynax, + /obj/item/clothing/under/marine/fluff/turtleneck, //generic item + /obj/item/clothing/under/marine/fluff/Zynax, + ) + +/obj/item/storage/box/donator_kit/mileswolfe + donor_key = "mileswolfe" + donor_gear = list(/obj/item/clothing/under/marine/fluff/mileswolfe) + +/obj/item/storage/box/donator_kit/killaninja12 + donor_key = "killaninja12" + donor_gear = list( + /obj/item/clothing/head/helmet/marine/fluff/killaninja12, + /obj/item/clothing/suit/storage/marine/fluff/killaninja12, + ) + +/obj/item/storage/box/donator_kit/noize + donor_key = "noize" + donor_gear = list(/obj/item/clothing/suit/storage/marine/fluff/forwardslashn) + +/obj/item/storage/box/donator_kit/deanthelis + donor_key = "deanthelis" + donor_gear = list(/obj/item/clothing/head/beret/marine/techofficer) diff --git a/code/modules/customitems/item_spawning.dm b/code/modules/customitems/item_spawning.dm index 3bf8e5e71f33..b2d6b34f51c9 100644 --- a/code/modules/customitems/item_spawning.dm +++ b/code/modules/customitems/item_spawning.dm @@ -13,45 +13,22 @@ GLOBAL_LIST_FILE_LOAD(custom_items, "config/custom_items.txt") for(var/i = 1 to Entry.len) Entry[i] = trim(Entry[i]) - if(Entry.len < 3) + if(Entry.len < 2) continue; - if(Entry[1] == M.ckey && Entry[2] == M.real_name) - var/list/Paths = splittext(Entry[3], ",") + if(Entry[1] == M.ckey) + var/list/Paths = splittext(Entry[2], ",") for(var/P in Paths) - var/ok = 0 // 1 if the item was placed successfully + var/ok = FALSE // TRUE if the item was placed successfully P = trim(P) var/path = text2path(P) if(!path) continue var/obj/item/Item = new path() - if(istype(Item,/obj/item/card/id)) - var/obj/item/card/id/I = Item - for(var/obj/item/card/id/C in M) - //default settings - I.name = "[M.real_name]'s ID Card ([M.job])" - I.registered_name = M.real_name - I.registered_ref = WEAKREF(M) - I.registered_gid = M.gid - I.access = C.access - I.assignment = C.assignment - I.blood_type = C.blood_type - //replace old ID - qdel(C) - ok = M.equip_if_possible(I, WEAR_ID, 0) //if 1, last argument deletes on fail + for(var/obj/item/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. + if (S.handle_item_insertion(Item, TRUE)) + ok = TRUE break - else if(istype(Item,/obj/item/storage/belt)) - var/obj/item/storage/belt/I = Item - if(istype(M.belt,/obj/item/storage/belt)) - qdel(M.belt) - M.belt=null - ok = M.equip_if_possible(I, WEAR_WAIST, 0) - break - else - for(var/obj/item/storage/S in M.contents) // Try to place it in any item that can store stuff, on the mob. - if (S.handle_item_insertion(Item, TRUE)) - ok = 1 - break - if (ok == 0) // Finally, since everything else failed, place it on the ground + if (ok == FALSE) // Finally, since everything else failed, place it on the ground Item.forceMove(get_turf(M.loc)) diff --git a/colonialmarines.dme b/colonialmarines.dme index 74f0f99545b4..b241992cf172 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1501,7 +1501,8 @@ #include "code\modules\cm_marines\altitude_control_console.dm" #include "code\modules\cm_marines\anti_air.dm" #include "code\modules\cm_marines\codebook.dm" -#include "code\modules\cm_marines\Donor_Items.dm" +#include "code\modules\cm_marines\Donator_Items.dm" +#include "code\modules\cm_marines\Donator_Kits.dm" #include "code\modules\cm_marines\dropship_ammo.dm" #include "code\modules\cm_marines\dropship_equipment.dm" #include "code\modules\cm_marines\marines_consoles.dm" diff --git a/icons/obj/items/storage.dmi b/icons/obj/items/storage.dmi index 65cc0868440f49dd9adf40400df3c71c1218c8dc..2d0c1f5928df96d044209015a4e5acf4da7b1fff 100644 GIT binary patch literal 45992 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

    URcSuz>!V{oLIeXN= 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 From 1a8fd7ecf1c8eefa2cfeeed96c11839ee68130b8 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:04:25 +0100 Subject: [PATCH 13/31] Automatic changelog for PR #3850 [ci skip] --- html/changelogs/AutoChangeLog-pr-3850.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3850.yml diff --git a/html/changelogs/AutoChangeLog-pr-3850.yml b/html/changelogs/AutoChangeLog-pr-3850.yml new file mode 100644 index 000000000000..dc31ab865e69 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3850.yml @@ -0,0 +1,6 @@ +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 From 5d1178858fc6ca201b0f19e6b5474c5a3d0ec884 Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Thu, 20 Jul 2023 04:29:01 -0400 Subject: [PATCH 14/31] Facehuggers now bypass time of death checks when joining as Larva (#3940) # About the pull request Facehuggers ~~(and other ghost roles? (#3939))~~[this functionality will have to be added in said PR] now bypass the five minute time of death check, letting them join as a larva via queue or.. join as larva button. # Explain why it's good for the game With infection timer at 7.5 minutes, this means that after you die as facehugger, a large portion of the infection time is spent as unjoinable, which isnt a problem for a host YOU infected, but for others, you would get skipped over due to time of death. This allows for more leniency when playing as low-survivablity ghost roles. Code added can also be expanded, I am sure the new variable can fit in other places. # Changelog :cl: add: Facehuggers now bypass time of death checks when being considered for larva. code: new variable for observers to handle bypass of time of death checks /:cl: --------- Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/__HELPERS/game.dm | 2 +- code/modules/mob/dead/observer/observer.dm | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index cca3edda464e..c05795c32b10 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -268,7 +268,7 @@ // copied from join as xeno var/deathtime = world.time - cur_obs.timeofdeath - if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN)) ) + if(deathtime < XENO_JOIN_DEAD_TIME && ( !cur_obs.client.admin_holder || !(cur_obs.client.admin_holder.rights & R_ADMIN) || !cur_obs.bypass_time_of_death_checks)) continue // AFK players cannot be drafted diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 7e8dfe6cf3fd..ac67471ce30f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -49,13 +49,16 @@ var/updatedir = TRUE //Do we have to update our dir as the ghost moves around? var/atom/movable/following = null var/datum/orbit_menu/orbit_menu - var/mob/observetarget = null //The target mob that the ghost is observing. Used as a reference in logout() + /// The target mob that the ghost is observing. Used as a reference in logout() + var/mob/observetarget = null var/datum/health_scan/last_health_display var/ghost_orbit = GHOST_ORBIT_CIRCLE var/own_orbit_size = 0 var/observer_actions = list(/datum/action/observer_action/join_xeno) var/datum/action/minimap/observer/minimap var/larva_queue_cached_message + ///Used to bypass time of death checks such as when being selected for larva. + var/bypass_time_of_death_checks = FALSE alpha = 127 @@ -368,6 +371,8 @@ Works together with spawning an observer, noted above. // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers // We don't change facehugger timeofdeath because they are still on cooldown if they died as a hugger var/new_tod = isfacehugger(src) ? 1 : ghost.timeofdeath + // if they died as facehugger, bypass typical TOD checks + ghost.bypass_time_of_death_checks = isfacehugger(src) ghost.client.player_details.larva_queue_time = max(ghost.client.player_details.larva_queue_time, new_tod) ghost.set_huds_from_prefs() @@ -415,6 +420,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp // Larva queue: We use the larger of their existing queue time or the new timeofdeath except for facehuggers var/new_tod = isfacehugger(src) ? 1 : world.time + ghost.bypass_time_of_death_checks = isfacehugger(src) ghost.client?.player_details.larva_queue_time = max(ghost.client.player_details.larva_queue_time, new_tod) if(is_nested && nest && !QDELETED(nest)) ghost.can_reenter_corpse = FALSE From 110c526cfbfc37bda9b0eb88433e97d5b23c9859 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:19:48 +0100 Subject: [PATCH 15/31] Automatic changelog for PR #3940 [ci skip] --- html/changelogs/AutoChangeLog-pr-3940.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3940.yml diff --git a/html/changelogs/AutoChangeLog-pr-3940.yml b/html/changelogs/AutoChangeLog-pr-3940.yml new file mode 100644 index 000000000000..6561d2a12c0b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3940.yml @@ -0,0 +1,5 @@ +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 From d92c79e936876d2fd8ee012e8e3a0edda8477a4e Mon Sep 17 00:00:00 2001 From: morrowwolf Date: Thu, 20 Jul 2023 04:35:49 -0400 Subject: [PATCH 16/31] [Experimental] Modifies INTERRUPT_NO_NEEDHAND flag (#3935) # About the pull request This PR changes INTERRUPT_NO_NEEDHAND in the following way: If the user needed an item they must have keep that item in one hand to the end of the do_after() This should prevent dropping/putting away items while doing something. This will affect the following interactions (at least): Pilling someone Splinting someone Defib'ing someone And about 100 more do_after()'s We'll see if this feels better or worse. No matter what happens we will not be going back to dropping/putting away items and still using them. Probably will have to rename the interrupt for clarity. Happy to take suggestions. # Explain why it's good for the game Splints were recently changed to be INTERRUPT_NEEDHAND and it slows medics down *considerably* and completely takes the individual out of the flow state. The enjoyment of playing medic is trying to do things as fast as possible. This allows things to be fast while also not silly (put away or dropped and still continuing). You have two hands, you can do two things at once. # Testing Photographs and Procedure

    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: Morrow 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 /:cl: --- code/__HELPERS/unsorted.dm | 7 ++++++- code/modules/organs/limbs.dm | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 3b0a2601bbb0..2e48c9f80cd3 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1139,7 +1139,7 @@ var/global/image/action_purple_power_up break if(user_flags & INTERRUPT_NEEDHAND) if(user_holding) - if(!user_holding.loc || busy_user.get_active_hand() != user_holding) //no longer holding the required item + if(!user_holding.loc || busy_user.get_active_hand() != user_holding) //no longer holding the required item in active hand . = FALSE break else if(busy_user.get_active_hand()) //something in active hand when we need it to stay empty @@ -1153,6 +1153,11 @@ var/global/image/action_purple_power_up else if(T.get_active_hand()) . = FALSE break + if(user_flags & INTERRUPT_NO_NEEDHAND) + if(user_holding) + if(!user_holding.loc || (busy_user.l_hand != user_holding && busy_user.r_hand != user_holding)) //no longer holding the required item in either hand + . = FALSE + break if(user_flags & INTERRUPT_RESIST && busy_user.resisting || \ target_is_mob && (target_flags & INTERRUPT_RESIST && T.resisting) ) diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index dae33bea8157..7d0261d971b9 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -1220,7 +1220,7 @@ treat_grafted var tells it to apply to grafted but unsalved wounds, for burn kit user.visible_message(SPAN_WARNING("[user] fumbles with [S]"), SPAN_WARNING("You fumble with [S]...")) time_to_take = 15 SECONDS - if(do_after(user, time_to_take * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NEEDHAND, BUSY_ICON_FRIENDLY, target, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + if(do_after(user, time_to_take * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NO_NEEDHAND, BUSY_ICON_FRIENDLY, target, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) var/possessive = "[user == target ? "your" : "\the [target]'s"]" var/possessive_their = "[user == target ? user.gender == MALE ? "his" : "her" : "\the [target]'s"]" user.affected_message(target, From af1b2c7b5b0a367d33eb4e796485370613977004 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:37:19 +0100 Subject: [PATCH 17/31] Automatic changelog for PR #3935 [ci skip] --- html/changelogs/AutoChangeLog-pr-3935.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3935.yml diff --git a/html/changelogs/AutoChangeLog-pr-3935.yml b/html/changelogs/AutoChangeLog-pr-3935.yml new file mode 100644 index 000000000000..14b051b42c00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3935.yml @@ -0,0 +1,5 @@ +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 From 6b8f1ee3bb49d798a148a6c54b44eb07867ffafb Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:02:24 +0100 Subject: [PATCH 18/31] Yautja armor nerf-fix (#3941) # About the pull request Reduces yautja armor bullet resistance by 5, and puts that 5 extra onto the heavy armor. # Explain why it's good for the game The nerf accidentally got put onto the armor no one uses, rather than the armor everyone uses. # Testing Photographs and Procedure # Changelog :cl: fix: Reduces yautja armor bullet resistance by 5, and puts that 5 extra onto the heavy armor. /:cl: --- code/modules/cm_preds/yaut_items.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cm_preds/yaut_items.dm b/code/modules/cm_preds/yaut_items.dm index a6fb4658ed0b..8a3306817078 100644 --- a/code/modules/cm_preds/yaut_items.dm +++ b/code/modules/cm_preds/yaut_items.dm @@ -102,7 +102,7 @@ desc = "A suit of armor with light padding. It looks old, yet functional." armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH armor_laser = CLOTHING_ARMOR_MEDIUMHIGH armor_energy = CLOTHING_ARMOR_MEDIUMHIGH armor_bomb = CLOTHING_ARMOR_HIGH @@ -118,7 +118,7 @@ flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_HEAD|BODY_FLAG_LEGS flags_item = ITEM_PREDATOR armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_HIGH armor_laser = CLOTHING_ARMOR_HIGH armor_energy = CLOTHING_ARMOR_HIGH armor_bomb = CLOTHING_ARMOR_HIGHPLUS From cb3d1db24ccad0e8f1ce0f1c483597537dced24f Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 10:52:53 +0100 Subject: [PATCH 19/31] Automatic changelog for PR #3941 [ci skip] --- html/changelogs/AutoChangeLog-pr-3941.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3941.yml diff --git a/html/changelogs/AutoChangeLog-pr-3941.yml b/html/changelogs/AutoChangeLog-pr-3941.yml new file mode 100644 index 000000000000..a9dd3647263f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3941.yml @@ -0,0 +1,4 @@ +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 From b97f90f46187cc4005178ec2be0fc358a6e4377a Mon Sep 17 00:00:00 2001 From: QuickLode <63271983+QuickLode@users.noreply.github.com> Date: Thu, 20 Jul 2023 02:15:29 -0700 Subject: [PATCH 20/31] Survivor CMB Synthetic limited comms (#3927) # About the pull request # Explain why it's good for the game # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: fix: limits the Survivor CMB Synthetic comms /:cl: --- code/modules/gear_presets/synths.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index 8ac227e9a0bb..3e732e93990a 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -352,7 +352,7 @@ role_comm_title = "CMB Syn" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/CMB, - WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB, + WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB/limited, WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud, WEAR_BODY = /obj/item/clothing/under/CM_uniform, WEAR_BACK = /obj/item/storage/backpack/satchel/sec, From e86ae1b0563174aac1c7970e234e4bc481a3d8ad Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:06:34 +0100 Subject: [PATCH 21/31] Automatic changelog for PR #3927 [ci skip] --- html/changelogs/AutoChangeLog-pr-3927.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3927.yml diff --git a/html/changelogs/AutoChangeLog-pr-3927.yml b/html/changelogs/AutoChangeLog-pr-3927.yml new file mode 100644 index 000000000000..0fd5837fb3fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3927.yml @@ -0,0 +1,4 @@ +author: "QuickLode" +delete-after: True +changes: + - bugfix: "limits the Survivor CMB Synthetic comms" \ No newline at end of file From 739c300ca7b6e1f8079e95fbb621bccfa10e53eb Mon Sep 17 00:00:00 2001 From: morrowwolf Date: Thu, 20 Jul 2023 06:15:54 -0400 Subject: [PATCH 22/31] Pouch availability nerfs (#3934) # About the pull request This PR: Removes large pouches as buyable from all squad roles (SL can still get them without paying) Removes medkit, medical (the base ones, not first aid), and syringe pouches from squad prep room vendors Replaces the EZ-injector first aid pouch with the alternate tricord/bandage/splint/ointment version in the squad prep room vendors # Explain why it's good for the game Storage economy is a big struggle as we move forward making sure marine attrition is being hit correctly from multiple angles. Regarding large pouches: There is almost never a point to take another pouch when large pouches exist and are easily buyable. I have no intentions of buffing other pouches to their level given our want for more attrition and so these have to go. Regarding medkit, medical, and syringe pouches: First, the should really be in medbay and handed out from there. Second, medical pouch could hold significantly more types of things than other similar med pouches. There should be a trade off of some sort. Third, let's talk about medkits. Medkits are a nightmare to balance around for attrition. They are *incredibly* storage effective and can hold most small items. These pouches should not be just everywhere and should be mainly for medical personnel and their medical usage. More medkit changes are likely coming and the G8-A will also likely be looked at. Regarding first aid pouch replacement: Someone should not be taking nine emergency injectors into combat. This is your one and done *single* emergency injector. They are large and have a lot of meds in them for their size *because* they should be rarer. All in all, this is aimed at making other pouches more viable and to bring us closer to a point where ammo/medical logistics are required to be seriously considered. This is step one. # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: Morrow 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 /:cl: --- .../vending/vendor_types/squad_prep/squad_engineer.dm | 2 -- .../vending/vendor_types/squad_prep/squad_leader.dm | 1 - .../machinery/vending/vendor_types/squad_prep/squad_medic.dm | 3 --- .../machinery/vending/vendor_types/squad_prep/squad_prep.dm | 5 +---- .../vending/vendor_types/squad_prep/squad_rifleman.dm | 3 --- .../vending/vendor_types/squad_prep/squad_smartgunner.dm | 3 --- .../vending/vendor_types/squad_prep/squad_specialist.dm | 5 ++--- .../machinery/vending/vendor_types/squad_prep/squad_tl.dm | 3 --- 8 files changed, 3 insertions(+), 22 deletions(-) diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm index 2dbf0324e3d6..3d39479167b0 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm @@ -61,7 +61,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Large General Pouch", 6, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), list("Sling Pouch", 6, /obj/item/storage/pouch/sling, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 6, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 4, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 8, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), list("Fire Extinguisher (Portable)", 3, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), @@ -69,7 +68,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("Whistle", 3, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("M276 Pattern Combat Toolbelt Rig", 15, /obj/item/storage/belt/gun/utility, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm index 907cb99a94d2..fdfdabd8335e 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm @@ -26,7 +26,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_leader, list( list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR), list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), list("Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index ab864947e8f8..532c8e58dd02 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -76,9 +76,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("M4 Pattern Armor", 28, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), list("Range Finder", 6, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 8, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 6, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 6, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 6, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 4, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 6, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 3777fe75aa16..9775c20cac33 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -241,17 +241,14 @@ list("Construction Pouch", round(scale * 2), /obj/item/storage/pouch/construction, VENDOR_ITEM_REGULAR), list("Document Pouch", round(scale * 2), /obj/item/storage/pouch/document/small, VENDOR_ITEM_REGULAR), list("Explosive Pouch", round(scale * 2), /obj/item/storage/pouch/explosive, VENDOR_ITEM_REGULAR), - list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Full)", round(scale * 5), /obj/item/storage/pouch/firstaid/full/alternate, VENDOR_ITEM_REGULAR), list("First Responder Pouch (Empty)", round(scale * 4), /obj/item/storage/pouch/first_responder, VENDOR_ITEM_REGULAR), list("Flare Pouch", round(scale * 5), /obj/item/storage/pouch/flare/full, VENDOR_ITEM_REGULAR), list("Large Pistol Magazine Pouch", round(scale * 3), /obj/item/storage/pouch/magazine/pistol/large, VENDOR_ITEM_REGULAR), list("Magazine Pouch", round(scale * 5), /obj/item/storage/pouch/magazine, VENDOR_ITEM_REGULAR), - list("Medical Pouch (Empty)", round(scale * 4), /obj/item/storage/pouch/medical, VENDOR_ITEM_REGULAR), list("Medium General Pouch", round(scale * 2), /obj/item/storage/pouch/general/medium, VENDOR_ITEM_REGULAR), - list("Medkit Pouch", round(scale * 2), /obj/item/storage/pouch/medkit, VENDOR_ITEM_REGULAR), list("Shotgun Shell Pouch", round(scale *5), /obj/item/storage/pouch/shotgun, VENDOR_ITEM_REGULAR), list("Sidearm Pouch", round(scale * 15), /obj/item/storage/pouch/pistol, VENDOR_ITEM_REGULAR), - list("Syringe Pouch", round(scale * 2), /obj/item/storage/pouch/syringe, VENDOR_ITEM_REGULAR), list("Tools Pouch", round(scale * 2), /obj/item/storage/pouch/tools, VENDOR_ITEM_REGULAR), list("Sling Pouch", round(scale * 2), /obj/item/storage/pouch/sling, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm index 7ec257142ff5..543288c71706 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm @@ -82,8 +82,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 15, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 15, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 15, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), @@ -96,7 +94,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("USCM Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm index b471d61628e0..5560508ca4c1 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm @@ -26,15 +26,12 @@ GLOBAL_LIST_INIT(cm_vending_gear_smartgun, list( list("UTILITIES", 0, null, null, null), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 15, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Fuel Tank Strap Pouch", 5, /obj/item/storage/pouch/flamertank, null, VENDOR_ITEM_REGULAR), list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index d8f1eb742785..6b763936fdc8 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -50,7 +50,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("JTAC Pamphlet", 15, /obj/item/pamphlet/skill/jtac, null, VENDOR_ITEM_REGULAR), list("Engineering Pamphlet", 15, /obj/item/pamphlet/skill/engineer, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), list("Engineering Radio Encryption Key", 5, /obj/item/device/encryptionkey/engi, null, VENDOR_ITEM_REGULAR), @@ -101,8 +100,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 0, /obj/item/storage/pouch/magazine/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("Large Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Magazine Pouch", 0, /obj/item/storage/pouch/magazine, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Medium General Pouch", 0, /obj/item/storage/pouch/general/medium, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Pistol Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index e373244f72d6..4311a3982c86 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -32,7 +32,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("UTILITIES", 0, null, null, null), list("Radio Telephone Pack", 5, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED), list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), - list("Large Magazine Pouch", 10, /obj/item/storage/pouch/magazine/large, null, VENDOR_ITEM_REGULAR), list("Motion Detector", 15, /obj/item/device/motiondetector, null, VENDOR_ITEM_RECOMMENDED), list("Plastic Explosive", 10, /obj/item/explosive/plastic, null, VENDOR_ITEM_REGULAR), list("Breaching Charge", 10, /obj/item/explosive/plastic/breaching_charge, null, VENDOR_ITEM_REGULAR), @@ -40,7 +39,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("M2 Night Vision Goggles", 30, /obj/item/prop/helmetgarb/helmet_nvg, null, VENDOR_ITEM_RECOMMENDED), list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), - list("Large General Pouch", 15, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), list("Shoulder Holster", 15, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), @@ -48,7 +46,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), list("Powerloader Certification", 45, /obj/item/pamphlet/skill/powerloader, null, VENDOR_ITEM_REGULAR), - list("Large Shotgun Shell Pouch", 10, /obj/item/storage/pouch/shotgun/large, null, VENDOR_ITEM_RECOMMENDED), list("Insulated Gloves", 3, /obj/item/clothing/gloves/yellow, null, VENDOR_ITEM_REGULAR), list("RADIO KEYS", 0, null, null, null), From 8ac357f92cbee28983c19014608fe7e29641137e Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:24:38 +0100 Subject: [PATCH 23/31] Automatic changelog for PR #3934 [ci skip] --- html/changelogs/AutoChangeLog-pr-3934.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3934.yml diff --git a/html/changelogs/AutoChangeLog-pr-3934.yml b/html/changelogs/AutoChangeLog-pr-3934.yml new file mode 100644 index 000000000000..dffcae96ead9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3934.yml @@ -0,0 +1,6 @@ +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 From da0c1fd990b61502d1272e3183fcc179c34fd6f5 Mon Sep 17 00:00:00 2001 From: Awantje Date: Thu, 20 Jul 2023 14:37:32 +0200 Subject: [PATCH 24/31] Yautja surgery target zone change (#3911) # About the pull request I had a bit of an issue with the medicomp. My head as yautja was damaged and I targeted my head. There is no indication at all you must target the chest. Now you can target any zone. I ran to a few issues/glitches on the way. 1. The yautja mask blocks surgery. 2. Parallel surgery would become possible. The mask had a flag (BLOCKSHARPOBJ) that is only used once: [Here exactly](https://github.com/cmss13-devs/cmss13/blob/823c9ce54631bab0dd65bec0e8299c842658f686/code/modules/mob/living/carbon/human/human_defense.dm#L79C1-L82) That proc is only called specificly once: [Over here](https://github.com/cmss13-devs/cmss13/blob/823c9ce54631bab0dd65bec0e8299c842658f686/code/modules/surgery/surgery_steps.dm#L66-L90) To litterly block surgery. There is nothing else the flag does. By not caring about what is targeted you could start multiple surgeries in parallel. And I edited the initial surgery check to check for this. It also tells you where it is ongoing should you have changed targets or not know for some reason. I have tested my changes. With all targetable regions. You cannot do it on the limb you are holding the items in and thats fine. # Explain why it's good for the game Mostly because it gives no feedback on what you do wrong. And it's a trivial thing to overlook. It also makes sense to target the head if you have head damage on instinct. # Testing Photographs and Procedure
    # Changelog :cl: code: Medicomp surgery tools no longer care about what zone you target. /:cl: --- code/modules/cm_preds/yaut_mask.dm | 2 +- code/modules/surgery/mcomp_tendwounds.dm | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/cm_preds/yaut_mask.dm b/code/modules/cm_preds/yaut_mask.dm index c715ca590cd5..5d4d21c46c80 100644 --- a/code/modules/cm_preds/yaut_mask.dm +++ b/code/modules/cm_preds/yaut_mask.dm @@ -29,7 +29,7 @@ min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROT flags_armor_protection = BODY_FLAG_HEAD|BODY_FLAG_FACE|BODY_FLAG_EYES flags_cold_protection = BODY_FLAG_HEAD - flags_inventory = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|ALLOWINTERNALS|ALLOWREBREATH|BLOCKGASEFFECT|BLOCKSHARPOBJ + flags_inventory = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|ALLOWINTERNALS|ALLOWREBREATH|BLOCKGASEFFECT flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDELOWHAIR flags_item = ITEM_PREDATOR filtered_gases = list("phoron", "sleeping_agent", "carbon_dioxide") diff --git a/code/modules/surgery/mcomp_tendwounds.dm b/code/modules/surgery/mcomp_tendwounds.dm index 9f4a9460f669..3a876a8b5730 100644 --- a/code/modules/surgery/mcomp_tendwounds.dm +++ b/code/modules/surgery/mcomp_tendwounds.dm @@ -1,6 +1,6 @@ /datum/surgery/mcomp_wounds name = "Tend Wounds" - possible_locs = list("chest") + possible_locs = DEFENSE_ZONES_LIVING //all hud aiming locations are suitable for yautja to target. invasiveness = list(SURGERY_DEPTH_SURFACE) required_surgery_skill = SKILL_SURGERY_TRAINED var/required_trait = TRAIT_YAUTJA_TECH// Only predators can do this @@ -15,6 +15,14 @@ self_operable = TRUE /datum/surgery/mcomp_wounds/can_start(mob/living/carbon/human/user, mob/living/carbon/human/patient, obj/limb/limb, obj/item/tool) + var/list/surgery_limbs = DEFENSE_ZONES_LIVING //Creates a list of all targetable locations + surgery_limbs -= user.zone_selected //Removes the zone you are currently targeting + + for(var/zone in surgery_limbs) //Loops through the limbs of the patient + if(istype(patient.active_surgeries[zone], /datum/surgery/mcomp_wounds)) //Checks if there is already a surgery of this type existing elsewhere. + to_chat(user, SPAN_WARNING("The [zone] is already being worked on and you have to finish that first!"))//gives a message to the person trying to perform the action + return FALSE + if(istype(user) && HAS_TRAIT(user, TRAIT_YAUTJA_TECH)) if (patient.getBruteLoss() || patient.getFireLoss()) //Heals brute or burn return TRUE From 07878a3cff0e1bc55d4f26fc3a450a0d865bd67d Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 13:47:45 +0100 Subject: [PATCH 25/31] Automatic changelog for PR #3911 [ci skip] --- html/changelogs/AutoChangeLog-pr-3911.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3911.yml diff --git a/html/changelogs/AutoChangeLog-pr-3911.yml b/html/changelogs/AutoChangeLog-pr-3911.yml new file mode 100644 index 000000000000..10b29d57f05f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3911.yml @@ -0,0 +1,4 @@ +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 From ae6715b3dd0dd3f55d0a0e78f0df97560936a4c9 Mon Sep 17 00:00:00 2001 From: harryob Date: Thu, 20 Jul 2023 13:44:42 +0100 Subject: [PATCH 26/31] prevents bad vars being touched (#3932) apparently this wasn't ported with the rest of the vv refactor whoops! :cl: admin: you can no longer touch bad vars /:cl: --- code/game/atoms_movable.dm | 17 +++++++++++++++++ code/game/turfs/turf.dm | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 6b980136bc9e..17b37ce76630 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -74,6 +74,23 @@ var/client/C = usr.client C?.open_particle_editor(src) +/atom/movable/vv_edit_var(var_name, var_value) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, step_x) = TRUE, NAMEOF_STATIC(src, step_y) = TRUE, NAMEOF_STATIC(src, step_size) = TRUE, NAMEOF_STATIC(src, bounds) = TRUE) + var/static/list/careful_edits = list(NAMEOF_STATIC(src, bound_x) = TRUE, NAMEOF_STATIC(src, bound_y) = TRUE, NAMEOF_STATIC(src, bound_width) = TRUE, NAMEOF_STATIC(src, bound_height) = TRUE) + var/static/list/not_falsey_edits = list(NAMEOF_STATIC(src, bound_width) = TRUE, NAMEOF_STATIC(src, bound_height) = TRUE) + if(banned_edits[var_name]) + return FALSE //PLEASE no. + if(careful_edits[var_name] && (var_value % world.icon_size) != 0) + return FALSE + if(not_falsey_edits[var_name] && !var_value) + return FALSE + + if(!isnull(.)) + datum_flags |= DF_VAR_EDITED + return + + return ..() + //when a mob interact with something that gives them a special view, //check_eye() is called to verify that they're still eligible. //if they are not check_eye() usually reset the mob's view. diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6e98f4d7c065..bc0375e0b850 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -118,6 +118,12 @@ VV_DROPDOWN_OPTION(VV_HK_EXPLODE, "Trigger Explosion") VV_DROPDOWN_OPTION(VV_HK_EMPULSE, "Trigger EM Pulse") +/turf/vv_edit_var(var_name, new_value) + var/static/list/banned_edits = list(NAMEOF_STATIC(src, x), NAMEOF_STATIC(src, y), NAMEOF_STATIC(src, z)) + if(var_name in banned_edits) + return FALSE + . = ..() + /turf/ex_act(severity) return 0 From 152021785da4d88c79531d0db0ef35bb06b594e8 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 14:06:12 +0100 Subject: [PATCH 27/31] Automatic changelog for PR #3932 [ci skip] --- html/changelogs/AutoChangeLog-pr-3932.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3932.yml diff --git a/html/changelogs/AutoChangeLog-pr-3932.yml b/html/changelogs/AutoChangeLog-pr-3932.yml new file mode 100644 index 000000000000..df7c88fa0e2a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3932.yml @@ -0,0 +1,4 @@ +author: "harryob" +delete-after: True +changes: + - admin: "you can no longer touch bad vars" \ No newline at end of file From b50097864c8b41f856e9ced5e2d6fc840d9c39a9 Mon Sep 17 00:00:00 2001 From: morrowwolf Date: Thu, 20 Jul 2023 10:26:55 -0400 Subject: [PATCH 28/31] Knife webbing fixes and consistency (#3899) # About the pull request This PR: Adds sounds for inserting and removing knifes to the knife webbing Adds draw delay for knives to the knife webbing Allows using quickdraw with the knife webbing Standardizes knife draw delay in a define Knife webbing is now spawned full Allows knife webbing to be alt-clicked to draw from it Reviewer notes: The gun helper stuff looks weird to me. I don't think we ever have to iterate through internal directly from a mob's accessories var but there may be some snowflake stuff going on. Happy to move things around but leaving just in case. (Also looks out of scope :D) # Explain why it's good for the game Consistency and usability good. I genuinely have no clue how I ended up in this rabbit hole. # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: Morrow add: Added sounds for inserting and removing knifes to the knife webbing add: Added draw delay for knives to the knife webbing add: Allowed using quickdraw with the knife webbing add: Allowed knife webbing to be alt-clicked to draw from it add: Knife webbing is now spawned full code: Standardized knife draw delay in a define /:cl: --- code/__DEFINES/combat.dm | 2 ++ code/game/objects/items/storage/belt.dm | 8 +++--- code/game/objects/items/storage/pouch.dm | 8 +++--- code/modules/clothing/under/ties.dm | 32 ++++++++++++++++++++++++ code/modules/projectiles/gun_helpers.dm | 6 +++++ 5 files changed, 48 insertions(+), 8 deletions(-) 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/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/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/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)) From 2aa2bf64161178ab0956b61ac4f0409ef24ab7cd Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 15:39:53 +0100 Subject: [PATCH 29/31] Automatic changelog for PR #3899 [ci skip] --- html/changelogs/AutoChangeLog-pr-3899.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3899.yml diff --git a/html/changelogs/AutoChangeLog-pr-3899.yml b/html/changelogs/AutoChangeLog-pr-3899.yml new file mode 100644 index 000000000000..215aaa3eb4f3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3899.yml @@ -0,0 +1,9 @@ +author: "Morrow" +delete-after: True +changes: + - 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" \ No newline at end of file From 8906366b3d8bb939303df6a6e6f4a45439cd30a6 Mon Sep 17 00:00:00 2001 From: morrowwolf Date: Thu, 20 Jul 2023 10:31:13 -0400 Subject: [PATCH 30/31] Colonial Marshal ERT now uses their own faction (#3893) # About the pull request Colonial Marshal ERT now uses their own faction Anchorpoint marines now use the proper define for USCM # Explain why it's good for the game I can't find these bastards on the follow menu and they shouldn't instantly have USCM IFF. # Testing Photographs and Procedure
    Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
    ` tags.
    # Changelog :cl: Morrow fix: Colonial Marshal ERT now uses their own faction fix: Anchorpoint marines now use the proper define for USCM /:cl: --- code/__DEFINES/mode.dm | 3 ++- code/modules/gear_presets/cmb.dm | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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/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) . = ..() From 6da782b2a92d5c8a0bb5edcb05660f925ec64b01 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Thu, 20 Jul 2023 15:59:19 +0100 Subject: [PATCH 31/31] Automatic changelog for PR #3893 [ci skip] --- html/changelogs/AutoChangeLog-pr-3893.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3893.yml diff --git a/html/changelogs/AutoChangeLog-pr-3893.yml b/html/changelogs/AutoChangeLog-pr-3893.yml new file mode 100644 index 000000000000..75983d786455 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3893.yml @@ -0,0 +1,5 @@ +author: "Morrow" +delete-after: True +changes: + - bugfix: "Colonial Marshal ERT now uses their own faction" + - bugfix: "Anchorpoint marines now use the proper define for USCM" \ No newline at end of file