From 5497ee5bf5a9b9c40c1f927b8ab883de99ea54c1 Mon Sep 17 00:00:00 2001 From: XeonMations <62395746+XeonMations@users.noreply.github.com> Date: Thu, 25 Jul 2024 04:02:28 +0300 Subject: [PATCH 01/28] no more bugs (#11217) --- code/game/machinery/spaceheater.dm | 22 +++++++++++-------- .../circuitboards/machine_circuitboards.dm | 1 + 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 3ccb52f832fff..5df43092dea74 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -20,7 +20,7 @@ interacts_with_air = TRUE ///The cell we spawn with - var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell + var/obj/item/stock_parts/cell/cell = null ///Is the machine on? var/on = FALSE ///What is the mode we are in now? @@ -47,8 +47,6 @@ /obj/machinery/space_heater/Initialize(mapload) . = ..() - if(ispath(cell)) - cell = new cell(src) update_appearance() SSair.start_processing_machine(src) @@ -57,9 +55,6 @@ return..() /obj/machinery/space_heater/on_deconstruction() - if(cell) - LAZYADD(component_parts, cell) - cell = null return ..() /obj/machinery/space_heater/examine(mob/user) @@ -131,12 +126,15 @@ /obj/machinery/space_heater/RefreshParts() . = ..() + cell = null var/laser = 0 var/cap = 0 for(var/obj/item/stock_parts/micro_laser/M in component_parts) laser += M.rating for(var/obj/item/stock_parts/capacitor/M in component_parts) cap += M.rating + for(var/obj/item/stock_parts/cell/M in component_parts) + cell = M heating_power = (laser * 2) * 100000 settable_temperature_range = cap * 30 @@ -179,6 +177,7 @@ if(!user.transferItemToLoc(I, src)) return cell = I + component_parts.Add(I) I.add_fingerprint(usr) user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") SStgui.update_uis(src) @@ -270,11 +269,13 @@ settable_temperature_median + settable_temperature_range) if("eject") if(panel_open && cell) - cell.forceMove(drop_location()) cell = null + for(var/obj/item/stock_parts/cell/M in component_parts) + M.forceMove(drop_location()) + component_parts.Remove(M) . = TRUE -//Space Heaters without cel +//Space Heaters without a cell /obj/machinery/space_heater/no_cell cell = null @@ -287,7 +288,10 @@ /obj/machinery/space_heater/atmos /obj/machinery/space_heater/atmos/Initialize(mapload) - cell = /obj/item/stock_parts/cell/hyper + for(var/obj/item/stock_parts/cell/M in component_parts) + QDEL_NULL(M) + component_parts.Add(/obj/item/stock_parts/cell/hyper) + RefreshParts() . = ..() #undef HEATER_MODE_STANDBY diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index a7c762f3d1fbc..be38d3ff63d34 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -506,6 +506,7 @@ req_components = list( /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/cell = 1, /obj/item/stack/cable_coil = 3) needs_anchored = FALSE From 0b504d104899938384b40c06aa4eb184f3f1bb28 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Wed, 24 Jul 2024 20:12:13 -0500 Subject: [PATCH 02/28] Automatic changelog generation for PR #11217 [ci skip] --- html/changelogs/AutoChangeLog-pr-11217.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11217.yml diff --git a/html/changelogs/AutoChangeLog-pr-11217.yml b/html/changelogs/AutoChangeLog-pr-11217.yml new file mode 100644 index 0000000000000..be626df74de99 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11217.yml @@ -0,0 +1,4 @@ +author: XeonMations +delete-after: true +changes: + - bugfix: Fixed space heaters making power cells from the void. From 2bbc9ae1f1a3a896fd49f5219acea4db88f05ecf Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Thu, 25 Jul 2024 01:29:46 +0000 Subject: [PATCH 03/28] Automatic changelog compile [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 3 +++ html/changelogs/AutoChangeLog-pr-11217.yml | 4 ---- 3 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-11217.yml diff --git a/html/changelog.html b/html/changelog.html index 8d85358856f97..f20b9c5248c05 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,12 @@ -->
+

25 July 2024

+

XeonMations updated:

+
    +
  • Fixed space heaters making power cells from the void.
  • +
+

24 July 2024

Rukofamicom updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 4649cc68d1a21..26f03557cf0fa 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -43669,3 +43669,6 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Rukofamicom: - rscdel: Reverted most recent pirate changes so that a proper discussion can take place before rushing a major balance change to pirates. +2024-07-25: + XeonMations: + - bugfix: Fixed space heaters making power cells from the void. diff --git a/html/changelogs/AutoChangeLog-pr-11217.yml b/html/changelogs/AutoChangeLog-pr-11217.yml deleted file mode 100644 index be626df74de99..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-11217.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: XeonMations -delete-after: true -changes: - - bugfix: Fixed space heaters making power cells from the void. From 06b65f84babb1abf6e2bdd51647e2f79e6ece999 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Fri, 26 Jul 2024 00:11:45 +0000 Subject: [PATCH 04/28] Automatic changelog compile [ci skip] --- html/changelog.html | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/html/changelog.html b/html/changelog.html index f20b9c5248c05..c97638d2c937e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -610,27 +610,6 @@

    Bokkiewokkie updated:

  • Made it possible to disassemble pool ladders with wrenches and possible to build them with rods.
  • Fixed pool ladders being unanchored.
- -

24 May 2024

-

EvilDragonfiend updated:

-
    -
  • random maint spawner will spawn items correctly
  • -
-

PowerfulBacon updated:

-
    -
  • Immovable rods will no longer space the station.
  • -
-

rkz updated:

-
    -
  • fix clockwork armor error worn_states. No more pink drip
  • -
  • bows arent invisible anymore. The code is still ugly, sorry
  • -
  • Ion rifles have their emissivity back
  • -
  • added a bunch of error icons to clothing icon files. Less invisible stuff, more people wearing ugly stuff for them to report so it can be fixed <3
  • -
-

rkz, Rohesie updated:

-
    -
  • Made actions restraining/handcuffing a carbon into traits. Split into two.
  • -
GoonStation 13 Development Team From 782db77f55d279f141f9a70b14244677f0fe6a31 Mon Sep 17 00:00:00 2001 From: XeonMations <62395746+XeonMations@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:36:50 +0300 Subject: [PATCH 05/28] Fixed space dragon's gust ability hitting people through walls (#11121) * Update space_dragon.dm * stuffs * Update space_dragon.dm --- .../living/simple_animal/hostile/space_dragon.dm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 9b73ac41a7d3c..67350051038bf 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -60,7 +60,7 @@ /// A multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed. var/tiredness_mult = 1 /// The distance Space Dragon's gust reaches - var/gust_distance = 4 + var/gust_distance = 3 /// The amount of tiredness to add to Space Dragon per use of gust var/gust_tiredness = 30 /// Determines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions. @@ -414,13 +414,20 @@ overlay.appearance_flags = RESET_COLOR add_overlay(overlay) playsound(src, 'sound/effects/gravhit.ogg', 100, TRUE) - for (var/mob/living/candidate in view(gust_distance, src)) - if(candidate == src || candidate.faction_check_mob(src)) + var/list/candidates_flung = list() + for (var/turf/epicenter in view(1, usr.loc)) + if(istype(epicenter, /turf/closed)) //Gusts dont go through walls. continue + for (var/mob/living/mob in view(gust_distance, epicenter)) + if(mob == src || mob.faction_check_mob(src)) + continue + candidates_flung |= mob + + for(var/mob/living/candidate in candidates_flung) visible_message("[candidate] is knocked back by the gust!") to_chat(candidate, "You're knocked back by the gust!") var/dir_to_target = get_dir(get_turf(src), get_turf(candidate)) - var/throwtarget = get_edge_target_turf(target, dir_to_target) + var/throwtarget = get_edge_target_turf(candidate, dir_to_target) candidate.safe_throw_at(throwtarget, 10, 1, src) candidate.Paralyze(50) addtimer(CALLBACK(src, PROC_REF(reset_status)), 4 + ((tiredness * tiredness_mult) / 10)) From 3b9ef06cf3b1c9b5f5811b4c73b649ced32cd826 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Fri, 26 Jul 2024 07:46:25 -0500 Subject: [PATCH 06/28] Automatic changelog generation for PR #11121 [ci skip] --- html/changelogs/AutoChangeLog-pr-11121.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11121.yml diff --git a/html/changelogs/AutoChangeLog-pr-11121.yml b/html/changelogs/AutoChangeLog-pr-11121.yml new file mode 100644 index 0000000000000..63ecebd79ea51 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11121.yml @@ -0,0 +1,5 @@ +author: XeonMations +delete-after: true +changes: + - balance: Made the space dragon's gust ability no longer hit people through walls. + - bugfix: Also fixed a runtime happening with the space dragon's gust ability. From b13ff7a9bca01a153f8b9ee6f4891a6e0ce9e0ad Mon Sep 17 00:00:00 2001 From: XeonMations <62395746+XeonMations@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:42:09 +0300 Subject: [PATCH 07/28] Adds the ability to craft different types of lockers. (#11213) * done * done --- code/datums/components/crafting/recipes.dm | 11 +++++ .../stacks/sheets/mineral/metals_recipes.dm | 10 ++++- .../crates_lockers/closets/secure/personal.dm | 8 ++++ .../crates_lockers/closets/utility_closets.dm | 42 +++++++++++++++++++ .../crates_lockers/closets/wardrobe.dm | 8 ++++ 5 files changed, 78 insertions(+), 1 deletion(-) diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 45e38c49d5f95..1489651c899e3 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -1221,6 +1221,17 @@ tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) category = CAT_MISC +/datum/crafting_recipe/personal_locker + name = "Personal Locker" + result = /obj/structure/closet/secure_closet/personal/empty + time = 10 SECONDS + reqs = list(/obj/item/stack/sheet/iron = 2, + /obj/item/electronics/airlock = 1, + /obj/item/stack/cable_coil = 2 + ) + tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) + category = CAT_STRUCTURE + /datum/crafting_recipe/shutters name = "Shutters" reqs = list(/obj/item/stack/sheet/plasteel = 5, diff --git a/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm b/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm index 2be915d8e08b7..cbe052eba15c9 100644 --- a/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm +++ b/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm @@ -44,7 +44,15 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ )), null, \ new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ - new/datum/stack_recipe("closet", /obj/structure/closet, 2, one_per_turf = TRUE, on_floor = TRUE, time = 2 SECONDS), \ + new /datum/stack_recipe_list("closets", list( \ + new/datum/stack_recipe("closet", /obj/structure/closet, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("emergency closet", /obj/structure/closet/emcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("fire closet", /obj/structure/closet/radiation/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("radiation closet", /obj/structure/closet/firecloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("tool closet", /obj/structure/closet/toolcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("wardrobe closet", /obj/structure/closet/wardrobe/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("bomb closet", /obj/structure/closet/bombcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + )), null, \ new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ null, \ diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index d9bec0c8ba199..8399b04611cf1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -4,6 +4,14 @@ req_access = list(ACCESS_ALL_PERSONAL_LOCKERS) var/registered_name = null +/obj/structure/closet/secure_closet/personal/empty + desc = "It's a secure locker for personnel. The first card swiped gains control." + name = "personal closet" + req_access = list(ACCESS_ALL_PERSONAL_LOCKERS) + +/obj/structure/closet/secure_closet/personal/empty/PopulateContents() + return + /obj/structure/closet/secure_closet/personal/PopulateContents() ..() if(prob(50)) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 4af5206aba6e7..28be2cd91d92e 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -17,6 +17,14 @@ desc = "It's a storage unit for emergency breath masks and O2 tanks." icon_state = "emergency" +/obj/structure/closet/emcloset/empty + name = "emergency closet" + desc = "It's a storage unit for emergency breath masks and O2 tanks." + icon_state = "emergency" + +/obj/structure/closet/emcloset/empty/PopulateContents() + return + /obj/structure/closet/emcloset/anchored anchored = TRUE @@ -66,6 +74,14 @@ desc = "It's a storage unit for fire-fighting supplies." icon_state = "fire" +/obj/structure/closet/firecloset/empty + name = "fire-safety closet" + desc = "It's a storage unit for fire-fighting supplies." + icon_state = "fire" + +/obj/structure/closet/firecloset/empty/PopulateContents() + return + /obj/structure/closet/firecloset/PopulateContents() ..() @@ -92,6 +108,15 @@ icon_state = "eng" icon_door = "eng_tool" +/obj/structure/closet/toolcloset/empty + name = "tool closet" + desc = "It's a storage unit for tools." + icon_state = "eng" + icon_door = "eng_tool" + +/obj/structure/closet/toolcloset/empty/PopulateContents() + return + /obj/structure/closet/toolcloset/PopulateContents() ..() if(prob(40)) @@ -135,6 +160,15 @@ icon_state = "eng" icon_door = "eng_rad" +/obj/structure/closet/radiation/empty + name = "radiation suit closet" + desc = "It's a storage unit for rad-protective suits." + icon_state = "eng" + icon_door = "eng_rad" + +/obj/structure/closet/radiation/empty/PopulateContents() + return + /obj/structure/closet/radiation/PopulateContents() ..() new /obj/item/geiger_counter(src) @@ -153,6 +187,14 @@ desc = "It's a storage unit for explosion-protective suits." icon_state = "bomb" +/obj/structure/closet/bombcloset/empty + name = "\improper EOD closet" + desc = "It's a storage unit for explosion-protective suits." + icon_state = "bomb" + +/obj/structure/closet/bombcloset/empty/PopulateContents() + return + /obj/structure/closet/bombcloset/PopulateContents() ..() new /obj/item/clothing/suit/utility/bomb_suit(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index f83db4c4aabd9..824c549fbe094 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -3,6 +3,14 @@ desc = "It's a storage unit for standard-issue Nanotrasen attire." icon_door = "blue" +/obj/structure/closet/wardrobe/empty + name = "wardrobe" + desc = "It's a storage unit for standard-issue Nanotrasen attire." + icon_door = "blue" + +/obj/structure/closet/wardrobe/empty/PopulateContents() + return + /obj/structure/closet/wardrobe/PopulateContents() ..() for(var/i in 1 to 3) From 53f72dd3b6cfc9deb778c635e30e201a0e9bcbc2 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Fri, 26 Jul 2024 07:55:51 -0500 Subject: [PATCH 08/28] Automatic changelog generation for PR #11213 [ci skip] --- html/changelogs/AutoChangeLog-pr-11213.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-11213.yml diff --git a/html/changelogs/AutoChangeLog-pr-11213.yml b/html/changelogs/AutoChangeLog-pr-11213.yml new file mode 100644 index 0000000000000..6a24be5f0ccf0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11213.yml @@ -0,0 +1,4 @@ +author: XeonMations +delete-after: true +changes: + - rscadd: Added the ability for people to make different types of lockers From 620e12e9da96777be417bea4e036fa7a63f81096 Mon Sep 17 00:00:00 2001 From: ss13-beebot <56381746+ss13-beebot@users.noreply.github.com> Date: Fri, 26 Jul 2024 13:04:56 +0000 Subject: [PATCH 09/28] Automatic changelog compile [ci skip] --- html/changelog.html | 8 ++++++++ html/changelogs/.all_changelog.yml | 5 +++++ html/changelogs/AutoChangeLog-pr-11121.yml | 5 ----- html/changelogs/AutoChangeLog-pr-11213.yml | 4 ---- 4 files changed, 13 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-11121.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-11213.yml diff --git a/html/changelog.html b/html/changelog.html index c97638d2c937e..d284ac74ced8f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,14 @@ -->
+

26 July 2024

+

XeonMations updated:

+
    +
  • Made the space dragon's gust ability no longer hit people through walls.
  • +
  • Also fixed a runtime happening with the space dragon's gust ability.
  • +
  • Added the ability for people to make different types of lockers
  • +
+

25 July 2024

XeonMations updated: