diff --git a/_maps/RandomRuins/JungleRuins/jungleland_swamp_syndicatestation.dmm b/_maps/RandomRuins/JungleRuins/jungleland_swamp_syndicatestation.dmm index bc0f035abf4c..8fe76e9b7881 100644 --- a/_maps/RandomRuins/JungleRuins/jungleland_swamp_syndicatestation.dmm +++ b/_maps/RandomRuins/JungleRuins/jungleland_swamp_syndicatestation.dmm @@ -3359,7 +3359,7 @@ /turf/open/floor/engine/plasma, /area/ruin/powered/syndicate_lava_base/engineering) "Fi" = ( -/turf/open/water/deep_toxic_pit, +/turf/open/water/toxic_pit/deep, /area/jungleland/toxic_pit) "Fl" = ( /obj/effect/turf_decal/siding/brown, @@ -5631,7 +5631,7 @@ /area/ruin/powered/syndicate_lava_base/cargo) "ZW" = ( /obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/deep_toxic_pit, +/turf/open/water/toxic_pit/deep, /area/jungleland/toxic_pit) "ZX" = ( /obj/effect/turf_decal/siding/blue{ diff --git a/_maps/map_files/mining/Jungleland.dmm b/_maps/map_files/mining/Jungleland.dmm index c721ec19cbc0..a0aa18255ed2 100644 --- a/_maps/map_files/mining/Jungleland.dmm +++ b/_maps/map_files/mining/Jungleland.dmm @@ -233,7 +233,7 @@ /turf/closed/wall, /area/mine/laborcamp) "gg" = ( -/turf/open/water/deep_toxic_pit, +/turf/open/water/toxic_pit/deep, /area/jungleland/explored) "gh" = ( /obj/machinery/door/airlock/security/glass{ @@ -1162,7 +1162,7 @@ /turf/open/floor/plating/dirt/jungleland/dry_swamp, /area/jungleland/explored) "LE" = ( -/turf/open/water/deep_toxic_pit, +/turf/open/water/toxic_pit/deep, /area/jungleland/ocean) "LM" = ( /obj/structure/ore_box, diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 77eb35ab2e23..a620f93d200e 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -229,7 +229,7 @@ /turf/open/lava, /turf/open/indestructible, /turf/open/water/toxic_pit, - /turf/open/water/deep_toxic_pit, + /turf/open/water/toxic_pit/deep, /turf/open/water/tar_basin, )) - typecacheof(list( /turf/closed/mineral, diff --git a/code/modules/mining/shelters.dm b/code/modules/mining/shelters.dm index d5141dad9f53..3e9bd4ca7e7b 100644 --- a/code/modules/mining/shelters.dm +++ b/code/modules/mining/shelters.dm @@ -8,7 +8,7 @@ /datum/map_template/shelter/New() . = ..() - blacklisted_turfs = typecacheof(/turf/closed, /turf/open/lava/smooth/lava_land_surface/no_shelter,/turf/open/water/deep_toxic_pit) + blacklisted_turfs = typecacheof(/turf/closed, /turf/open/lava/smooth/lava_land_surface/no_shelter,/turf/open/water/toxic_pit/deep) whitelisted_turfs = list() banned_areas = typecacheof(/area/shuttle) banned_objects = list() diff --git a/yogstation/code/modules/jungleland/jungle_turfs.dm b/yogstation/code/modules/jungleland/jungle_turfs.dm index 0799dcbdfc3b..a6df57000a65 100644 --- a/yogstation/code/modules/jungleland/jungle_turfs.dm +++ b/yogstation/code/modules/jungleland/jungle_turfs.dm @@ -194,18 +194,31 @@ Temperature: 126.85 °C (400 K) initial_gas_mix = JUNGLELAND_DEFAULT_ATMOS planetary_atmos = TRUE baseturfs = /turf/open/water/toxic_pit + ///multiplier for the strength of the toxicity, multiplies basically every damage value and damage probability + var/acid_strength = 1 /turf/open/water/toxic_pit/Initialize(mapload) . = ..() AddComponent(/datum/component/lingering, CALLBACK(src, PROC_REF(toxic_stuff)), GLOB.lavasafeties) /turf/open/water/toxic_pit/proc/toxic_stuff(thing, delta_time) - if (isliving(thing)) //objects are unaffected for now + if(isobj(thing)) + var/obj/O = thing + if((O.resistance_flags & (UNACIDABLE|INDESTRUCTIBLE)) || O.throwing) + return + . = TRUE + O.acid_act(5 * acid_strength, 7.5 * acid_strength) + + else if (isliving(thing)) . = TRUE var/mob/living/L = thing - if(L.movement_type & (FLYING|FLOATING)) - return //YOU'RE FLYING OVER IT - if(HAS_TRAIT(L,TRAIT_SULPH_PIT_IMMUNE)) + if(WEATHER_ACID in L.weather_immunities) //if they're immune to acid weather + return + if(L.movement_type & (FLYING|FLOATING)) //YOU'RE FLYING OVER IT + return + if(!L.has_gravity()) //you don't have gravity somehow and as such can walk on water i guess + return + if(HAS_TRAIT(L,TRAIT_SULPH_PIT_IMMUNE)) //just straight up immune return var/buckle_check = L.buckling if(!buckle_check) @@ -216,6 +229,8 @@ Temperature: 126.85 °C (400 K) return else if(isliving(buckle_check)) var/mob/living/live = buckle_check + if(WEATHER_ACID in live.weather_immunities) + return if(live.movement_type & (FLYING|FLOATING)) return if(HAS_TRAIT(live, TRAIT_SULPH_PIT_IMMUNE)) @@ -223,23 +238,23 @@ Temperature: 126.85 °C (400 K) if(ishuman(L)) var/mob/living/carbon/human/humie = L - var/chance = (100 - humie.getarmor(null,BIO)) * 0.33 + var/chance = ((100 - humie.getarmor(null,BIO)) * 0.33) * acid_strength if(isipc(humie) && prob(chance)) - humie.adjustFireLoss(15) + humie.adjustFireLoss(15 * acid_strength) to_chat(humie,span_danger("The sulphuric solution burns and singes into your plating!")) return if(prob((chance * 0.5) + 10)) - humie.acid_act(15,15) + humie.acid_act(15 * acid_strength, 15 * acid_strength) if(HAS_TRAIT(L,TRAIT_TOXIMMUNE) || HAS_TRAIT(L,TRAIT_TOXINLOVER)) return - humie.reagents.add_reagent(/datum/reagent/toxic_metabolities, 2) + humie.reagents.add_reagent(/datum/reagent/toxic_metabolities, 2 * acid_strength) - else if(prob(25)) - L.acid_act(5,7.5) + else if(prob(25 * acid_strength)) + L.acid_act(5 * acid_strength, 7.5 * acid_strength) /turf/open/water/toxic_pit/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.construction_mode) @@ -258,14 +273,13 @@ Temperature: 126.85 °C (400 K) /turf/open/water/safe/jungle initial_gas_mix = JUNGLELAND_DEFAULT_ATMOS -/turf/open/water/deep_toxic_pit +/turf/open/water/toxic_pit/deep name = "deep sulphuric pit" desc = "Extraordinarily toxic." color = "#004700" slowdown = 4 - initial_gas_mix = JUNGLELAND_DEFAULT_ATMOS - planetary_atmos = TRUE - baseturfs = /turf/open/water/deep_toxic_pit + baseturfs = /turf/open/water/toxic_pit/deep + acid_strength = 2 /turf/open/floor/wood/jungle initial_gas_mix = JUNGLELAND_DEFAULT_ATMOS @@ -359,4 +373,4 @@ Temperature: 126.85 °C (400 K) /turf/open/lava/smooth/jungle_surface initial_gas_mix = JUNGLELAND_DEFAULT_ATMOS planetary_atmos = TRUE - baseturfs = /turf/open/lava/smooth/jungle_surface \ No newline at end of file + baseturfs = /turf/open/lava/smooth/jungle_surface