From 37219afc02e78b0a497829d764b2025ca0eb44a9 Mon Sep 17 00:00:00 2001 From: Rukofamicom Date: Mon, 16 Dec 2024 15:29:46 -0600 Subject: [PATCH 01/20] Update bodyparts.dm (#11802) --- code/modules/surgery/bodyparts/bodyparts.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index b82dbeebeafca..4a74b475d5673 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -714,7 +714,7 @@ //icon_state = "default_human_l_arm" attack_verb_continuous = list("slaps", "punches") attack_verb_simple = list("slap", "punch") - max_damage = 50 + max_damage = 40 max_stamina_damage = 50 body_zone = BODY_ZONE_L_ARM body_part = ARM_LEFT @@ -819,7 +819,7 @@ //icon_state = "default_human_r_arm" attack_verb_continuous = list("slaps", "punches") attack_verb_simple = list("slap", "punch") - max_damage = 50 + max_damage = 40 max_stamina_damage = 50 body_zone = BODY_ZONE_R_ARM body_part = ARM_RIGHT @@ -925,7 +925,7 @@ //icon_state = "default_human_l_leg" attack_verb_continuous = list("kicks", "stomps") attack_verb_simple = list("kick", "stomp") - max_damage = 50 + max_damage = 40 body_zone = BODY_ZONE_L_LEG body_part = LEG_LEFT plaintext_zone = "left leg" @@ -1024,7 +1024,7 @@ //icon_state = "default_human_r_leg" attack_verb_continuous = list("kicks", "stomps") attack_verb_simple = list("kick", "stomp") - max_damage = 50 + max_damage = 40 body_zone = BODY_ZONE_R_LEG body_part = LEG_RIGHT plaintext_zone = "right leg" From f641e6ddf68f9c67c79c73e4343944fc074c37f3 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Mon, 16 Dec 2024 15:38:33 -0600 Subject: [PATCH 02/20] Automatic changelog generation for PR #11802 [ci skip] --- html/changelogs/AutoChangeLog-pr-11802.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11802.yml diff --git a/html/changelogs/AutoChangeLog-pr-11802.yml b/html/changelogs/AutoChangeLog-pr-11802.yml new file mode 100644 index 0000000000000..c92180e31cab7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11802.yml @@ -0,0 +1,7 @@ +author: Rukofamicom +delete-after: true +changes: + - tweak: limbs are now disabled upon taking 40 damage instead of 50. + - balance: This means stamina weapons can be strategically used to disable limbs + without chest-aimed full stamcrit always being the better option. + - balance: This also means it is somewhat easier for sharp weapons to de-limb. From e4335184536139bb77612599bafedd624769e2ec Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Mon, 16 Dec 2024 22:03:36 +0000 Subject: [PATCH 03/20] Automatic changelog compile [ci skip] --- html/changelog.html | 8 ++++++++ html/changelogs/.all_changelog.yml | 6 ++++++ html/changelogs/AutoChangeLog-pr-11802.yml | 7 ------- 3 files changed, 14 insertions(+), 7 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-11802.yml diff --git a/html/changelog.html b/html/changelog.html index bdf323411e5bb..e68208402b74d 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,14 @@ -->
+

16 December 2024

+

Rukofamicom updated:

+ +

15 December 2024

Tsar-Salat updated:

- -

16 October 2024

-

BeeLover66 updated:

-
GoonStation 13 Development Team From eabeab6210db92e91b09a25e4a3f49b2cf3089a2 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Fri, 20 Dec 2024 00:13:44 +0000 Subject: [PATCH 05/20] Automatic changelog compile [ci skip] --- html/changelog.html | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 6faa61915fe95..98515c20bce3c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -841,25 +841,6 @@

rkz, Kylerace, TemporalOroboros updated:

  • desnowflakes gas tank items to use integrity
  • gas tanks now release their contents if destroyed
  • - -

    18 October 2024

    -

    ktlwjec updated:

    - -

    rkz, Ryll/Shaps, LemonInTheDark, Couls, JohnFulpWillard, OnlineGirlfriend updated:

    - GoonStation 13 Development Team From 1e4767506bd35261ca7df22cfd3642bb10e3f1c4 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sat, 21 Dec 2024 00:13:31 +0000 Subject: [PATCH 06/20] Automatic changelog compile [ci skip] --- html/changelog.html | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 98515c20bce3c..16c0e93cd7923 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -807,40 +807,6 @@

    RKz, itsmeowdev, LemonInTheDark, Timberpoes, Actioninja, mons
  • updates default server to 60 fps, from 20 fps
  • defaults camera acceleration to FALSE. If you are playing an eyeobj mob like a camera console, AI, or blob overmind and it looks really bad, turn off your camera acceleration. CamE looks terrible on my high-end pc, but fine on my laptop, so user experience may vary.
  • - -

    19 October 2024

    -

    ClownMoff updated:

    - -

    MarkusLarsson421 updated:

    - -

    Rukofamicom updated:

    - -

    Sarchutar updated:

    - -

    Therealdoooc213 updated:

    - -

    rkz, Kylerace, TemporalOroboros updated:

    - GoonStation 13 Development Team From be14056441587151962eb63ee811554bb852d0a1 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:15:07 +0000 Subject: [PATCH 07/20] Automatic changelog compile [ci skip] --- html/changelog.html | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 16c0e93cd7923..e61a4eed3df18 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -793,20 +793,6 @@

    Rukofamicom updated:

  • fixed a game-crashing bug with the syndicate explosive walls
  • fixed gibtonite rocks remaining behind after blowing up indefinitely
  • - -

    20 October 2024

    -

    EvilDragonfiend updated:

    - -

    RKz, itsmeowdev, LemonInTheDark, Timberpoes, Actioninja, monster860 updated:

    - GoonStation 13 Development Team From 1d424490b2a05af81f00362371603e5c58dfd710 Mon Sep 17 00:00:00 2001 From: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com> Date: Sun, 22 Dec 2024 07:08:59 -0500 Subject: [PATCH 08/20] YOU'LL GET YOUR MAP WHEN YOU FIX THIS DAMN FLOOR (#12011) --- code/_globalvars/turf.dm | 1 + code/game/area/Space_Station_13_areas.dm | 20 ++--- code/game/area/areas.dm | 2 +- code/game/turfs/open/floor/iron_floor.dm | 93 +++++++++++++++++++++++ code/game/turfs/turf.dm | 4 +- code/game/turfs/turf_texture.dm | 4 + icons/turf/turf_texture.dmi | Bin 6197 -> 6948 bytes 7 files changed, 111 insertions(+), 13 deletions(-) diff --git a/code/_globalvars/turf.dm b/code/_globalvars/turf.dm index ab277cbd05521..f8eeecf61d891 100644 --- a/code/_globalvars/turf.dm +++ b/code/_globalvars/turf.dm @@ -14,6 +14,7 @@ GLOBAL_LIST_INIT(turf_texture_hallway, list(/datum/turf_texture/hallway)) GLOBAL_LIST_INIT(turf_texture_maint, list(/datum/turf_texture/maint, /datum/turf_texture/hallway, /datum/turf_texture/maint/tile)) GLOBAL_LIST_INIT(turf_texture_iron, list(/datum/turf_texture/hallway, /datum/turf_texture/maint/tile)) +GLOBAL_LIST_INIT(turf_texture_iron_nonsegmented, list(/datum/turf_texture/hallway_nonsegmented)) GLOBAL_LIST_INIT(turf_texture_plating, list(/datum/turf_texture/maint)) /* diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 64eb92ee3969c..39db3eb4bdb85 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -178,7 +178,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/cold_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/maintenance/get_turf_textures() +/area/maintenance/get_area_textures() return GLOB.turf_texture_maint //Maintenance - Departmental @@ -242,7 +242,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Science Maintenance" icon_state = "maint_sci" -/area/maintenance/department/science/get_turf_textures() +/area/maintenance/department/science/get_area_textures() return GLOB.turf_texture_hallway /area/maintenance/department/science/central @@ -420,7 +420,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_brightness_tube = 8 camera_networks = list(CAMERA_NETWORK_STATION) -/area/hallway/get_turf_textures() +/area/hallway/get_area_textures() return GLOB.turf_texture_hallway /area/hallway/primary @@ -642,7 +642,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/crew_quarters/get_turf_textures() +/area/crew_quarters/get_area_textures() return GLOB.turf_texture_hallway /area/crew_quarters/dorms @@ -892,7 +892,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Engineering" icon_state = "engine" -/area/engine/engineering/get_turf_textures() +/area/engine/engineering/get_area_textures() return GLOB.turf_texture_hallway /area/engineering/hallway @@ -1216,7 +1216,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/security/get_turf_textures() +/area/security/get_area_textures() return GLOB.turf_texture_hallway /area/security/main @@ -1389,7 +1389,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_yellow camera_networks = list(CAMERA_NETWORK_STATION) -/area/quartermaster/get_turf_textures() +/area/quartermaster/get_area_textures() return GLOB.turf_texture_hallway /area/quartermaster/sorting @@ -1473,7 +1473,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/cold_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/hydroponics/get_turf_textures() +/area/hydroponics/get_area_textures() return GLOB.turf_texture_hallway /area/hydroponics/garden @@ -1571,7 +1571,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Robotics" icon_state = "robotics" -/area/science/robotics/get_turf_textures() +/area/science/robotics/get_area_textures() return GLOB.turf_texture_hallway /area/science/robotics/mechbay @@ -1615,7 +1615,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Primary Tool Storage" icon_state = "primarystorage" -/area/storage/primary/get_turf_textures() +/area/storage/primary/get_area_textures() return GLOB.turf_texture_hallway /area/storage/art diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index ac5310f19e421..8afb44fbd6704 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -646,5 +646,5 @@ GLOBAL_LIST_EMPTY(teleportlocs) if(mood_job_reverse) return !. // the most eye bleeding syntax ive written -/area/proc/get_turf_textures() +/area/proc/get_area_textures() return list() diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm index 8d9c8173f6016..1774fb5238b6d 100644 --- a/code/game/turfs/open/floor/iron_floor.dm +++ b/code/game/turfs/open/floor/iron_floor.dm @@ -34,21 +34,33 @@ base_icon_state = "floor_edge" floor_tile = /obj/item/stack/tile/iron/edge +/turf/open/floor/iron/edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/half icon_state = "floor_half" base_icon_state = "floor_half" floor_tile = /obj/item/stack/tile/iron/half +/turf/open/floor/iron/half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/corner icon_state = "floor_corner" base_icon_state = "floor_corner" floor_tile = /obj/item/stack/tile/iron/corner +/turf/open/floor/iron/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/large icon_state = "floor_large" base_icon_state = "floor_large" floor_tile = /obj/item/stack/tile/iron/large +/turf/open/floor/iron/large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured icon_state = "textured" base_icon_state = "textured" @@ -59,21 +71,33 @@ base_icon_state = "textured_edge" floor_tile = /obj/item/stack/tile/iron/textured_edge +/turf/open/floor/iron/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_half icon_state = "textured_half" base_icon_state = "textured_half" floor_tile = /obj/item/stack/tile/iron/textured_half +/turf/open/floor/iron/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_corner icon_state = "textured_corner" base_icon_state = "textured_corner" floor_tile = /obj/item/stack/tile/iron/textured_corner +/turf/open/floor/iron/textured_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_large icon_state = "textured_large" base_icon_state = "textured_large" floor_tile = /obj/item/stack/tile/iron/textured_large +/turf/open/floor/iron/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark icon_state = "darkfull" base_icon_state = "darkfull" @@ -84,31 +108,49 @@ base_icon_state = "dark_edge" floor_tile = /obj/item/stack/tile/iron/dark/smooth_edge +/turf/open/floor/iron/dark/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_half icon_state = "dark_half" base_icon_state = "dark_half" floor_tile = /obj/item/stack/tile/iron/dark/smooth_half +/turf/open/floor/iron/dark/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_corner icon_state = "dark_corner" base_icon_state = "dark_corner" floor_tile = /obj/item/stack/tile/iron/dark/smooth_corner +/turf/open/floor/iron/dark/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_large icon_state = "dark_large" base_icon_state = "dark_large" floor_tile = /obj/item/stack/tile/iron/dark/smooth_large +/turf/open/floor/iron/dark/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/side icon_state = "darkside" base_icon_state = "darkside" floor_tile = /obj/item/stack/tile/iron/dark_side +/turf/open/floor/iron/dark/side/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/corner icon_state = "darkcorner" base_icon_state = "darkcorner" floor_tile = /obj/item/stack/tile/iron/dark_corner +/turf/open/floor/iron/dark/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/checker icon_state = "blackwhite" base_icon_state = "blackwhite" @@ -129,16 +171,25 @@ base_icon_state = "textured_dark_edge" floor_tile = /obj/item/stack/tile/iron/dark/textured_edge +/turf/open/floor/iron/dark/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_half icon_state = "textured_dark_half" base_icon_state = "textured_dark_half" floor_tile = /obj/item/stack/tile/iron/dark/textured_half +/turf/open/floor/iron/dark/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_corner icon_state = "textured_dark_corner" base_icon_state = "textured_dark_corner" floor_tile = /obj/item/stack/tile/iron/dark/textured_corner +/turf/open/floor/iron/dark/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_large icon_state = "textured_dark_large" base_icon_state = "textured_dark_large" @@ -169,31 +220,49 @@ base_icon_state = "white_edge" floor_tile = /obj/item/stack/tile/iron/white/smooth_edge +/turf/open/floor/iron/white/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_half icon_state = "white_half" base_icon_state = "white_half" floor_tile = /obj/item/stack/tile/iron/white/smooth_half +/turf/open/floor/iron/white/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_corner icon_state = "white_corner" base_icon_state = "white_corner" floor_tile = /obj/item/stack/tile/iron/white/smooth_corner +/turf/open/floor/iron/white/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_large icon_state = "white_large" base_icon_state = "white_large" floor_tile = /obj/item/stack/tile/iron/white/smooth_large +/turf/open/floor/iron/white/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/side icon_state = "whitehall" base_icon_state = "whitehall" floor_tile = /obj/item/stack/tile/iron/white_side +/turf/open/floor/iron/white/side/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/corner icon_state = "whitecorner" base_icon_state = "whitecorner" floor_tile = /obj/item/stack/tile/iron/white_corner +/turf/open/floor/iron/white/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/cafeteria icon_state = "cafeteria" base_icon_state = "cafeteria" @@ -209,21 +278,33 @@ base_icon_state = "textured_white_edge" floor_tile = /obj/item/stack/tile/iron/white/textured_edge +/turf/open/floor/iron/white/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_half icon_state = "textured_white_half" base_icon_state = "textured_white_half" floor_tile = /obj/item/stack/tile/iron/white/textured_half +/turf/open/floor/iron/white/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_corner icon_state = "textured_white_corner" base_icon_state = "textured_white_corner" floor_tile = /obj/item/stack/tile/iron/white/textured_corner +/turf/open/floor/iron/white/textured_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_large icon_state = "textured_white_large" base_icon_state = "textured_white_large" floor_tile = /obj/item/stack/tile/iron/white/textured_large +/turf/open/floor/iron/white/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/airless initial_gas_mix = AIRLESS_ATMOS @@ -259,21 +340,33 @@ base_icon_state = "smooth_edge" floor_tile = /obj/item/stack/tile/iron/smooth_edge +/turf/open/floor/iron/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_half icon_state = "smooth_half" base_icon_state = "smooth_half" floor_tile = /obj/item/stack/tile/iron/smooth_half +/turf/open/floor/iron/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_corner icon_state = "smooth_corner" base_icon_state = "smooth_corner" floor_tile = /obj/item/stack/tile/iron/smooth_corner +/turf/open/floor/iron/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_large icon_state = "smooth_large" base_icon_state = "smooth_large" floor_tile = /obj/item/stack/tile/iron/smooth_large +/turf/open/floor/iron/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/chapel icon_state = "chapel" base_icon_state = "chapel" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6a375c26b2091..7abd4bc94c792 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -296,7 +296,7 @@ CREATION_TEST_IGNORE_SELF(/turf) // Here's hoping it doesn't stay like this for years before we finish conversion to step_ var/atom/firstbump var/canPassSelf = CanPass(mover, get_dir(src, mover)) - + if(canPassSelf || (mover.movement_type & PHASING)) for(var/atom/movable/thing as anything in contents) if(QDELETED(mover)) @@ -574,7 +574,7 @@ CREATION_TEST_IGNORE_SELF(/turf) var/datum/turf_texture/turf_texture for(var/datum/turf_texture/TF as() in textures) var/area/A = loc - if(TF in A?.get_turf_textures()) + if(TF in A?.get_area_textures()) turf_texture = turf_texture ? initial(TF.priority) > initial(turf_texture.priority) ? TF : turf_texture : TF if(turf_texture) vis_contents += load_turf_texture(turf_texture) diff --git a/code/game/turfs/turf_texture.dm b/code/game/turfs/turf_texture.dm index 25cfdcccef721..609af16c4d007 100644 --- a/code/game/turfs/turf_texture.dm +++ b/code/game/turfs/turf_texture.dm @@ -43,6 +43,10 @@ CREATION_TEST_IGNORE_SUBTYPES(/atom/movable/turf_texture) icon_state = "hallway" alpha = 55 +/datum/turf_texture/hallway_nonsegmented + icon_state = "hallway_nonsegmented" + alpha = 55 + //Deep maint use /datum/turf_texture/maint icon_state = "maint" diff --git a/icons/turf/turf_texture.dmi b/icons/turf/turf_texture.dmi index 6c0d5b90bdc03548b3be231eb06ab1dce3b31740..110c3507acfd1549f05d50da8f521747f3c39619 100644 GIT binary patch literal 6948 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 Q{{bLl15^DHv~Ae`0j3rnxBvhE From fb77cbf0ca89282c07b9a6e43a95d46bcd801b61 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 06:18:22 -0600 Subject: [PATCH 09/20] Automatic changelog generation for PR #12011 [ci skip] --- html/changelogs/AutoChangeLog-pr-12011.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12011.yml diff --git a/html/changelogs/AutoChangeLog-pr-12011.yml b/html/changelogs/AutoChangeLog-pr-12011.yml new file mode 100644 index 0000000000000..6948a7fa461b9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12011.yml @@ -0,0 +1,4 @@ +author: Tsar-Salat +delete-after: true +changes: + - bugfix: fixes segmented turf textures applying to nonsegmented turfs... very ugly... From 928bbf278609d5c4c1496c8828fee48001ff26a8 Mon Sep 17 00:00:00 2001 From: PowerfulBacon <26465327+PowerfulBacon@users.noreply.github.com> Date: Sun, 22 Dec 2024 12:47:48 +0000 Subject: [PATCH 10/20] Update EchoStation.dmm (#12059) --- _maps/map_files/EchoStation/EchoStation.dmm | 24 +++++++++------------ 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/_maps/map_files/EchoStation/EchoStation.dmm b/_maps/map_files/EchoStation/EchoStation.dmm index 4292c9f24c248..7d918b94e284b 100644 --- a/_maps/map_files/EchoStation/EchoStation.dmm +++ b/_maps/map_files/EchoStation/EchoStation.dmm @@ -11884,11 +11884,11 @@ dir = 8 }, /obj/effect/turf_decal/siding/white, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, /obj/machinery/vending/coffee, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, /turf/open/floor/iron, /area/medical/medbay/central) "fLS" = ( @@ -18694,10 +18694,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8; - name = "Medbay"; - sortType = 10 +/obj/structure/disposalpipe/sorting/mail/destination/cmo_office/flip{ + dir = 8 }, /turf/open/floor/iron, /area/medical/medbay/central) @@ -21352,8 +21350,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/disposalpipe/sorting/mail/destination/medbay/flip{ + dir = 8 }, /turf/open/floor/catwalk_floor/iron_dark, /area/medical/medbay/central) @@ -29135,10 +29133,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8; - name = "Medbay"; - sortType = 9 +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, /turf/open/floor/catwalk_floor/iron_dark, /area/medical/medbay/central) @@ -46993,7 +46989,7 @@ /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk{ - dir = 8 + dir = 1 }, /turf/open/floor/iron, /area/medical/medbay/central) From cad16b275c327c7750a9c146a7b4b54acf663e94 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 06:48:13 -0600 Subject: [PATCH 11/20] Automatic changelog generation for PR #12059 [ci skip] --- html/changelogs/AutoChangeLog-pr-12059.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12059.yml diff --git a/html/changelogs/AutoChangeLog-pr-12059.yml b/html/changelogs/AutoChangeLog-pr-12059.yml new file mode 100644 index 0000000000000..3822af67a6bba --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12059.yml @@ -0,0 +1,4 @@ +author: PowerfulBacon +delete-after: true +changes: + - bugfix: Fixes echostation disposals resulting in random testing failures. From 25c1f78f93999d5f2f6870face30ae2965b02573 Mon Sep 17 00:00:00 2001 From: BarteG44 <105491762+BarteG44@users.noreply.github.com> Date: Sun, 22 Dec 2024 13:48:05 +0100 Subject: [PATCH 12/20] gym fixes (#12053) * gym fixes fixes not being able to buckle to the weight lifting machines, their animations and the exercised status not giving stamina damage resistance * fixes a related guillotine problem fixes the offset not being applied properly * makes the gym stuff constructable * forgor about destroy() * removes the frame since it's a bit overcomplicated --- .../crafting/crafting_lists/misc.dm | 20 +++++ .../crafting/crafting_lists/structures.dm | 37 ++++++++ code/game/objects/buckling.dm | 10 ++- code/game/objects/structures/guillotine.dm | 8 +- .../objects/structures/gym/exercise_status.dm | 2 +- .../objects/structures/gym/punching_bag.dm | 7 ++ .../objects/structures/gym/weight_machine.dm | 80 ++++++++++++++---- icons/mob/inhands/equipment/weightlifting.dmi | Bin 0 -> 1393 bytes icons/obj/fitness.dmi | Bin 2892 -> 4753 bytes 9 files changed, 138 insertions(+), 26 deletions(-) create mode 100644 icons/mob/inhands/equipment/weightlifting.dmi diff --git a/code/datums/components/crafting/crafting_lists/misc.dm b/code/datums/components/crafting/crafting_lists/misc.dm index 1fde5d3a2cbbe..747f3c9b05f15 100644 --- a/code/datums/components/crafting/crafting_lists/misc.dm +++ b/code/datums/components/crafting/crafting_lists/misc.dm @@ -12,6 +12,26 @@ parts = list(/obj/item/camera = 1) category = CAT_MISC +/datum/crafting_recipe/barbell + name = "Barbell" + result = /obj/item/barbell + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 4, + /obj/item/stack/rods = 2, + ) + category = CAT_MISC + +/datum/crafting_recipe/chestpress + name = "Chest press handle" + result = /obj/item/barbell/stacklifting + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 4, + /obj/item/stack/rods = 2, + ) + category = CAT_MISC + /datum/crafting_recipe/lizardhat name = "Lizard Cloche Hat" result = /obj/item/clothing/head/costume/lizard diff --git a/code/datums/components/crafting/crafting_lists/structures.dm b/code/datums/components/crafting/crafting_lists/structures.dm index d9d38f67d0ab7..835719293a27b 100644 --- a/code/datums/components/crafting/crafting_lists/structures.dm +++ b/code/datums/components/crafting/crafting_lists/structures.dm @@ -120,3 +120,40 @@ category = CAT_STRUCTURE one_per_turf = TRUE +/datum/crafting_recipe/weightmachine + name = "Chest press machine" + result = /obj/structure/weightmachine + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 2, + /obj/item/stack/rods = 6, + /obj/item/barbell/stacklifting = 1, + ) + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/weightmachine/weightlifter + name = "Inline bench press" + result = /obj/structure/weightmachine/weightlifter + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 2, + /obj/item/stack/rods = 6, + /obj/item/barbell = 1, + ) + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/punching_bag + name = "Punching bag" + result = /obj/structure/punching_bag + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/cotton/cloth = 10, + ) + tools = list(TOOL_WIRECUTTER) + category = CAT_STRUCTURE + one_per_turf = TRUE + diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 1b8fb6f032f34..8e3789bcb5025 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -68,7 +68,7 @@ */ /atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user) if(can_buckle && istype(M) && istype(user)) - return user_buckle_mob(M, user) + return user_buckle_mob(M, user, check_loc = FALSE) // Mobs have custom behaviour for buckling /mob/mouse_buckle_handling(mob/living/M, mob/living/user) @@ -92,10 +92,14 @@ * force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to * check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf. */ -/atom/movable/proc/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) +/atom/movable/proc/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, needs_anchored = FALSE) if(!buckled_mobs) buckled_mobs = list() + if(!anchored && needs_anchored) + to_chat(M, "Secure [src] first!") + return FALSE + if(!is_buckle_possible(M, force, check_loc)) return FALSE @@ -131,7 +135,7 @@ SEND_SIGNAL(src, COMSIG_MOVABLE_BUCKLE, M, force) return TRUE -/obj/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) +/obj/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, needs_anchored = FALSE) . = ..() if(.) if(resistance_flags & ON_FIRE) //Sets the mob on fire if you buckle them to a burning atom/movableect diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index da22f2bf66ba3..eb02c1d4658dc 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -203,7 +203,7 @@ if (istype(S)) H.cut_overlays() H.update_body_parts_head_only() - H.pixel_y += -GUILLOTINE_HEAD_OFFSET // Offset their body so it looks like they're in the guillotine + H.pixel_y -= GUILLOTINE_HEAD_OFFSET // Offset their body so it looks like they're in the guillotine H.layer += GUILLOTINE_LAYER_DIFF else unbuckle_all_mobs() @@ -212,12 +212,10 @@ else unbuckle_all_mobs() - ..() - /obj/structure/guillotine/post_unbuckle_mob(mob/living/M) M.regenerate_icons() - M.pixel_y -= -GUILLOTINE_HEAD_OFFSET // Move their body back - M.layer -= GUILLOTINE_LAYER_DIFF + M.pixel_y = M.base_pixel_y // Move their body back + M.layer = MOB_LAYER ..() /obj/structure/guillotine/can_be_unfasten_wrench(mob/user, silent) diff --git a/code/game/objects/structures/gym/exercise_status.dm b/code/game/objects/structures/gym/exercise_status.dm index 2a33c99a6f520..004db4f8ea8e2 100644 --- a/code/game/objects/structures/gym/exercise_status.dm +++ b/code/game/objects/structures/gym/exercise_status.dm @@ -19,7 +19,6 @@ /datum/status_effect/exercised/on_creation(mob/living/new_owner, exercise_amount) src.exercise_amount = exercise_amount * EXERCISE_INCREMENT - update_exercise() return ..() /datum/status_effect/exercised/merge(exercise_amount) @@ -49,6 +48,7 @@ var/delta = exercise_amount - applied_amount var/mob/living/carbon/human/human_owner = owner human_owner.physiology.stun_add -= delta + human_owner.physiology.stamina_mod -= delta applied_amount = exercise_amount switch (exercise_amount) if (0.3 to 0.5) diff --git a/code/game/objects/structures/gym/punching_bag.dm b/code/game/objects/structures/gym/punching_bag.dm index 49792013754e9..83acce444a7a8 100644 --- a/code/game/objects/structures/gym/punching_bag.dm +++ b/code/game/objects/structures/gym/punching_bag.dm @@ -24,3 +24,10 @@ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) user.apply_status_effect(STATUS_EFFECT_EXERCISED, 1) +/obj/structure/punching_bag/wirecutter_act(mob/living/user, obj/item/I) + to_chat(user, "You begin to cut [src] apart...") + if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You cut [src] apart.") + new /obj/item/stack/sheet/cotton/cloth(loc, 10) + qdel(src) + return TRUE diff --git a/code/game/objects/structures/gym/weight_machine.dm b/code/game/objects/structures/gym/weight_machine.dm index b8e000a215779..705019f86c93b 100644 --- a/code/game/objects/structures/gym/weight_machine.dm +++ b/code/game/objects/structures/gym/weight_machine.dm @@ -9,6 +9,8 @@ density = TRUE anchored = TRUE blocks_emissive = EMISSIVE_BLOCK_UNIQUE + var/mutable_appearance/overlay + var/weight_type = /obj/item/barbell/stacklifting ///How much we shift the user's pixel y when using the weight machine. var/pixel_shift_y = -3 @@ -41,42 +43,61 @@ /obj/structure/weightmachine/Initialize(mapload) . = ..() - + overlay = mutable_appearance(icon, "[base_icon_state]-s") + src.add_overlay(overlay) weight_action = new(src) weight_action.weightpress = src /obj/structure/weightmachine/Destroy() + new /obj/item/stack/sheet/iron(loc, 2) + new /obj/item/stack/rods(loc, 6) + new weight_type(loc) + unbuckle_all_mobs() QDEL_NULL(weight_action) + qdel(overlay) return ..() -/obj/structure/weightmachine/buckle_mob(mob/living/buckled, force, check_loc) +/obj/structure/weightmachine/wrench_act(mob/living/user, obj/item/I) + if (default_unfasten_wrench(user, I, 50) == 2 && anchored) + setDir(SOUTH) + unbuckle_all_mobs() + return TRUE + +/obj/structure/weightmachine/screwdriver_act(mob/living/user, obj/item/I) + to_chat(user, "You begin to take apart [src]...") + if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You deconstruct [src].") + qdel(src) + return TRUE + +/obj/structure/weightmachine/buckle_mob(mob/living/buckled, force, check_loc, needs_anchored = TRUE) . = ..() - weight_action.Grant(buckled) -// /obj/structure/weightmachine/post_buckle_mob(mob/living/buckled) -// add_overlay("[base_icon_state]-e") -// layer = ABOVE_MOB_LAYER +/obj/structure/weightmachine/post_buckle_mob(mob/living/buckled) + weight_action.Grant(buckled) + buckled.add_overlay(overlay) + src.cut_overlay(overlay) /obj/structure/weightmachine/unbuckle_mob(mob/living/buckled_mob, force, can_fall) . = ..() + src.add_overlay(overlay) + buckled_mob.cut_overlay(overlay) weight_action.Remove(buckled_mob) -// /obj/structure/weightmachine/post_unbuckle_mob(mob/living/buckled) -// cut_overlays() - /obj/structure/weightmachine/proc/perform_workout(mob/living/user) user.balloon_alert_to_viewers("[pick(more_weight)]") START_PROCESSING(SSobj, src) if(do_after(user, 8 SECONDS, src) && user.has_gravity()) - user.Stun(2 SECONDS) + user.Stun(0.5 SECONDS) if(issilicon(user) || isipc(user)) //IPCs don't have muscle mass... i think user.balloon_alert(user, pick(finished_silicon_message)) else user.balloon_alert(user, pick(finished_message)) if (user.client) user.client.give_award(/datum/award/achievement/misc/weights, user) - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) - user.apply_status_effect(STATUS_EFFECT_EXERCISED, 10) + if(ishuman(user)) + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) + user.apply_status_effect(STATUS_EFFECT_EXERCISED, 40) end_workout() /obj/structure/weightmachine/proc/end_workout() @@ -88,12 +109,8 @@ if(!has_buckled_mobs()) end_workout() return FALSE - var/image/workout = image(icon, "[base_icon_state]-o", layer = ABOVE_MOB_LAYER) - workout.plane = GAME_PLANE //I hate the plane cube - workout.layer = FLY_LAYER - flick_overlay_view(workout,0.8 SECONDS) - flick("[base_icon_state]-u", src) var/mob/living/user = buckled_mobs[1] + flick("[base_icon_state]-u", src) animate(user, pixel_y = pixel_shift_y, time = 4, SINE_EASING) playsound(user, 'sound/machines/creak.ogg', 60, TRUE) animate(pixel_y = user.base_pixel_y, time = 4, SINE_EASING) @@ -109,3 +126,32 @@ icon_state = "benchpress" base_icon_state = "benchpress" pixel_shift_y = 5 + weight_type = /obj/item/barbell + +/obj/item/barbell + name = "barbell" + desc = "A long bar with some huge weights on the ends. Very impressive." + icon = 'icons/obj/fitness.dmi' + icon_state = "barbell" + lefthand_file = 'icons/mob/inhands/equipment/weightlifting.dmi' + righthand_file = 'icons/mob/inhands/equipment/weightlifting.dmi' + flags_1 = CONDUCT_1 + force = 16 + throwforce = 16 + block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY + attack_weight = 2 + w_class = WEIGHT_CLASS_HUGE + item_flags = SLOWS_WHILE_IN_HAND + custom_materials = list(/datum/material/iron=10000) + throw_speed = 1 + throw_range = 2 + slowdown = 2 + +/obj/item/barbell/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, require_twohands=TRUE, block_power_unwielded=block_power, block_power_wielded=block_power) + +/obj/item/barbell/stacklifting + name = "chest press handle" + desc = "A handle that attaches to some heavy weights. Looks complicated." + icon_state = "chestpress" diff --git a/icons/mob/inhands/equipment/weightlifting.dmi b/icons/mob/inhands/equipment/weightlifting.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8d45776dd527c053e7613530c001198ace48b81d GIT binary patch literal 1393 zcmZXUeKga19LK-gjOB6n5~60gUFIQLay`dHEVq@+<89jURHINDsaCr`6#j|@Gq+DuT$O3n)Yq?jMo=+=z;BA{_^65g)_=dQJ!Zs|&$=I(W zC8K~FtZ5uvVKXB~{WuE52#;`39txjN*J{DF^)&0xL)!8A+J>g^ph0I2bZ zJ_Isj_+wT0vFDKn-BQIrNtuTpzU1wQ_*{+U`%{wZ%rlc~uy#0Zm@m?ZJi;r8XtB1o ztCr;K#@V5|-qjfJA`Ta{nsc!)vfF~c$-Jexx4%3{!X{eu?03k|68Aodu~;GXOD9JA z`UH4bEE#`I^#A}40Hgv|C6r3*BOHE^LfKLo9=yWH9WLn|2$;*u%QI)QChgC8$lDV= z+<2^GfZK`G!Ile2vLM2oDI}Pm6Fj-%Qp=r=kQE%rL)^PoijnmFX(^)*l^5e{0j`7u zaXCRSuCfg{C%W3-xIUA2{JnnReylC*QqkidmZ_SyC_uLt=MTTv*$GQkK0)65Ak_e_ zmX?%_1b?k+YFN>uUMU&{{xU)|%94t<`Y#N+IHh5lL}jPO!&zR9viOAcceh^&crb;2N!sG#%DMTc(X_O#?~*Y`5r9F~HpuJD+087UN+0WxdLvmo>y#{+G) zq^$In<*;EXEIye4OCE24`#ajk!a*7~m|2^r4%Jt~uE_?G)%P7Qd^_;E0;pXIgsCzG zYAUG?UMir!953F)ca3Y`Sh5Q~e12rX$C|oN*%$8MlPD@8N?!;wZHh217#CE@hL=|r zSMD?srFyeR&_q-T>iJbgVO8^^O!CKWNqsv#A=FRTdn%V)HjwW)fSkw-%tg-tUMXj` z5=Us%?l11ri1ZzGOOw*sOi%0_y-X-@ewC2!zEQ)Ta`)*i-5x_|R)P>_?503fCK&Z8 zWX`56DW|px=B`M(MNozeUNnUIC5Sg~lPcW^vp+S@wKEyZqgzA(swJxdvKVWfc(AyXkbRylj0Ta0W>a3(i?6GW$`(e;CMkLZt=iS!gb}GT7E3O~-DY=~ zv9vN)SBF^7G;#uxAj{R|zb4tFIBCSp=q?Y&Ty|D@_A&vAFeX?5P;&AD z@bJ*LcUWtfQ2H8cJJ_dYr4Mozb+&-dR#AVyJfk3v_0=<|dkEK=do;fKBA`dpMlrq& T_Faj^^7?wBFUg1RP0jfaQdC+w literal 0 HcmV?d00001 diff --git a/icons/obj/fitness.dmi b/icons/obj/fitness.dmi index 88faf3c44a6971485601f1a395ef82bef564d513..163262f59d23db0ae86fec679ac606ee1552ffa4 100644 GIT binary patch literal 4753 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 literal 2892 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 Wq~vKTweRpx3b3)Xv#2rmO8ghc1)g#M From d7d59c36e2dde268648dc951c353752429cbaefa Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 06:59:43 -0600 Subject: [PATCH 13/20] Automatic changelog generation for PR #12053 [ci skip] --- html/changelogs/AutoChangeLog-pr-12053.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12053.yml diff --git a/html/changelogs/AutoChangeLog-pr-12053.yml b/html/changelogs/AutoChangeLog-pr-12053.yml new file mode 100644 index 0000000000000..7d0498828c7c9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12053.yml @@ -0,0 +1,9 @@ +author: BarteG44 +delete-after: true +changes: + - bugfix: fixes not being able to buckle to the weight lifting machines and their + animations + - bugfix: fixes the exercised status not giving stamina damage resistance + - bugfix: fixes the guillotine having the wrong offset + - tweak: increases the amount of exercise you get from weight lifting machines + - rscadd: makes gym equipment constructable via the construction menu From 87e8495bf5189d2ba800a9acbd169f7eaba2ebd6 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 13:05:41 +0000 Subject: [PATCH 14/20] Automatic changelog compile [ci skip] --- html/changelog.html | 18 ++++++++++++++++++ html/changelogs/.all_changelog.yml | 12 ++++++++++++ html/changelogs/AutoChangeLog-pr-12011.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12053.yml | 9 --------- html/changelogs/AutoChangeLog-pr-12059.yml | 4 ---- 5 files changed, 30 insertions(+), 17 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12011.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12053.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12059.yml diff --git a/html/changelog.html b/html/changelog.html index e61a4eed3df18..53e7df93dd9ff 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,24 @@ -->
    +

    22 December 2024

    +

    BarteG44 updated:

    +
      +
    • fixes not being able to buckle to the weight lifting machines and their animations
    • +
    • fixes the exercised status not giving stamina damage resistance
    • +
    • fixes the guillotine having the wrong offset
    • +
    • increases the amount of exercise you get from weight lifting machines
    • +
    • makes gym equipment constructable via the construction menu
    • +
    +

    PowerfulBacon updated:

    +
      +
    • Fixes echostation disposals resulting in random testing failures.
    • +
    +

    Tsar-Salat updated:

    +
      +
    • fixes segmented turf textures applying to nonsegmented turfs... very ugly...
    • +
    +

    16 December 2024

    Rukofamicom updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 0d9411c8b0718..2bb8e5f0fb560 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -45220,3 +45220,15 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - balance: This means stamina weapons can be strategically used to disable limbs without chest-aimed full stamcrit always being the better option. - balance: This also means it is somewhat easier for sharp weapons to de-limb. +2024-12-22: + BarteG44: + - bugfix: fixes not being able to buckle to the weight lifting machines and their + animations + - bugfix: fixes the exercised status not giving stamina damage resistance + - bugfix: fixes the guillotine having the wrong offset + - tweak: increases the amount of exercise you get from weight lifting machines + - rscadd: makes gym equipment constructable via the construction menu + PowerfulBacon: + - bugfix: Fixes echostation disposals resulting in random testing failures. + Tsar-Salat: + - bugfix: fixes segmented turf textures applying to nonsegmented turfs... very ugly... diff --git a/html/changelogs/AutoChangeLog-pr-12011.yml b/html/changelogs/AutoChangeLog-pr-12011.yml deleted file mode 100644 index 6948a7fa461b9..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-12011.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Tsar-Salat -delete-after: true -changes: - - bugfix: fixes segmented turf textures applying to nonsegmented turfs... very ugly... diff --git a/html/changelogs/AutoChangeLog-pr-12053.yml b/html/changelogs/AutoChangeLog-pr-12053.yml deleted file mode 100644 index 7d0498828c7c9..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-12053.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: BarteG44 -delete-after: true -changes: - - bugfix: fixes not being able to buckle to the weight lifting machines and their - animations - - bugfix: fixes the exercised status not giving stamina damage resistance - - bugfix: fixes the guillotine having the wrong offset - - tweak: increases the amount of exercise you get from weight lifting machines - - rscadd: makes gym equipment constructable via the construction menu diff --git a/html/changelogs/AutoChangeLog-pr-12059.yml b/html/changelogs/AutoChangeLog-pr-12059.yml deleted file mode 100644 index 3822af67a6bba..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-12059.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: PowerfulBacon -delete-after: true -changes: - - bugfix: Fixes echostation disposals resulting in random testing failures. From 11dffe07f882de78d49fe73d9fa881b4516ec466 Mon Sep 17 00:00:00 2001 From: therealdoooc Date: Mon, 23 Dec 2024 06:21:48 +0800 Subject: [PATCH 15/20] Subtle messages balloon alert (#11870) * She sublte on my message till i "Drop pod incoming." * yeah * telepath * gramar --- code/modules/admin/verbs/randomverbs.dm | 2 ++ code/modules/spells/spell_types/telepathy.dm | 1 + 2 files changed, 3 insertions(+) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index fb7da1e22b329..104b2d103be9b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -38,6 +38,7 @@ if (usr.client) if(usr.client.holder) to_chat(M, "You hear a voice in your head... [msg]") + M.balloon_alert(M, "You hear a voice in your head...") log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") msg = " SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]" @@ -78,6 +79,7 @@ log_directed_talk(mob, H, input, LOG_ADMIN, "reply") message_admins("[key_name_admin(src)] replied to [key_name_admin(H)]'s [sender] message with: \"[input]\"") to_chat(H, "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from [sender == "Syndicate" ? "your benefactor" : JOB_CENTCOM_CENTRAL_COMMAND]. Message as follows[sender == "Syndicate" ? ", agent." : ":"] [input]. Message ends.\"") + H.balloon_alert(H, "You hear a voice in your head...") SSblackbox.record_feedback("tally", "admin_verb", 1, "Headset Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/spells/spell_types/telepathy.dm b/code/modules/spells/spell_types/telepathy.dm index 52b3dcb88ac35..f4f1c3106246b 100644 --- a/code/modules/spells/spell_types/telepathy.dm +++ b/code/modules/spells/spell_types/telepathy.dm @@ -30,6 +30,7 @@ to_chat(user, "You transmit to [M]: [msg]") if(!M.anti_magic_check(magic_check, holy_check)) //hear no evil to_chat(M, "You hear something behind you talking... [msg]") + M.balloon_alert(M, "You hear a voice in your head...") for(var/ded in GLOB.dead_mob_list) if(!isobserver(ded)) continue From 3e76a3f98d440338d2f1964dd91edfc62256b884 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 16:30:58 -0600 Subject: [PATCH 16/20] Automatic changelog generation for PR #11870 [ci skip] --- html/changelogs/AutoChangeLog-pr-11870.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11870.yml diff --git a/html/changelogs/AutoChangeLog-pr-11870.yml b/html/changelogs/AutoChangeLog-pr-11870.yml new file mode 100644 index 0000000000000..99197414ad834 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11870.yml @@ -0,0 +1,4 @@ +author: Therealdoooc213 +delete-after: true +changes: + - tweak: Subtle messages, telepathy, and headset messages now show a balloon alert From d60fe7be30572d788fa7317dc8802405aa2b0ecb Mon Sep 17 00:00:00 2001 From: therealdoooc Date: Mon, 23 Dec 2024 06:33:53 +0800 Subject: [PATCH 17/20] Adds /obj/effect/warped_rune to the supply shuttle blacklist. (#12035) * okay * aaagh * empty commit ignore --- code/modules/shuttle/supply.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index b71fe9a568471..fa945412170d3 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -26,7 +26,8 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/item/hilbertshotel, /obj/item/swapper, /obj/item/mail, - /obj/docking_port + /obj/docking_port, + /obj/effect/warped_rune // no teleporting to cc for you ))) /obj/docking_port/mobile/supply From 684995d06230944f15cf8c2c2f9a449a5810d2f1 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 16:44:06 -0600 Subject: [PATCH 18/20] Automatic changelog generation for PR #12035 [ci skip] --- html/changelogs/AutoChangeLog-pr-12035.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12035.yml diff --git a/html/changelogs/AutoChangeLog-pr-12035.yml b/html/changelogs/AutoChangeLog-pr-12035.yml new file mode 100644 index 0000000000000..5f23322e2c48b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12035.yml @@ -0,0 +1,4 @@ +author: Therealdoooc213 +delete-after: true +changes: + - bugfix: you can no longer get to centcom with warped runes From 86b7cb1627cb869cfdb9187fe1721ddd33febe82 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Sun, 22 Dec 2024 23:03:25 +0000 Subject: [PATCH 19/20] Automatic changelog compile [ci skip] --- html/changelog.html | 5 +++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-11870.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12035.yml | 4 ---- 4 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-11870.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12035.yml diff --git a/html/changelog.html b/html/changelog.html index 53e7df93dd9ff..01a48c45e09d6 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -69,6 +69,11 @@

      PowerfulBacon updated:

      • Fixes echostation disposals resulting in random testing failures.
      +

      Therealdoooc213 updated:

      +
        +
      • Subtle messages, telepathy, and headset messages now show a balloon alert
      • +
      • you can no longer get to centcom with warped runes
      • +

      Tsar-Salat updated:

      • fixes segmented turf textures applying to nonsegmented turfs... very ugly...
      • diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 2bb8e5f0fb560..cc31079781f8b 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -45230,5 +45230,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: makes gym equipment constructable via the construction menu PowerfulBacon: - bugfix: Fixes echostation disposals resulting in random testing failures. + Therealdoooc213: + - tweak: Subtle messages, telepathy, and headset messages now show a balloon alert + - bugfix: you can no longer get to centcom with warped runes Tsar-Salat: - bugfix: fixes segmented turf textures applying to nonsegmented turfs... very ugly... diff --git a/html/changelogs/AutoChangeLog-pr-11870.yml b/html/changelogs/AutoChangeLog-pr-11870.yml deleted file mode 100644 index 99197414ad834..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-11870.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Therealdoooc213 -delete-after: true -changes: - - tweak: Subtle messages, telepathy, and headset messages now show a balloon alert diff --git a/html/changelogs/AutoChangeLog-pr-12035.yml b/html/changelogs/AutoChangeLog-pr-12035.yml deleted file mode 100644 index 5f23322e2c48b..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-12035.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Therealdoooc213 -delete-after: true -changes: - - bugfix: you can no longer get to centcom with warped runes From c10d71b849710a17394dc7a22b0e94d968d1a257 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Mon, 23 Dec 2024 00:14:09 +0000 Subject: [PATCH 20/20] Automatic changelog compile [ci skip] --- html/changelog.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index 01a48c45e09d6..12c1fe5607fb7 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -809,13 +809,6 @@

        ktlwjec updated:

        • Adds descriptions to chav and wacky genes.
        - -

        21 October 2024

        -

        Rukofamicom updated:

        -
          -
        • fixed a game-crashing bug with the syndicate explosive walls
        • -
        • fixed gibtonite rocks remaining behind after blowing up indefinitely
        • -
    GoonStation 13 Development Team