From d3d2da52f9a6a2d8f4b47b6b9fd9c912ef0b69a8 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 4 May 2023 23:06:30 +0300 Subject: [PATCH] Damaged window and broken machine helpers (#75132) ## About The Pull Request Added a helper that makes it possible to spawn broken machines without var-editing. Removed the damaged reinforced window spawner and added a general damaged window helper working on any first window found on a tile. 2 1 ## Why It's Good For The Game Less var edits, better tools for mappers, more immersive ruins. ## Changelog :cl: qol: Mapping: Added broken machine map helper qol: Mapping: Replaced damaged window spawner with a universal helper /:cl: --- .../IceRuins/icemoon_surface_smoking_room.dmm | 3 +- .../SpaceRuins/dangerous_research.dmm | 9 +- .../RandomRuins/SpaceRuins/mimesvsclowns.dmm | 3 +- _maps/RandomRuins/SpaceRuins/waystation.dmm | 6 +- .../ruins/spaceruin_code/oldstation.dm | 12 --- code/modules/mapping/mapping_helpers.dm | 82 ++++++++++++++++++ icons/effects/mapping_helpers.dmi | Bin 22748 -> 23110 bytes .../Scripts/75132_damaged_windows.txt | 1 + 8 files changed, 97 insertions(+), 19 deletions(-) create mode 100644 tools/UpdatePaths/Scripts/75132_damaged_windows.txt diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm index 297685b06af..7d422677278 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm @@ -293,7 +293,8 @@ /turf/open/floor/carpet/blue, /area/ruin/smoking_room/room) "X" = ( -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /turf/open/floor/wood, /area/ruin/smoking_room/house) "Z" = ( diff --git a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm index ef84c020255..1900de44f14 100644 --- a/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm +++ b/_maps/RandomRuins/SpaceRuins/dangerous_research.dmm @@ -1695,7 +1695,8 @@ /turf/open/floor/iron/white, /area/ruin/space/has_grav/dangerous_research/medical) "vv" = ( -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /turf/open/floor/plating, /area/ruin/space/has_grav/dangerous_research/lab) "vz" = ( @@ -2728,7 +2729,8 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/dangerous_research/lab) "Jh" = ( -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /turf/open/floor/plating, /area/ruin/space/has_grav/dangerous_research/medical) "JA" = ( @@ -3265,7 +3267,8 @@ /turf/open/floor/iron/white, /area/ruin/space/has_grav/dangerous_research/medical) "Qt" = ( -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /obj/effect/decal/cleanable/blood/splatter/over_window, /turf/open/floor/plating, /area/ruin/space/has_grav/dangerous_research/lab) diff --git a/_maps/RandomRuins/SpaceRuins/mimesvsclowns.dmm b/_maps/RandomRuins/SpaceRuins/mimesvsclowns.dmm index 6ee3692c959..fd4bf0a5ab1 100644 --- a/_maps/RandomRuins/SpaceRuins/mimesvsclowns.dmm +++ b/_maps/RandomRuins/SpaceRuins/mimesvsclowns.dmm @@ -270,7 +270,8 @@ /area/ruin) "Vj" = ( /obj/structure/grille, -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /obj/effect/decal/cleanable/blood/splatter/over_window, /turf/template_noop, /area/ruin) diff --git a/_maps/RandomRuins/SpaceRuins/waystation.dmm b/_maps/RandomRuins/SpaceRuins/waystation.dmm index 696e38df2de..d1dd7bd5b52 100644 --- a/_maps/RandomRuins/SpaceRuins/waystation.dmm +++ b/_maps/RandomRuins/SpaceRuins/waystation.dmm @@ -542,7 +542,8 @@ /area/ruin/space/has_grav/waystation/cargooffice) "jv" = ( /obj/structure/grille, -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /turf/open/floor/iron, /area/ruin/space/has_grav/waystation/cargooffice) "jy" = ( @@ -2578,7 +2579,8 @@ /area/ruin/space/has_grav/waystation/dorms) "SL" = ( /obj/structure/grille, -/obj/effect/spawner/structure/window/reinforced/damaged, +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/mapping_helpers/damaged_window, /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/blood/splatter/over_window, /turf/open/floor/iron, diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm b/code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm index 61f343a45ef..f0aa7009668 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation.dm @@ -208,18 +208,6 @@ return open_machine() -/obj/effect/spawner/structure/window/reinforced/damaged - name = "damaged reinforced window spawner" - spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile/damaged) - -/obj/structure/window/reinforced/fulltile/damaged - var/integrity_min_factor = 0.2 - var/integrity_max_factor = 0.8 - -/obj/structure/window/reinforced/fulltile/damaged/Initialize(mapload) - . = ..() - atom_integrity = rand(max_integrity * integrity_min_factor, max_integrity * integrity_max_factor) - /obj/item/petri_dish/oldstation name = "molly's biopsy" desc = "You can see a moldy piece of sandwich inside the dish. Maybe it helped to preserve the bacteria for that long." diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 1afff92ee8f..6415b4c2d7e 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -1137,3 +1137,85 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) var/turf/open/floor/floor = get_turf(src) floor.burn_tile() qdel(src) + +///Applies BROKEN flag to the first found machine on a tile +/obj/effect/mapping_helpers/broken_machine + name = "broken machine helper" + icon_state = "broken_machine" + layer = ABOVE_OBJ_LAYER + late = TRUE + +/obj/effect/mapping_helpers/broken_machine/Initialize(mapload) + . = ..() + if(!mapload) + log_mapping("[src] spawned outside of mapload!") + return INITIALIZE_HINT_QDEL + + var/obj/machinery/target = locate(/obj/machinery) in loc + if(isnull(target)) + var/area/target_area = get_area(target) + log_mapping("[src] failed to find a machine at [AREACOORD(src)] ([target_area.type]).") + else + payload(target) + + return INITIALIZE_HINT_LATELOAD + +/obj/effect/mapping_helpers/broken_machine/LateInitialize() + . = ..() + var/obj/machinery/target = locate(/obj/machinery) in loc + + if(isnull(target)) + qdel(src) + return + + target.update_appearance() + qdel(src) + +/obj/effect/mapping_helpers/broken_machine/proc/payload(obj/machinery/airalarm/target) + if(target.machine_stat & BROKEN) + var/area/area = get_area(target) + log_mapping("[src] at [AREACOORD(src)] [(area.type)] tried to break [target] but it's already broken!") + target.set_machine_stat(target.machine_stat | BROKEN) + +///Deals random damage to the first window found on a tile to appear cracked +/obj/effect/mapping_helpers/damaged_window + name = "damaged window helper" + icon_state = "damaged_window" + layer = ABOVE_OBJ_LAYER + late = TRUE + /// Minimum roll of integrity damage in percents + var/integrity_min_factor = 0.2 + /// Maximum roll of integrity damage in percents + var/integrity_max_factor = 0.8 + +/obj/effect/mapping_helpers/damaged_window/Initialize(mapload) + . = ..() + if(!mapload) + log_mapping("[src] spawned outside of mapload!") + return INITIALIZE_HINT_QDEL + + var/obj/structure/window/target = locate(/obj/structure/window) in loc + if(isnull(target)) + var/area/target_area = get_area(target) + log_mapping("[src] failed to find a window at [AREACOORD(src)] ([target_area.type]).") + else + payload(target) + + return INITIALIZE_HINT_LATELOAD + +/obj/effect/mapping_helpers/damaged_window/LateInitialize() + . = ..() + var/obj/structure/window/target = locate(/obj/structure/window) in loc + + if(isnull(target)) + qdel(src) + return + + target.update_appearance() + qdel(src) + +/obj/effect/mapping_helpers/damaged_window/proc/payload(obj/structure/window/target) + if(target.get_integrity() < target.max_integrity) + var/area/area = get_area(target) + log_mapping("[src] at [AREACOORD(src)] [(area.type)] tried to damage [target] but it's already damaged!") + target.take_damage(rand(target.max_integrity * integrity_min_factor, target.max_integrity * integrity_max_factor)) diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index ef06694acb9dc360a8c8d06a8cf4969d960694fc..32f37cfdad58a63c57319db25763b6085ea9064e 100644 GIT binary patch delta 22835 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 literal 22748 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 diff --git a/tools/UpdatePaths/Scripts/75132_damaged_windows.txt b/tools/UpdatePaths/Scripts/75132_damaged_windows.txt new file mode 100644 index 00000000000..f3a1b04225b --- /dev/null +++ b/tools/UpdatePaths/Scripts/75132_damaged_windows.txt @@ -0,0 +1 @@ +/obj/effect/spawner/structure/window/reinforced/damaged : /obj/effect/spawner/structure/window/reinforced{@OLD}, /obj/effect/mapping_helpers/damaged_window