From ed7f4b9e75da8278e4bfb7556e5191bc0eb0263f Mon Sep 17 00:00:00 2001 From: Sym Date: Sat, 14 Aug 2021 10:49:44 -0400 Subject: [PATCH] Fixes corrosive acid, makes most important things unacidable Makes pretty much anything important to the crew unacidable, fixes how acid interacts with floors. --- code/ATMOSPHERICS/atmospherics.dm | 3 ++- .../components/binary_devices/circulator.dm | 1 + code/game/machinery/OpTable.dm | 1 + code/game/machinery/Sleeper.dm | 2 ++ code/game/machinery/adv_med.dm | 2 ++ code/game/machinery/air_alarm.dm | 1 + code/game/machinery/computer/ai_core.dm | 1 + code/game/machinery/computer/computer.dm | 1 + code/game/machinery/cryopod.dm | 1 + code/game/machinery/fire_alarm.dm | 1 + code/game/machinery/pipe/pipe_dispenser.dm | 1 + code/game/machinery/rechargestation.dm | 1 + code/game/machinery/status_display.dm | 1 + code/game/machinery/telecomms/telecomunications.dm | 1 + code/game/machinery/turret_control.dm | 1 + code/game/mecha/mech_prosthetics.dm | 1 + code/game/objects/effects/alien/aliens.dm | 8 ++++++-- code/game/objects/items/devices/defib.dm | 1 + code/game/objects/structures/alien/alien.dm | 1 + code/game/objects/structures/cliff.dm | 1 + code/game/objects/structures/ghost_pods/ghost_pods.dm | 1 + code/game/objects/structures/loot_piles.dm | 1 + code/game/objects/structures/morgue.dm | 1 + code/game/objects/structures/stasis_cage.dm | 1 + .../structures/stool_bed_chair_nest/alien_nests.dm | 1 + code/game/shuttle_engines.dm | 1 + code/game/turfs/flooring/flooring.dm | 4 ++-- code/game/turfs/simulated/floor_types.dm | 1 + code/game/turfs/simulated/lava.dm | 1 + code/game/turfs/simulated/water.dm | 1 + code/game/turfs/space/space.dm | 2 +- code/game/turfs/unsimulated.dm | 1 + code/modules/awaymissions/gateway.dm | 1 + code/modules/economy/vending.dm | 1 + code/modules/food/kitchen/gibber.dm | 1 + code/modules/food/kitchen/microwave.dm | 1 + code/modules/holodeck/HolodeckObjects.dm | 7 +++++++ code/modules/hydroponics/trays/tray.dm | 1 + code/modules/looking_glass/lg_turfs.dm | 1 + code/modules/materials/materials/glass.dm | 1 + code/modules/materials/materials/metals/hull.dm | 5 +++++ code/modules/materials/materials/supermatter.dm | 1 + .../carbon/human/species/xenomorphs/alien_powers.dm | 11 +++++------ code/modules/multiz/stairs.dm | 1 + code/modules/nifsoft/nif.dm | 1 + code/modules/power/apc.dm | 1 + code/modules/power/breaker_box.dm | 1 + code/modules/power/cable.dm | 1 + code/modules/power/generator.dm | 1 + code/modules/power/gravitygenerator_vr.dm | 1 + code/modules/power/singularity/emitter.dm | 1 + code/modules/power/smes.dm | 1 + code/modules/power/solar.dm | 1 + code/modules/power/supermatter/supermatter.dm | 1 + code/modules/projectiles/guns/energy/laser.dm | 1 + code/modules/reagents/machinery/chem_master.dm | 1 + .../reagents/machinery/dispenser/dispenser2.dm | 1 + code/modules/recycling/disposal.dm | 1 + code/modules/research/message_server.dm | 2 ++ code/modules/shuttles/escape_pods.dm | 1 + code/modules/turbolift/turbolift_door.dm | 1 + 61 files changed, 85 insertions(+), 12 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 093a8e544d..a5e1563972 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -16,7 +16,8 @@ Pipelines + Other Objects -> Pipe network power_channel = ENVIRON var/nodealert = 0 var/power_rating //the maximum amount of power the machine can use to do work, affects how powerful the machine is, in Watts - + + unacidable = TRUE layer = ATMOS_LAYER plane = PLATING_PLANE diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 5291627786..c5fe955523 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/power.dmi' icon_state = "circ-unassembled" anchored = FALSE + unacidable = TRUE pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF var/kinetic_efficiency = 0.04 //combined kinetic and kinetic-to-electric efficiency diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 228857a2dc..9a5eb65ba6 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -5,6 +5,7 @@ icon_state = "table2-idle" density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 1 active_power_usage = 5 diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index c3be1bbf46..b785a42639 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -6,6 +6,7 @@ var/obj/machinery/sleeper/sleeper anchored = TRUE //About time someone fixed this. density = TRUE //VOREStation Edit - Big console + unacidable = TRUE dir = 8 use_power = USE_POWER_IDLE idle_power_usage = 40 @@ -89,6 +90,7 @@ icon_state = "sleeper_0" density = TRUE anchored = TRUE + unacidable = TRUE circuit = /obj/item/weapon/circuitboard/sleeper var/mob/living/carbon/human/occupant = null var/list/available_chemicals = list() diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index bd8edfcd8a..c2170d5b7b 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -8,6 +8,7 @@ icon_state = "body_scanner_0" density = TRUE anchored = TRUE + unacidable = TRUE circuit = /obj/item/weapon/circuitboard/body_scanner use_power = USE_POWER_IDLE idle_power_usage = 60 @@ -547,6 +548,7 @@ dir = 8 density = FALSE anchored = TRUE + unacidable = TRUE circuit = /obj/item/weapon/circuitboard/scanner_console var/printing = null diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 6983be8b75..dd653d746a 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -36,6 +36,7 @@ layer = ABOVE_WINDOW_LAYER vis_flags = VIS_HIDE // They have an emissive that looks bad in openspace due to their wall-mounted nature anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 80 active_power_usage = 1000 //For heating/cooling rooms. 1000 joules equates to about 1 degree every 2 seconds for a single tile of air. diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index cef5e15e06..f723cc5acc 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -1,6 +1,7 @@ /obj/structure/AIcore density = TRUE anchored = FALSE + unacidable = TRUE name = "\improper AI core" icon = 'icons/mob/AI.dmi' icon_state = "0" diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index d6847d7cf4..60935a8472 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -4,6 +4,7 @@ icon_state = "computer" density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 300 active_power_usage = 300 diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 19ae206605..78f8569cb4 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -194,6 +194,7 @@ icon_state = "cryopod_0" //VOREStation Edit - New Icon density = TRUE anchored = TRUE + unacidable = TRUE dir = WEST var/base_icon_state = "cryopod_0" //VOREStation Edit - New Icon diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm index d8d3fde222..a7e0da37f6 100644 --- a/code/game/machinery/fire_alarm.dm +++ b/code/game/machinery/fire_alarm.dm @@ -15,6 +15,7 @@ FIRE ALARM var/timing = 0.0 var/lockdownbyai = 0 anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 6 diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 0b4d054858..8827dc8782 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -5,6 +5,7 @@ icon_state = "pipe_d" density = TRUE anchored = TRUE + unacidable = TRUE var/unwrenched = 0 var/wait = 0 var/p_layer = PIPING_LAYER_REGULAR diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index de35add336..a1d44b9838 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -5,6 +5,7 @@ icon_state = "borgcharger0" density = TRUE anchored = TRUE + unacidable = TRUE circuit = /obj/item/weapon/circuitboard/recharge_station use_power = USE_POWER_IDLE idle_power_usage = 50 diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index bc7c4fcebe..d1db08374a 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -17,6 +17,7 @@ name = "status display" anchored = TRUE density = FALSE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 10 circuit = /obj/item/weapon/circuitboard/status_display diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 654f0598c6..784a752bda 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -17,6 +17,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() /obj/machinery/telecomms icon = 'icons/obj/stationobjs_vr.dmi' //VOREStation Add + unacidable = TRUE var/list/links = list() // list of machines this machine is linked to var/traffic = 0 // value increases as traffic increases var/netspeed = 5 // how much traffic to lose per tick (50 gigabytes/second * netspeed) diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 3477eaea5a..b5468fed4d 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -13,6 +13,7 @@ icon_state = "control_standby" anchored = TRUE density = FALSE + unacidable = TRUE var/enabled = FALSE var/lethal = FALSE var/lethal_is_configurable = TRUE diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index d88b9585d5..3be1fdeec7 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -5,6 +5,7 @@ desc = "A machine used for construction of prosthetics." density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 5000 diff --git a/code/game/objects/effects/alien/aliens.dm b/code/game/objects/effects/alien/aliens.dm index 50ad6ec250..d764ef2a40 100644 --- a/code/game/objects/effects/alien/aliens.dm +++ b/code/game/objects/effects/alien/aliens.dm @@ -164,6 +164,7 @@ icon_state = "weeds" anchored = TRUE density = FALSE + unacidable = TRUE plane = TURF_PLANE layer = ABOVE_TURF_LAYER @@ -402,10 +403,13 @@ for(var/mob/O in hearers(src, null)) O.show_message("[src.target] collapses under its own weight into a puddle of goop and undigested debris!", 1) - if(istype(target, /turf/simulated/wall)) // I hate turf code. + if(iswall(target)) //Gurgs : Spruced up corrosive acid var/turf/simulated/wall/W = target W.dismantle_wall(1) - else + if(isfloor(target)) + var/turf/simulated/floor/T = target + T.ex_act(1) + else if(isobj(target)) qdel(target) qdel(src) return diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm index 90783c803c..160e337cea 100644 --- a/code/game/objects/items/devices/defib.dm +++ b/code/game/objects/items/devices/defib.dm @@ -13,6 +13,7 @@ throwforce = 6 preserve_item = 1 w_class = ITEMSIZE_LARGE + unacidable = TRUE origin_tech = list(TECH_BIO = 4, TECH_POWER = 2) action_button_name = "Remove/Replace Paddles" diff --git a/code/game/objects/structures/alien/alien.dm b/code/game/objects/structures/alien/alien.dm index 31a609e5a5..6aa1ec5060 100644 --- a/code/game/objects/structures/alien/alien.dm +++ b/code/game/objects/structures/alien/alien.dm @@ -4,6 +4,7 @@ icon = 'icons/mob/alien.dmi' layer = ABOVE_JUNK_LAYER var/health = 50 + unacidable = TRUE /obj/structure/alien/proc/healthcheck() if(health <=0) diff --git a/code/game/objects/structures/cliff.dm b/code/game/objects/structures/cliff.dm index 10413e3424..9ee6570247 100644 --- a/code/game/objects/structures/cliff.dm +++ b/code/game/objects/structures/cliff.dm @@ -33,6 +33,7 @@ two tiles on initialization, and which way a cliff is facing may change during m opacity = FALSE climbable = TRUE climb_delay = 10 SECONDS + unacidable = TRUE block_turf_edges = TRUE // Don't want turf edges popping up from the cliff edge. plane = TURF_PLANE diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm index f5b7756485..c77e00e13e 100644 --- a/code/game/objects/structures/ghost_pods/ghost_pods.dm +++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm @@ -8,6 +8,7 @@ var/used = FALSE var/busy = FALSE // Don't spam ghosts by spamclicking. var/needscharger //For drone pods that want their pod to turn into a charger. + unacidable = TRUE // Call this to get a ghost volunteer. /obj/structure/ghost_pod/proc/trigger(var/alert, var/adminalert) diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index 4443fb6da3..a0737da55c 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -21,6 +21,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh icon_state = "randompile" density = FALSE anchored = TRUE + unacidable = TRUE var/list/icon_states_to_use = list() // List of icon states the pile can choose from on initialization. If empty or null, it will stay the initial icon_state. diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 5d9ddb65e6..6e1e8edf89 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -20,6 +20,7 @@ var/obj/structure/m_tray/connected = null var/list/occupants = list() anchored = TRUE + unacidable = TRUE /obj/structure/morgue/Destroy() if(connected) diff --git a/code/game/objects/structures/stasis_cage.dm b/code/game/objects/structures/stasis_cage.dm index b9cae77fa3..b0c9034014 100644 --- a/code/game/objects/structures/stasis_cage.dm +++ b/code/game/objects/structures/stasis_cage.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/storage_vr.dmi' //VOREStation Edit icon_state = "critteropen" density = TRUE + unacidable = TRUE var/mob/living/simple_mob/contained diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index 697e8cffbc..c08a9d1951 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -6,6 +6,7 @@ icon = 'icons/mob/alien.dmi' icon_state = "nest" var/health = 100 + unacidable = TRUE /obj/structure/bed/nest/update_icon() return diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index 9217d132bb..e68b33089a 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -1,6 +1,7 @@ /obj/structure/shuttle name = "shuttle" icon = 'icons/turf/shuttle_parts.dmi' + unacidable = TRUE /obj/structure/shuttle/window name = "shuttle window" diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index df2e885026..4f83f297c7 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -202,7 +202,7 @@ var/list/flooring_types desc = "Gritty and unpleasant." icon = 'icons/turf/flooring/asteroid.dmi' icon_base = "asteroid" - flags = TURF_REMOVE_SHOVEL + flags = TURF_REMOVE_SHOVEL | TURF_ACID_IMMUNE build_type = null footstep_sounds = list("human" = list( 'sound/effects/footstep/asteroid1.ogg', @@ -543,7 +543,7 @@ var/list/flooring_types icon = 'icons/turf/outdoors.dmi' icon_base = "lava" is_plating = TRUE - flags = 0 + flags = TURF_ACID_IMMUNE footstep_sounds = list("human" = list( 'sound/effects/footstep/lava1.ogg', 'sound/effects/footstep/lava2.ogg', diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 71c25b0755..486e215325 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -76,6 +76,7 @@ icon = 'icons/turf/shuttle_white.dmi' thermal_conductivity = 0.05 heat_capacity = 0 + flags = TURF_ACID_IMMUNE var/obj/landed_holder/landed_holder var/interior_corner = 0 diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index e44ac49a66..f7d0644819 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -15,6 +15,7 @@ can_build_into_floor = TRUE can_dirty = FALSE initial_flooring = /decl/flooring/lava // Defining this in case someone DOES step on lava and survive. Somehow. + flags = TURF_ACID_IMMUNE /turf/simulated/floor/lava/outdoors outdoors = OUTDOORS_YES diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index d1f0dd37dd..e986e085a5 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -9,6 +9,7 @@ edge_blending_priority = -1 movement_cost = 4 outdoors = OUTDOORS_YES + flags = TURF_ACID_IMMUNE layer = WATER_FLOOR_LAYER diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index aa8d775b9b..4986701fcc 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -4,7 +4,7 @@ icon_state = "default" dynamic_lighting = 0 plane = SPACE_PLANE - + flags = TURF_ACID_IMMUNE temperature = T20C thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT can_build_into_floor = TRUE diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index 39c217a006..0e8c5c98b6 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -3,6 +3,7 @@ oxygen = MOLES_O2STANDARD nitrogen = MOLES_N2STANDARD var/skip_init = TRUE // Don't call down the chain, apparently for performance when loading maps at runtime. + flags = TURF_ACID_IMMUNE /turf/unsimulated/Initialize(mapload) if(skip_init) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 69fec5dcdf..6474e008b7 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -5,6 +5,7 @@ icon_state = "off" density = TRUE anchored = TRUE + unacidable = TRUE var/active = 0 diff --git a/code/modules/economy/vending.dm b/code/modules/economy/vending.dm index bc8130d0e0..ddd4520bdf 100644 --- a/code/modules/economy/vending.dm +++ b/code/modules/economy/vending.dm @@ -13,6 +13,7 @@ icon_state = "generic" anchored = TRUE density = TRUE + unacidable = TRUE clicksound = "button" // Power diff --git a/code/modules/food/kitchen/gibber.dm b/code/modules/food/kitchen/gibber.dm index 737072ba55..d348715bc6 100644 --- a/code/modules/food/kitchen/gibber.dm +++ b/code/modules/food/kitchen/gibber.dm @@ -6,6 +6,7 @@ icon_state = "grinder" density = TRUE anchored = TRUE + unacidable = TRUE req_access = list(access_kitchen,access_morgue) var/operating = 0 //Is it on? diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm index aa04d7499e..e53749b22b 100644 --- a/code/modules/food/kitchen/microwave.dm +++ b/code/modules/food/kitchen/microwave.dm @@ -6,6 +6,7 @@ layer = 2.9 density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 2000 diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 8fc16ccc6e..99cca32d4c 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -5,6 +5,7 @@ /turf/simulated/floor/holofloor thermal_conductivity = 0 + flags = TURF_ACID_IMMUNE /turf/simulated/floor/holofloor/attackby(obj/item/weapon/W as obj, mob/user as mob) return @@ -129,12 +130,14 @@ icon = 'icons/obj/furniture_vr.dmi' icon_state = "stool_padded_preview" anchored = TRUE + unacidable = TRUE pressure_resistance = 15 /obj/item/clothing/gloves/boxing/hologlove name = "boxing gloves" desc = "Because you really needed another excuse to punch your crewmates." icon_state = "boxing" + unacidable = TRUE item_icons = list( slot_l_hand_str = 'icons/mob/items/lefthand_gloves.dmi', slot_r_hand_str = 'icons/mob/items/righthand_gloves.dmi', @@ -291,6 +294,7 @@ throwforce = 0 w_class = ITEMSIZE_SMALL flags = NOBLOODY + unacidable = TRUE var/active = 0 /obj/item/weapon/holo/esword/green/New() @@ -359,6 +363,7 @@ name = "basketball" desc = "Here's your chance, do your dance at the Space Jam." w_class = ITEMSIZE_LARGE //Stops people from hiding it in their bags/pockets + unacidable = TRUE drop_sound = 'sound/items/drop/basketball.ogg' pickup_sound = 'sound/items/pickup/basketball.ogg' @@ -369,6 +374,7 @@ icon_state = "hoop" anchored = TRUE density = TRUE + unacidable = TRUE throwpass = 1 /obj/structure/holohoop/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -411,6 +417,7 @@ var/area/currentarea = null var/eventstarted = 0 + unacidable = TRUE anchored = TRUE use_power = USE_POWER_IDLE idle_power_usage = 2 diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index e8d6ed4113..cdc4314c6c 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -5,6 +5,7 @@ icon_state = "hydrotray3" density = TRUE anchored = TRUE + unacidable = TRUE flags = OPENCONTAINER volume = 100 diff --git a/code/modules/looking_glass/lg_turfs.dm b/code/modules/looking_glass/lg_turfs.dm index ad38f640c0..cb406c9ce6 100644 --- a/code/modules/looking_glass/lg_turfs.dm +++ b/code/modules/looking_glass/lg_turfs.dm @@ -14,6 +14,7 @@ initial_flooring = /decl/flooring/looking_glass appearance_flags = TILE_BOUND dynamic_lighting = FALSE + flags = TURF_ACID_IMMUNE var/center = FALSE var/optional = FALSE diff --git a/code/modules/materials/materials/glass.dm b/code/modules/materials/materials/glass.dm index 1bfffff501..9279e24621 100644 --- a/code/modules/materials/materials/glass.dm +++ b/code/modules/materials/materials/glass.dm @@ -141,3 +141,4 @@ stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(MAT_STEEL = SHEET_MATERIAL_AMOUNT / 2, "borosilicate glass" = SHEET_MATERIAL_AMOUNT) rod_product = null + flags = MATERIAL_UNMELTABLE diff --git a/code/modules/materials/materials/metals/hull.dm b/code/modules/materials/materials/metals/hull.dm index caf8f13de7..abf72e69a8 100644 --- a/code/modules/materials/materials/metals/hull.dm +++ b/code/modules/materials/materials/metals/hull.dm @@ -6,6 +6,7 @@ icon_base = "hull" icon_reinf = "reinf_mesh" icon_colour = "#666677" + flags = MATERIAL_UNMELTABLE /datum/material/steel/hull/place_sheet(var/turf/target) //Deconstructed into normal steel sheets. new /obj/item/stack/material/steel(target) @@ -18,6 +19,7 @@ icon_reinf = "reinf_mesh" icon_colour = "#777788" explosion_resistance = 40 + flags = MATERIAL_UNMELTABLE /datum/material/plasteel/hull/place_sheet(var/turf/target) //Deconstructed into normal plasteel sheets. new /obj/item/stack/material/plasteel(target) @@ -30,6 +32,7 @@ icon_colour = "#45829a" explosion_resistance = 90 reflectivity = 0.9 + flags = MATERIAL_UNMELTABLE /datum/material/durasteel/hull/place_sheet(var/turf/target) //Deconstructed into normal durasteel sheets. new /obj/item/stack/material/durasteel(target) @@ -39,6 +42,7 @@ stack_type = /obj/item/stack/material/titanium/hull icon_base = "hull" icon_reinf = "reinf_mesh" + flags = MATERIAL_UNMELTABLE /datum/material/titanium/hull/place_sheet(var/turf/target) //Deconstructed into normal titanium sheets. new /obj/item/stack/material/titanium(target) @@ -48,6 +52,7 @@ stack_type = /obj/item/stack/material/morphium/hull icon_base = "hull" icon_reinf = "reinf_mesh" + flags = MATERIAL_UNMELTABLE /datum/material/morphium/hull/place_sheet(var/turf/target) new /obj/item/stack/material/morphium(target) \ No newline at end of file diff --git a/code/modules/materials/materials/supermatter.dm b/code/modules/materials/materials/supermatter.dm index 5ee3b34671..69f479727c 100644 --- a/code/modules/materials/materials/supermatter.dm +++ b/code/modules/materials/materials/supermatter.dm @@ -16,6 +16,7 @@ sheet_plural_name = "crystals" is_fusion_fuel = 1 stack_origin_tech = list(TECH_MATERIAL = 8, TECH_PHORON = 5, TECH_BLUESPACE = 4) + flags = MATERIAL_UNMELTABLE /datum/material/supermatter/generate_recipes() recipes = list( diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm index 27e1df5b5a..e8751bce1b 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_powers.dm @@ -158,21 +158,20 @@ // OBJ CHECK var/cannot_melt if(isobj(O)) - var/obj/I = O + var/obj/I = O //Gurgs : Melts pretty much any object that isn't considered unacidable = TRUE if(I.unacidable) cannot_melt = 1 else if(istype(O, /turf/simulated/wall)) - var/turf/simulated/wall/W = O + var/turf/simulated/wall/W = O //Gurgs : Walls are deconstructed into girders. if(W.material.flags & MATERIAL_UNMELTABLE) cannot_melt = 1 else if(istype(O, /turf/simulated/floor)) -/* var/turf/simulated/floor/F = O //Turfs are qdel'd to space (Even asteroid tiles), will need to be touched by someone smarter than myself. -Mech + var/turf/simulated/floor/F = O //Gurgs : Floors are destroyed with ex_act(1), turning them into whatever tile it would be if empty. Z-Level Friendly, does not destroy pipes. if(F.flooring && (F.flooring.flags & TURF_ACID_IMMUNE)) -*/ - cannot_melt = 1 + cannot_melt = 1 else - cannot_melt = 1 + cannot_melt = 1 //Gurgs : Everything that isn't a object, simulated wall, or simulated floor is assumed to be acid immune. Includes weird things like unsimulated floors and space. if(cannot_melt) to_chat(src, "You cannot dissolve this object.") diff --git a/code/modules/multiz/stairs.dm b/code/modules/multiz/stairs.dm index 333357321e..52b275a92f 100644 --- a/code/modules/multiz/stairs.dm +++ b/code/modules/multiz/stairs.dm @@ -8,6 +8,7 @@ opacity = 0 density = FALSE anchored = TRUE + unacidable = TRUE layer = STAIRS_LAYER /obj/structure/stairs/Initialize() diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index 117267d2b4..edcb661dd1 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -21,6 +21,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable icon = 'icons/obj/device_alt.dmi' icon_state = "nif_0" + unacidable = TRUE w_class = ITEMSIZE_TINY var/known_implant = TRUE diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 9a58e4d085..35056b6612 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -92,6 +92,7 @@ GLOBAL_LIST_EMPTY(apcs) icon_state = "apc0" layer = ABOVE_WINDOW_LAYER anchored = TRUE + unacidable = TRUE use_power = USE_POWER_OFF clicksound = "switch" req_access = list(access_engine_equip) diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index 669600bab7..83d81f99a7 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -14,6 +14,7 @@ var/icon_state_off = "bbox_off" density = TRUE anchored = TRUE + unacidable = TRUE circuit = /obj/item/weapon/circuitboard/breakerbox var/on = 0 var/busy = 0 diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index b71ee80b28..7e6f5d13d3 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -46,6 +46,7 @@ var/list/possible_cable_coil_colours = list( /obj/structure/cable level = 1 anchored =TRUE + unacidable = TRUE var/datum/powernet/powernet name = "power cable" desc = "A flexible superconducting cable for heavy-duty power transfer." diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 590a681cec..34622b4e4b 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -6,6 +6,7 @@ GLOBAL_LIST_EMPTY(all_turbines) icon_state = "teg-unassembled" density = TRUE anchored = FALSE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 100 //Watts, I hope. Just enough to do the computer and display things. diff --git a/code/modules/power/gravitygenerator_vr.dm b/code/modules/power/gravitygenerator_vr.dm index ae282b41ca..8b4b1ccb96 100644 --- a/code/modules/power/gravitygenerator_vr.dm +++ b/code/modules/power/gravitygenerator_vr.dm @@ -24,6 +24,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) icon = 'icons/obj/machines/gravity_generator.dmi' anchored = TRUE density = TRUE + unacidable = TRUE use_power = USE_POWER_OFF var/sprite_number = 0 diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 61acc41293..829f07ce37 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -7,6 +7,7 @@ icon_state = "emitter" anchored = FALSE density = TRUE + unacidable = TRUE req_access = list(access_engine_equip) var/id = null diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index e62c08a99b..c496720063 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -12,6 +12,7 @@ GLOBAL_LIST_EMPTY(smeses) icon_state = "smes" density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_OFF circuit = /obj/item/weapon/circuitboard/smes clicksound = "switch" diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 656db57e76..f07b68f763 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -13,6 +13,7 @@ GLOBAL_LIST_EMPTY(solars_list) icon_state = "sp_base" anchored = TRUE density = TRUE + unacidable = TRUE use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index b76a3c0706..29d44a3d5e 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -55,6 +55,7 @@ layer = ABOVE_MOB_LAYER // So people can walk behind the top part density = TRUE anchored = FALSE + unacidable = TRUE light_range = 4 var/gasefficency = 0.25 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 190d82acf5..e0f4b936b8 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -159,6 +159,7 @@ force = 5 slot_flags = SLOT_BELT w_class = ITEMSIZE_NORMAL + unacidable = TRUE projectile_type = /obj/item/projectile/beam origin_tech = null fire_delay = 10 //Old pistol diff --git a/code/modules/reagents/machinery/chem_master.dm b/code/modules/reagents/machinery/chem_master.dm index 6c810251fc..93c459e3d6 100644 --- a/code/modules/reagents/machinery/chem_master.dm +++ b/code/modules/reagents/machinery/chem_master.dm @@ -3,6 +3,7 @@ desc = "Used to seperate and package chemicals in to patches, pills, or bottles. Warranty void if used to create Space Drugs." density = TRUE anchored = TRUE + unacidable = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" circuit = /obj/item/weapon/circuitboard/chem_master diff --git a/code/modules/reagents/machinery/dispenser/dispenser2.dm b/code/modules/reagents/machinery/dispenser/dispenser2.dm index fcc358274a..2d229f73aa 100644 --- a/code/modules/reagents/machinery/dispenser/dispenser2.dm +++ b/code/modules/reagents/machinery/dispenser/dispenser2.dm @@ -18,6 +18,7 @@ use_power = USE_POWER_IDLE idle_power_usage = 100 anchored = TRUE + unacidable = TRUE /obj/machinery/chemical_dispenser/Initialize() . = ..() diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index e2042a9b9d..662295e578 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -752,6 +752,7 @@ desc = "An underfloor disposal pipe." anchored = TRUE density = FALSE + unacidable = TRUE level = 1 // underfloor only var/dpdir = 0 // bitmask of pipe directions diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index aa159f4a1a..cceea53713 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -54,6 +54,7 @@ var/global/list/obj/machinery/message_server/message_servers = list() desc = "Facilitates both PDA messages and request console functions." density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 @@ -239,6 +240,7 @@ var/obj/machinery/blackbox_recorder/blackbox desc = "Records all radio communications, as well as various other information in case of the worst." density = TRUE anchored = TRUE + unacidable = TRUE use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index 3f5d113289..7490887c20 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -44,6 +44,7 @@ //This controller goes on the escape pod itself /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod name = "escape pod controller" + unacidable = TRUE program = /datum/embedded_program/docking/simple var/datum/shuttle/autodock/ferry/escape_pod/pod valid_actions = list("toggle_override", "force_door") diff --git a/code/modules/turbolift/turbolift_door.dm b/code/modules/turbolift/turbolift_door.dm index 7a41056ca1..242ffa262b 100644 --- a/code/modules/turbolift/turbolift_door.dm +++ b/code/modules/turbolift/turbolift_door.dm @@ -2,6 +2,7 @@ name = "Elevator Door" desc = "Ding." req_access = list(access_maint_tunnels) + unacidable = TRUE opacity = 0 autoclose = 0 glass = 1