From 5ebfb59d195d7d33d4cb73f90c636f45c67f6487 Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 1 Mar 2026 15:00:15 +0100 Subject: [PATCH 1/2] Remove wallrot --- cev_eris.dme | 1 - code/game/gamemodes/events/wallrot.dm | 87 ----------------------- code/game/turfs/simulated/wall_attacks.dm | 10 --- code/game/turfs/simulated/walls.dm | 6 -- code/modules/reagents/reagents/toxins.dm | 9 --- 5 files changed, 113 deletions(-) delete mode 100644 code/game/gamemodes/events/wallrot.dm diff --git a/cev_eris.dme b/cev_eris.dme index 06c429b6456..0a980ba4a73 100644 --- a/cev_eris.dme +++ b/cev_eris.dme @@ -719,7 +719,6 @@ #include "code\game\gamemodes\events\spacevine.dm" #include "code\game\gamemodes\events\spider_infestation.dm" #include "code\game\gamemodes\events\supply_pod.dm" -#include "code\game\gamemodes\events\wallrot.dm" #include "code\game\gamemodes\events\weather.dm" #include "code\game\gamemodes\events\wormholes.dm" #include "code\game\gamemodes\events\hidden_events\bluespace_crystal_infestation.dm" diff --git a/code/game/gamemodes/events/wallrot.dm b/code/game/gamemodes/events/wallrot.dm deleted file mode 100644 index 241983471b1..00000000000 --- a/code/game/gamemodes/events/wallrot.dm +++ /dev/null @@ -1,87 +0,0 @@ -/* - Wall rot causes a corrosive fungus to grow on walls,wearing them down until they eventually become - weak enough to break with bare hands. This can be useful to people trying to get more access around - the ship, or to break into sensitive areas. Or even to escape maintenance pits - - It is not marked negative due to this possible advantage -*/ -/datum/storyevent/wallrot - id = "wallrot" - name = "wallrot" - - - event_type = /datum/event/wallrot - event_pools = list(EVENT_LEVEL_MUNDANE = POOL_THRESHOLD_MUNDANE *0.8) - tags = list(TAG_DESTRUCTIVE) - -//---------------------------------------- - -/datum/event/wallrot/setup() - announceWhen = rand(0, 300) - endWhen = announceWhen + 1 - -/datum/event/wallrot/announce() - var/new_sound = pick('sound/AI/fungi.ogg', 'sound/AI/funguy.ogg', 'sound/AI/fun_guy.ogg', 'sound/AI/fun_gi.ogg') - priority_announce("Harmful fungi detected on ship. ship structures may be contaminated.", "Biohazard Alert", new_sound) - -/datum/event/wallrot/start() - set waitfor = FALSE - - var/turf/wall/center = null - - // 100 attempts - for(var/i = 0; i < 100; i++) - var/turf/candidate = locate(rand(1, world.maxx), rand(1, world.maxy), pick(GLOB.maps_data.station_levels)) - if(istype(candidate, /turf/wall)) - center = candidate //If necessary we'll settle for any wall - var/area/A = get_area(center) - if (!istype(A, /area/eris/maintenance)) //But ideally we want a wall that's not in maintenance, so players are likely to see it - //We'll keep going til we find a wall that isnt in maint - break - - if(center) - // Make sure at least one piece of wall rots! - center.rot() - - // Have a chance to rot lots of other walls. - var/rotcount = 0 - var/actual_severity = rand(30, 60) - for(var/turf/wall/W in RANGE_TURFS(14, center)) - if(prob(25)) - W.rot() - rotcount++ - - // Only rot up to severity walls - if(rotcount >= actual_severity) - break - - message_admins("Wallrot has spread from ([jumplink(center)])", 0, 1) - - - else - message_admins("Wallrot failed to find a starting point", 0, 1) - - - -// Wall-rot effect, a nasty fungus that destroys walls. -/turf/wall/proc/rot() - if(locate(/obj/effect/overlay/wallrot) in src) - return - var/number_rots = rand(2,3) - for(var/i = 0; i < number_rots; i++) - new/obj/effect/overlay/wallrot(src) - - -/obj/effect/overlay/wallrot - name = "wallrot" - desc = "Ick..." - icon = 'icons/effects/wallrot.dmi' - anchored = TRUE - density = TRUE - layer = 5 - mouse_opacity = 0 - -/obj/effect/overlay/wallrot/New() - ..() - pixel_x += rand(-10, 10) - pixel_y += rand(-10, 10) diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index 31b77519e04..df01766f446 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -144,12 +144,6 @@ to_chat(user, span_notice("You ignite the thermite!")) thermitemelt(user) - else if(locate(/obj/effect/overlay/wallrot) in src) - if(I.use_tool(user, src, WORKTIME_FAST, tool_type, FAILCHANCE_NORMAL, required_stat = STAT_MEC)) - to_chat(user, span_notice("You burn away the fungi.")) - for(var/obj/effect/overlay/wallrot/wallrot in src) - qdel(wallrot) - else if(deconstruction_steps_left == 1) // Finishing deconstruction if(I.use_tool(user, src, WORKTIME_SLOW, tool_type, FAILCHANCE_NORMAL, required_stat = STAT_MEC)) to_chat(user, span_notice("You dismantle the [src].")) @@ -236,10 +230,6 @@ add_fingerprint(user) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.do_attack_animation(src) - if(locate(/obj/effect/overlay/wallrot) in src) - to_chat(user, span_danger("The wall crumbles under your touch!")) - dismantle_wall(user) - return if(window_type) if(user.a_intent == I_HURT) user.animate_interact(src, INTERACT_HARM) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 3263fde1928..a933524aa25 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -243,8 +243,6 @@ /turf/wall/ChangeTurf(new_turf_type, force_lighting_update) - for(var/obj/effect/overlay/wallrot/WR in src) - qdel(WR) for(var/obj/effect/plant/plant in range(src, 1)) if(plant.wall_mount == src) //shrooms drop to the floor qdel(plant) @@ -287,10 +285,6 @@ else extra_description += span_notice("\nYou can dismantle this wall by welding.") - if(locate(/obj/effect/overlay/wallrot) in src) - extra_description += span_warning("\nThere is a corrosive fungus growing on it, one touch and entire wall will crumble.") - extra_description += span_warning("\nDirectly applying heat will remove the fungus.") - if(window_type) var/material/glass/window_material = get_material_by_name(window_type) if(window_material && window_material.display_name) diff --git a/code/modules/reagents/reagents/toxins.dm b/code/modules/reagents/reagents/toxins.dm index c5e94b20c9e..c9ebb973865 100644 --- a/code/modules/reagents/reagents/toxins.dm +++ b/code/modules/reagents/reagents/toxins.dm @@ -260,15 +260,6 @@ color = "#49002E" strength = 0.4 -/datum/reagent/toxin/plantbgone/touch_turf(turf/T) - if(istype(T, /turf/wall)) - var/turf/wall/W = T - if(locate(/obj/effect/overlay/wallrot) in W) - for(var/obj/effect/overlay/wallrot/E in W) - qdel(E) - W.visible_message(span_notice("The fungi are completely dissolved by the solution!")) - return TRUE - /datum/reagent/toxin/plantbgone/touch_obj(obj/O, volume) if(istype(O, /obj/effect/plant) && !istype(O, /obj/effect/plant/hivemind)) qdel(O) From 6afc156d989c0b8841cc9e675439515f4d733fe0 Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 1 Mar 2026 15:02:44 +0100 Subject: [PATCH 2/2] oof i missed one --- code/game/turfs/simulated/walls.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index a933524aa25..68c9ebde7ec 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -321,8 +321,7 @@ return if(damage < 1) return - if(locate(/obj/effect/overlay/wallrot) in src) - damage *= 10 + . = min(health, damage) health -= damage if(health <= 0)