From af92373d33608b30878c3496cb87b232222beaee Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 15 Sep 2019 05:53:43 -0400 Subject: [PATCH] though-this-world-may-be-broken --- code/ATMOSPHERICS/atmospherics.dm | 1 + .../unary_devices/heat_exchanger.dm | 1 - .../unary_devices/outlet_injector.dm | 4 +++- .../pipes/simple/pipe_simple_he.dm | 1 + code/LINDA/LINDA_fire.dm | 1 - code/_onclick/hud/screen_objects.dm | 4 +--- code/datums/spells/ethereal_jaunt.dm | 2 +- code/game/gamemodes/cult/cult_structures.dm | 1 - code/game/gamemodes/cult/runes.dm | 2 +- .../miniantags/abduction/machinery/camera.dm | 1 + .../miniantags/abduction/machinery/console.dm | 1 + .../gamemodes/miniantags/bot_swarm/swarmer.dm | 13 ++++++++++-- .../miniantags/slaughter/bloodcrawl.dm | 2 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 3 ++- code/game/gamemodes/nuclear/pinpointer.dm | 5 +++-- code/game/gamemodes/wizard/artefact.dm | 7 +++---- code/game/machinery/alarm.dm | 1 + code/game/machinery/atmo_control.dm | 1 + code/game/machinery/buttons.dm | 4 ++++ code/game/machinery/camera/camera.dm | 1 + code/game/machinery/deployable.dm | 2 -- code/game/machinery/doors/airlock_control.dm | 1 + code/game/machinery/doors/firedoor.dm | 2 +- code/game/machinery/doors/poddoor.dm | 4 ++-- code/game/machinery/doors/windowdoor.dm | 4 ++-- code/game/machinery/firealarm.dm | 1 + code/game/machinery/igniter.dm | 2 ++ code/game/machinery/machinery.dm | 2 +- code/game/machinery/pipe/construction.dm | 2 ++ code/game/machinery/shieldgen.dm | 6 +++--- code/game/machinery/syndicatebomb.dm | 4 ++-- code/game/machinery/turret_control.dm | 1 + code/game/machinery/vending.dm | 7 +++++++ code/game/mecha/combat/marauder.dm | 2 +- .../mecha/equipment/tools/mining_tools.dm | 3 +-- code/game/mecha/mecha.dm | 2 +- code/game/mecha/working/ripley.dm | 2 +- code/game/objects/buckling.dm | 2 +- code/game/objects/effects/anomalies.dm | 1 - .../objects/effects/decals/Cleanable/misc.dm | 2 +- .../game/objects/effects/decals/contraband.dm | 2 +- .../effects/effect_system/effect_system.dm | 1 - .../effects/effect_system/effects_foam.dm | 1 + code/game/objects/effects/effects.dm | 5 +++-- code/game/objects/effects/forcefields.dm | 1 - code/game/objects/effects/landmarks.dm | 2 +- code/game/objects/effects/manifest.dm | 1 - code/game/objects/effects/misc.dm | 3 --- code/game/objects/effects/overlays.dm | 1 - code/game/objects/effects/portals.dm | 3 +-- code/game/objects/items.dm | 2 +- code/game/objects/items/blueprints.dm | 1 + code/game/objects/items/cardboard_cutouts.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 3 +-- .../game/objects/items/devices/instruments.dm | 4 ++-- code/game/objects/items/devices/paicard.dm | 1 + code/game/objects/items/documents.dm | 1 + code/game/objects/items/stacks/medical.dm | 1 + .../game/objects/items/stacks/sheets/glass.dm | 6 ++++++ .../objects/items/stacks/sheets/mineral.dm | 4 ++-- .../items/stacks/sheets/sheet_types.dm | 14 +++++++------ .../objects/items/stacks/tiles/tile_types.dm | 9 ++++---- code/game/objects/items/toys.dm | 15 ++++++------- code/game/objects/items/trash.dm | 8 +++---- code/game/objects/items/weapons/RCD.dm | 1 + code/game/objects/items/weapons/cards_ids.dm | 1 + code/game/objects/items/weapons/cash.dm | 2 +- .../objects/items/weapons/chrono_eraser.dm | 7 ++++--- code/game/objects/items/weapons/courtroom.dm | 4 ++-- code/game/objects/items/weapons/defib.dm | 1 + .../objects/items/weapons/extinguisher.dm | 1 + .../objects/items/weapons/flamethrower.dm | 1 + .../objects/items/weapons/gift_wrappaper.dm | 4 ++-- .../objects/items/weapons/grenades/grenade.dm | 2 +- code/game/objects/items/weapons/lighters.dm | 1 + .../objects/items/weapons/melee/energy.dm | 1 + code/game/objects/items/weapons/mop.dm | 2 +- code/game/objects/items/weapons/paint.dm | 4 ++-- code/game/objects/items/weapons/powerfist.dm | 1 + code/game/objects/items/weapons/rpd.dm | 1 + code/game/objects/items/weapons/scrolls.dm | 4 ++-- code/game/objects/items/weapons/shards.dm | 1 + code/game/objects/items/weapons/shields.dm | 2 +- code/game/objects/items/weapons/signs.dm | 2 +- code/game/objects/items/weapons/staff.dm | 2 +- .../objects/items/weapons/storage/backpack.dm | 14 +++++++------ .../objects/items/weapons/storage/bags.dm | 8 +++---- .../objects/items/weapons/storage/belt.dm | 1 + .../objects/items/weapons/storage/boxes.dm | 3 ++- .../items/weapons/storage/briefcase.dm | 2 +- .../objects/items/weapons/storage/fancy.dm | 2 +- .../objects/items/weapons/storage/toolbox.dm | 1 + .../objects/items/weapons/storage/wallets.dm | 2 +- .../objects/items/weapons/tanks/jetpack.dm | 1 + .../objects/items/weapons/tanks/watertank.dm | 1 + .../objects/items/weapons/teleportation.dm | 1 + code/game/objects/items/weapons/tools.dm | 6 ++++++ code/game/objects/items/weapons/twohanded.dm | 5 +++++ code/game/objects/items/weapons/weaponry.dm | 4 ++++ code/game/objects/structures.dm | 2 +- code/game/objects/structures/bedsheet_bin.dm | 6 +++--- .../crates_lockers/closets/cardboardbox.dm | 6 +++--- .../crates_lockers/closets/coffin.dm | 4 ++-- .../crates_lockers/closets/gimmick.dm | 4 ++-- .../crates_lockers/closets/secure/bar.dm | 4 ++-- .../crates_lockers/closets/secure/personal.dm | 4 ++-- .../crates_lockers/closets/secure/security.dm | 4 ++-- code/game/objects/structures/displaycase.dm | 3 ++- code/game/objects/structures/dresser.dm | 2 -- code/game/objects/structures/false_walls.dm | 3 +-- code/game/objects/structures/flora.dm | 6 +++--- .../structures/lavaland/necropolis_tendril.dm | 2 +- code/game/objects/structures/mineral_doors.dm | 4 ++-- code/game/objects/structures/safe.dm | 3 +-- code/game/objects/structures/signs.dm | 4 +++- .../structures/stool_bed_chair_nest/bed.dm | 7 ++++--- .../structures/stool_bed_chair_nest/chairs.dm | 12 +++++------ code/game/objects/structures/table_frames.dm | 5 ++--- code/game/objects/structures/tables_racks.dm | 9 ++++---- code/game/objects/structures/watercloset.dm | 1 + code/game/objects/structures/window.dm | 4 ++-- code/game/shuttle_engines.dm | 1 + code/modules/assembly/signaler.dm | 1 + code/modules/awaymissions/gateway.dm | 2 +- .../mission_code/ruins/oldstation.dm | 4 ++-- code/modules/clothing/clothing.dm | 10 ++++----- code/modules/clothing/ears/ears.dm | 3 +-- code/modules/clothing/glasses/glasses.dm | 3 ++- code/modules/clothing/gloves/color.dm | 10 ++++----- code/modules/clothing/gloves/miscellaneous.dm | 4 ++-- code/modules/clothing/head/collectable.dm | 3 --- code/modules/clothing/head/hardhat.dm | 2 +- code/modules/clothing/head/helmet.dm | 3 ++- code/modules/clothing/head/misc.dm | 3 ++- code/modules/clothing/head/misc_special.dm | 2 +- code/modules/clothing/masks/breath.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 17 ++++++++------- code/modules/clothing/shoes/magboots.dm | 3 ++- code/modules/clothing/shoes/miscellaneous.dm | 16 +++++++++----- .../modules/clothing/spacesuits/chronosuit.dm | 2 ++ code/modules/clothing/spacesuits/ert.dm | 5 ++++- code/modules/clothing/spacesuits/hardsuit.dm | 18 +++++++++++----- .../clothing/spacesuits/miscellaneous.dm | 6 ++++-- code/modules/clothing/spacesuits/plasmamen.dm | 2 +- code/modules/clothing/spacesuits/rig/rig.dm | 2 -- code/modules/clothing/suits/armor.dm | 18 +++++++++------- code/modules/clothing/suits/bio.dm | 4 ++-- code/modules/clothing/suits/jobs.dm | 4 ++-- code/modules/clothing/suits/miscellaneous.dm | 10 ++++----- code/modules/clothing/suits/utility.dm | 10 ++++----- code/modules/clothing/suits/wiz_robe.dm | 16 ++++++-------- .../clothing/under/accessories/accessory.dm | 3 ++- code/modules/clothing/under/color.dm | 2 +- .../clothing/under/jobs/engineering.dm | 7 ++++--- code/modules/clothing/under/miscellaneous.dm | 10 ++++----- code/modules/events/tear.dm | 1 - code/modules/food_and_drinks/drinks/drinks.dm | 6 +++++- .../drinks/drinks/drinkingglass.dm | 3 +-- code/modules/food_and_drinks/food.dm | 2 +- .../food_and_drinks/food/foods/meat.dm | 2 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/growninedible.dm | 2 +- code/modules/hydroponics/hydroitemdefines.dm | 2 +- code/modules/hydroponics/seeds.dm | 2 +- code/modules/library/codex_gigas.dm | 2 +- code/modules/library/lib_items.dm | 6 +++--- code/modules/martial_arts/krav_maga.dm | 1 + .../modules/mining/equipment/explorer_gear.dm | 8 +++---- code/modules/mining/equipment/survival_pod.dm | 5 +---- code/modules/mining/lavaland/ash_flora.dm | 1 + .../mining/lavaland/loot/ashdragon_loot.dm | 3 +-- .../mining/lavaland/loot/colossus_loot.dm | 9 ++++---- .../mining/lavaland/loot/tendril_loot.dm | 7 ++++--- .../mining/lavaland/necropolis_chests.dm | 3 +-- code/modules/mining/mine_items.dm | 1 - code/modules/mining/money_bag.dm | 3 +-- code/modules/ninja/suit/head.dm | 1 - code/modules/ninja/suit/mask.dm | 1 - code/modules/ninja/suit/suit.dm | 1 - code/modules/paperwork/clipboard.dm | 2 +- code/modules/paperwork/contract.dm | 2 +- code/modules/paperwork/folders.dm | 2 +- code/modules/paperwork/paper.dm | 8 +++---- code/modules/paperwork/paperbin.dm | 1 - code/modules/paperwork/paperplane.dm | 4 ++-- code/modules/paperwork/photography.dm | 8 +++---- code/modules/pda/PDA.dm | 1 + code/modules/power/apc.dm | 1 + code/modules/power/gravitygenerator.dm | 2 +- .../power/singularity/containment_field.dm | 3 ++- code/modules/power/singularity/generator.dm | 1 + code/modules/power/singularity/singularity.dm | 3 +-- code/modules/power/supermatter/supermatter.dm | 1 + code/modules/power/turbine.dm | 2 ++ code/modules/projectiles/guns/energy/laser.dm | 1 + .../projectiles/guns/energy/nuclear.dm | 1 + code/modules/projectiles/projectile.dm | 3 +-- .../chemistry/machinery/chem_dispenser.dm | 1 + .../chemistry/machinery/chem_heater.dm | 1 + .../chemistry/machinery/chem_master.dm | 1 + .../reagents/chemistry/machinery/pandemic.dm | 1 + .../chemistry/machinery/reagentgrinder.dm | 1 + .../reagent_containers/glass_containers.dm | 4 +++- .../reagents/reagent_containers/hypospray.dm | 2 ++ .../reagents/reagent_containers/iv_bag.dm | 3 ++- code/modules/recycling/disposal.dm | 2 ++ code/modules/recycling/sortingmachinery.dm | 2 +- .../research/xenobiology/xenobiology.dm | 3 ++- .../ruins/lavalandruin_code/ash_walker_den.dm | 3 ++- .../ruins/lavalandruin_code/dead_ratvar.dm | 21 ++++++++++++------- .../ruins/lavalandruin_code/syndicate_base.dm | 2 +- .../ruins/objects_and_mobs/necropolis_gate.dm | 12 +++-------- .../security_levels/keycard authentication.dm | 1 + code/modules/shuttle/shuttle.dm | 3 ++- code/modules/shuttle/syndicate.dm | 2 +- code/modules/surgery/organs/augments_arms.dm | 2 +- code/modules/zombie/items.dm | 4 +--- 217 files changed, 449 insertions(+), 344 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 9481a7f603c..f34dd1ce993 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -12,6 +12,7 @@ GLOBAL_DATUM_INIT(pipe_icon_manager, /datum/pipe_icon_manager, new()) /obj/machinery/atmospherics anchored = 1 layer = GAS_PIPE_HIDDEN_LAYER //under wires + resistance_flags = FIRE_PROOF plane = FLOOR_PLANE idle_power_usage = 0 active_power_usage = 0 diff --git a/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm index e4afcadc7fa..0eface28b85 100644 --- a/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm +++ b/code/ATMOSPHERICS/components/unary_devices/heat_exchanger.dm @@ -10,7 +10,6 @@ var/obj/machinery/atmospherics/unary/heat_exchanger/partner = null var/update_cycle - burn_state = LAVA_PROOF /obj/machinery/atmospherics/unary/heat_exchanger/update_icon() ..() diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index 5302a99caa1..a312a28b36e 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -4,6 +4,8 @@ use_power = IDLE_POWER_USE layer = GAS_SCRUBBER_LAYER + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF //really helpful in building gas chambers for xenomorphs + can_unwrench = 1 name = "air injector" @@ -39,7 +41,7 @@ /obj/machinery/atmospherics/unary/outlet_injector/update_icon() ..() - + if(!powered()) icon_state = "off" else diff --git a/code/ATMOSPHERICS/pipes/simple/pipe_simple_he.dm b/code/ATMOSPHERICS/pipes/simple/pipe_simple_he.dm index cb7ec277f95..654ee16ea98 100644 --- a/code/ATMOSPHERICS/pipes/simple/pipe_simple_he.dm +++ b/code/ATMOSPHERICS/pipes/simple/pipe_simple_he.dm @@ -12,6 +12,7 @@ color = "#404040" buckle_lying = 1 var/icon_temperature = T20C //stop small changes in temperature causing icon refresh + resistance_flags = LAVA_PROOF | FIRE_PROOF /obj/machinery/atmospherics/pipe/simple/heat_exchanging/process_atmos() var/environment_temperature = 0 diff --git a/code/LINDA/LINDA_fire.dm b/code/LINDA/LINDA_fire.dm index 00fddd5b1f0..8b3347eec4f 100644 --- a/code/LINDA/LINDA_fire.dm +++ b/code/LINDA/LINDA_fire.dm @@ -47,7 +47,6 @@ /obj/effect/hotspot anchored = 1 mouse_opacity = MOUSE_OPACITY_TRANSPARENT - unacidable = 1//So you can't melt fire with acid. icon = 'icons/goonstation/effects/fire.dmi' icon_state = "1" layer = MASSIVE_OBJ_LAYER diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 739b059f3bd..dc9b8674c69 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -11,9 +11,7 @@ icon = 'icons/mob/screen_gen.dmi' layer = HUD_LAYER plane = HUD_PLANE - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null appearance_flags = NO_CLIENT_COLOR diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm index 10695595c75..31827fedbee 100644 --- a/code/datums/spells/ethereal_jaunt.dm +++ b/code/datums/spells/ethereal_jaunt.dm @@ -78,7 +78,7 @@ density = 0 anchored = 1 invisibility = 60 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/effect/dummy/spell_jaunt/Destroy() // Eject contents if deleted somehow diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index c6a6a3b7490..76d78666199 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -263,7 +263,6 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( icon = 'icons/obj/cult.dmi' icon_state = "hole" density = 1 - unacidable = 1 anchored = 1.0 /obj/effect/gateway/Bumped(mob/M as mob|obj) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 56f07d52826..d0b872ae006 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -18,9 +18,9 @@ To draw a rune, use an arcane tome. anchored = 1 icon = 'icons/obj/rune.dmi' icon_state = "1" + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/visibility = 0 var/view_range = 7 - unacidable = 1 layer = TURF_LAYER var/invocation = "Aiy ele-mayo!" //This is said by cultists when the rune is invoked. diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm index 25b9025a764..951ee6806de 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm @@ -12,6 +12,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "camera" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/machinery/computer/camera_advanced/abductor/New() GLOB.abductor_equipment.Add(src) diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm index 3598a5775a7..b162103c88b 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm @@ -1,6 +1,7 @@ //Common /obj/machinery/abductor + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/team = 0 /obj/machinery/abductor/New() diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 3c0ca1955fb..43f43608dc9 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -177,6 +177,15 @@ S.DisIntegrate(src) return TRUE +/obj/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) + if(resistance_flags & INDESTRUCTIBLE) + return FALSE + for(var/mob/living/L in contents) + if(!issilicon(L) && !isbrain(L)) + to_chat(S, "An organism has been detected inside this object. Aborting.") + return FALSE + return ..() + /obj/item/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) S.Integrate(src) return FALSE @@ -466,11 +475,11 @@ icon_state = "ui_light" layer = MOB_LAYER anchored = 1 - unacidable = 1 light_range = 1 mouse_opacity = MOUSE_OPACITY_ICON - var/health = 30 + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF light_color = LIGHT_COLOR_CYAN + max_integrity = 30 var/lon_range = 1 /obj/structure/swarmer/New() diff --git a/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm b/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm index 2c34503781e..55ea0adddaa 100644 --- a/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm +++ b/code/game/gamemodes/miniantags/slaughter/bloodcrawl.dm @@ -157,7 +157,7 @@ density = 0 anchored = 1 invisibility = 60 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/effect/dummy/slaughter/relaymove(mob/user, direction) forceMove(get_step(src,direction)) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index ffb3a8fa6e2..8119c1d6bcc 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -6,6 +6,7 @@ var/bomb_set icon = 'icons/obj/stationobjs.dmi' icon_state = "nuclearbomb0" density = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/deployable = 0 var/extended = 0 var/lighthack = 0 @@ -20,7 +21,6 @@ var/bomb_set var/lastentered var/is_syndicate = 0 use_power = NO_POWER_USE - unacidable = 1 var/previous_level = "" var/datum/wires/nuclearbomb/wires = null @@ -406,6 +406,7 @@ var/bomb_set desc = "Better keep this safe." icon_state = "nucleardisk" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/disk/nuclear/unrestricted desc = "Seems to have been stripped of its safeties, you better not lose it." diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 07ee2219157..b6ec5cb74a5 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -9,6 +9,7 @@ throw_speed = 4 throw_range = 20 materials = list(MAT_METAL=500) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/obj/item/disk/nuclear/the_disk = null var/active = 0 var/shows_nuke_timer = TRUE @@ -165,13 +166,13 @@ var/targetitem = input("Select item to search for.", "Item Mode Select","") as null|anything in item_names if(!targetitem) return - + var/list/target_candidates = get_all_of_type(item_paths[targetitem], subtypes = TRUE) for(var/obj/item/candidate in target_candidates) if(!is_admin_level((get_turf(candidate)).z)) target = candidate break - + if(!target) to_chat(usr, "Failed to locate [targetitem]!") return diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 1eedc354f5e..3ef7f655cd2 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -142,7 +142,6 @@ icon = 'icons/obj/biomass.dmi' icon_state = "rift" density = 1 - unacidable = 1 anchored = 1.0 var/spawn_path = /mob/living/simple_animal/cow //defaulty cows to prevent unintentional narsies var/spawn_amt_left = 20 @@ -637,7 +636,7 @@ var/global/list/multiverse = list() if(M.stat != DEAD) to_chat(user, "This artifact can only affect the dead!") return - + if((!M.mind || !M.client) && !M.grab_ghost()) to_chat(user,"There is no soul connected to this body...") return @@ -773,8 +772,8 @@ var/global/list/multiverse = list() var/obj/item/link = null var/cooldown_time = 30 //3s var/cooldown = 0 - burntime = 0 - burn_state = FLAMMABLE + max_integrity = 10 + resistance_flags = FLAMMABLE /obj/item/voodoo/attackby(obj/item/I as obj, mob/user as mob, params) if(target && cooldown < world.time) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3f83a354db4..9cbb17cd12b 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -81,6 +81,7 @@ power_channel = ENVIRON req_one_access = list(access_atmospherics, access_engine_equip) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) + resistance_flags = FIRE_PROOF siemens_strength = 1 var/alarm_id = null var/frequency = ATMOS_VENTSCRUB diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 1d0b8dde152..e704015589c 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -1,6 +1,7 @@ /obj/machinery/air_sensor icon = 'icons/obj/stationobjs.dmi' icon_state = "gsensor1" + resistance_flags = FIRE_PROOF name = "gas sensor" req_one_access_txt = "24;10" diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 08ac9540b72..e8da8014663 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -16,6 +16,7 @@ use_power = IDLE_POWER_USE idle_power_usage = 2 active_power_usage = 4 + resistance_flags = LAVA_PROOF | FIRE_PROOF var/range = 7 var/datum/radio_frequency/radio_connection @@ -23,6 +24,9 @@ var/logic_id_tag = "default" //Defines the ID tag to send logic signals to, so you don't have to unlink from doors and stuff var/logic_connect = 0 //Set this to allow the button to send out logic signals when pressed in addition to normal stuff +/obj/machinery/button/indestructible + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + /obj/machinery/driver_button/New(turf/loc, var/w_dir=null) ..() switch(w_dir) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 72e19ba9088..402bc9c3028 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -7,6 +7,7 @@ idle_power_usage = 5 active_power_usage = 10 layer = WALL_OBJ_LAYER + resistance_flags = FIRE_PROOF armor = list("melee" = 50, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 50) var/datum/wires/camera/wires = null // Wires datum diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 63537b116da..0735a65570b 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -101,8 +101,6 @@ icon_state = "woodenbarricade" bar_material = WOOD stacktype = /obj/item/stack/sheet/wood - burn_state = FLAMMABLE - burntime = 25 /obj/structure/barricade/wooden/attackby(obj/item/I, mob/user) if(istype(I,/obj/item/stack/sheet/wood)) diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index 3b12c6f554a..9b42578cb3b 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -150,6 +150,7 @@ icon_state = "airlock_sensor_off" name = "airlock sensor" anchored = 1 + resistance_flags = FIRE_PROOF power_channel = ENVIRON var/id_tag diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index de06af3742d..d874367e261 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -14,8 +14,8 @@ icon_state = "door_open" opacity = 0 density = FALSE - burn_state = FIRE_PROOF max_integrity = 300 + resistance_flags = FIRE_PROOF heat_proof = TRUE glass = TRUE explosion_block = 1 diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 012b695fc7a..f606e2c8c1e 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -9,7 +9,7 @@ heat_proof = TRUE safe = FALSE armor = list("melee" = 50, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF damage_deflection = 70 var/id_tag = 1.0 var/protected = 1 @@ -22,7 +22,7 @@ /obj/machinery/door/poddoor/impassable name = "reinforced blast door" desc = "A heavy duty blast door that opens mechanically. Looks even tougher than usual." - resistance_flags = INDESTRUCTIBLE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/door/poddoor/impassable/emag_act(mob/user) to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.") diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 6356982a7ca..ee6ec7f1ed2 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -5,6 +5,7 @@ icon_state = "left" layer = ABOVE_WINDOW_LAYER closingLayer = ABOVE_WINDOW_LAYER + resistance_flags = ACID_PROOF visible = 0 flags = ON_BORDER opacity = 0 @@ -12,7 +13,6 @@ max_integrity = 150 //If you change this, consider changing ../door/window/brigdoor/ max_integrity at the bottom of this .dm file integrity_failure = 0 armor = list("melee" = 20, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 70, "acid" = 100) - unacidable = 1 var/obj/item/airlock_electronics/electronics var/base_state = "left" var/reinf = 0 @@ -335,7 +335,7 @@ base_state = "clockwork" shards = 0 rods = 0 - burn_state = FIRE_PROOF + resistance_flags = ACID_PROOF | FIRE_PROOF cancolor = FALSE var/made_glow = FALSE diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 3f4be729cac..f2ea47e2004 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -17,6 +17,7 @@ FIRE ALARM idle_power_usage = 2 active_power_usage = 6 power_channel = ENVIRON + resistance_flags = FIRE_PROOF var/last_process = 0 var/wiresexposed = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 60e4616828b..305871c9196 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -5,6 +5,7 @@ icon_state = "igniter1" plane = FLOOR_PLANE armor = list(melee = 50, bullet = 30, laser = 70, energy = 50, bomb = 20, bio = 0, rad = 0, fire = 100, acid = 70) + resistance_flags = FIRE_PROOF var/id = null var/on = FALSE anchored = TRUE @@ -53,6 +54,7 @@ desc = "A wall-mounted ignition device." icon = 'icons/obj/stationobjs.dmi' icon_state = "migniter" + resistance_flags = FIRE_PROOF var/id = null var/disable = FALSE var/last_spark = FALSE diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 776769fca92..11dfe17da11 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -499,7 +499,7 @@ Class Procs: if(stat & BROKEN) to_chat(user, "It looks broken and non-functional.") if(!(resistance_flags & INDESTRUCTIBLE)) - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) to_chat(user, "It's on fire!") var/healthpercent = (obj_integrity/max_integrity) * 100 switch(healthpercent) diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 955d82309b1..1dc3fa70f4e 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -159,6 +159,8 @@ var/obj/machinery/atmospherics/binary/circulator/circP = make_from if(istype(circP) && circP.side == circP.CIRC_RIGHT) icon_state = "m_[icon_state]" + if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging)) + resistance_flags |= FIRE_PROOF | LAVA_PROOF // called by turf to know if should treat as bent or not on placement /obj/item/pipe/proc/is_bent_pipe() diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index f652dc9899e..26f41717e80 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -6,7 +6,7 @@ density = 1 opacity = FALSE anchored = 1 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/const/max_health = 200 var/health = max_health //The shield can only take so much beating (prevents perma-prisons) @@ -529,8 +529,8 @@ icon_state = "shieldwall" anchored = 1 density = 1 - unacidable = 1 - luminosity = 3 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + light_range = 3 var/needs_power = 0 var/active = 1 var/delay = 5 diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 3630beb1f6c..3fdedd4224e 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -10,7 +10,7 @@ anchored = 0 density = 0 layer = BELOW_MOB_LAYER //so people can't hide it and it's REALLY OBVIOUS - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF var/datum/wires/syndicatebomb/wires = null var/minimum_timer = 90 @@ -300,7 +300,7 @@ item_state = "eshield0" w_class = WEIGHT_CLASS_NORMAL origin_tech = "syndicate=5;combat=6" - burn_state = FLAMMABLE //Burnable (but the casing isn't) + resistance_flags = FLAMMABLE //Burnable (but the casing isn't) var/adminlog = null var/range_heavy = 3 var/range_medium = 9 diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index af2a1a8d9c0..7336704555c 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -13,6 +13,7 @@ icon_state = "control_standby" anchored = 1 density = 0 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/enabled = 0 var/lethal = 0 var/locked = 1 diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index f228148926b..e3778f87a9f 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1072,6 +1072,7 @@ premium = list(/obj/item/ammo_box/magazine/smgm9mm = 2,/obj/item/ammo_box/magazine/m50 = 4,/obj/item/ammo_box/magazine/m45 = 2,/obj/item/ammo_box/magazine/m75 = 2) contraband = list(/obj/item/clothing/under/patriotsuit = 1,/obj/item/bedsheet/patriot = 3) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF /obj/machinery/vending/toyliberationstation @@ -1099,6 +1100,7 @@ /obj/item/twohanded/dualsaber/toy = 5, /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF /obj/machinery/vending/cigarette name = "cigarette machine" @@ -1174,6 +1176,7 @@ /obj/item/healthupgrade = 4, /obj/item/reagent_containers/hypospray/safety = 2, /obj/item/sensor_device = 2, /obj/item/pinpointer/crew = 2) contraband = list(/obj/item/reagent_containers/glass/bottle/sulfonal = 1, /obj/item/reagent_containers/glass/bottle/pancuronium = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/medical /obj/machinery/vending/medical/syndicate_access @@ -1206,6 +1209,7 @@ products = list(/obj/item/stack/medical/bruise_pack = 2, /obj/item/stack/medical/ointment = 2, /obj/item/reagent_containers/hypospray/autoinjector = 4, /obj/item/healthanalyzer = 1) contraband = list(/obj/item/reagent_containers/syringe/charcoal = 4, /obj/item/reagent_containers/syringe/antiviral = 4, /obj/item/reagent_containers/food/pill/tox = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/wallmed /obj/machinery/vending/wallmed/Initialize(mapload) @@ -1359,6 +1363,7 @@ /obj/item/twohanded/staff = 2) contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF /obj/machinery/vending/autodrobe name = "\improper AutoDrobe" @@ -1540,6 +1545,7 @@ product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem." products = list(/obj/item/reagent_containers/food/drinks/drinkingglass/soda = 30) contraband = list(/obj/item/reagent_containers/food/drinks/drinkingglass/cola = 20) + resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/sovietsoda /obj/machinery/vending/sovietsoda/Initialize(mapload) @@ -1562,6 +1568,7 @@ contraband = list(/obj/item/weldingtool/hugetank = 2,/obj/item/clothing/gloves/color/fyellow = 2) premium = list(/obj/item/clothing/gloves/color/yellow = 1) armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 70) + resistance_flags = FIRE_PROOF /obj/machinery/vending/engivend name = "\improper Engi-Vend" diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 27b9a9c3a16..ee951a9050b 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -9,7 +9,7 @@ damage_absorption = list("brute"=0.5,"fire"=0.7,"bullet"=0.45,"laser"=0.6,"energy"=0.7,"bomb"=0.7) armor = list("melee" = 50, "bullet" = 55, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 60, "fire" = 100, "acid" = 100) max_temperature = 60000 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF infra_luminosity = 3 operation_req_access = list(access_cent_specops) wreckage = /obj/effect/decal/mecha_wreckage/marauder diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index a0f6e4408d7..bc7bf2c8ff4 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -22,8 +22,7 @@ return if(isobj(target)) var/obj/target_obj = target - if(target_obj.unacidable && !ismecha(target_obj)) - occupant_message("[target] is too durable to drill through.") + if(target_obj.resistance_flags & UNACIDABLE) return target.visible_message("[chassis] starts to drill [target].", "[chassis] starts to drill [target]...", diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index c6862c9cedc..b35c920f517 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -18,7 +18,7 @@ density = 1 //Dense. To raise the heat. opacity = 1 ///opaque. Menacing. anchored = 1 //no pulling around. - unacidable = 1 //and no deleting hoomans inside + resistance_flags = FIRE_PROOF | ACID_PROOF layer = MOB_LAYER //icon draw layer infra_luminosity = 15 //byond implementation is bugged. force = 5 diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index e4004b11edc..ae8673a6baf 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -75,7 +75,7 @@ initial_icon = "firefighter" max_temperature = 65000 health = 250 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF lights_power = 7 damage_absorption = list("brute"=0.6,"fire"=0.5,"bullet"=0.7,"laser"=0.7,"energy"=1,"bomb"=0.4) armor = list("melee" = 40, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 60, "bio" = 0, "rad" = 70, "fire" = 100, "acid" = 100) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index a89be1c211e..202f773ea7b 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -58,7 +58,7 @@ /obj/buckle_mob(mob/living/M, force = 0) . = ..() if(.) - if(burn_state == ON_FIRE) //Sets the mob on fire if you buckle them to a burning atom/movableect + if(resistance_flags & ON_FIRE) //Sets the mob on fire if you buckle them to a burning atom/movableect M.adjust_fire_stacks(1) M.IgniteMob() diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 41d2c256c2b..774174f6b2f 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -5,7 +5,6 @@ icon = 'icons/effects/effects.dmi' desc = "A mysterious anomaly, seen commonly only in the region of space that the station orbits..." icon_state = "bhole3" - unacidable = 1 density = 0 anchored = 1 luminosity = 3 diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index 223732d8b20..122840c1e67 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -83,7 +83,7 @@ layer = OBJ_LAYER icon = 'icons/effects/effects.dmi' icon_state = "cobweb1" - burntime = 1 + resistance_flags = FLAMMABLE /obj/effect/decal/cleanable/molten_object name = "gooey grey mass" diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm index 2feaea2a149..50d0a8f690e 100644 --- a/code/game/objects/effects/decals/contraband.dm +++ b/code/game/objects/effects/decals/contraband.dm @@ -8,7 +8,7 @@ desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard Nanotrasen space facilities." icon = 'icons/obj/contraband.dmi' force = 0 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/poster_type var/obj/structure/sign/poster/poster_structure diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 04ea1dc0841..6792f0aa6e2 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -8,7 +8,6 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect name = "particle effect" mouse_opacity = MOUSE_OPACITY_TRANSPARENT - unacidable = TRUE //So effects are not targeted by alien acid. pass_flags = PASSTABLE | PASSGRILLE anchored = TRUE diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index f134bd44b10..50268ad3b78 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -170,6 +170,7 @@ desc = "A lightweight foamed metal wall." icon = 'icons/effects/effects.dmi' icon_state = "metalfoam" + resistance_flags = FIRE_PROOF | ACID_PROOF density = TRUE opacity = TRUE // changed in New() anchored = TRUE diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index c1017d399e8..f3e4e97ed6e 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -4,8 +4,8 @@ /obj/effect icon = 'icons/effects/effects.dmi' - burn_state = LAVA_PROOF - resistance_flags = INDESTRUCTIBLE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF + move_resist = INFINITY anchored = 1 can_be_hit = FALSE @@ -26,6 +26,7 @@ /obj/effect/decal plane = FLOOR_PLANE + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF var/no_scoop = FALSE //if it has this, don't let it be scooped up var/no_clear = FALSE //if it has this, don't delete it when its' scooped up var/list/scoop_reagents = null diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index b18f283e9a8..848c6701434 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -6,7 +6,6 @@ anchored = 1 opacity = 0 density = 1 - unacidable = 1 var/lifetime = 30 SECONDS /obj/effect/forcefield/New() diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 1dacf315e9c..3d2c8a83ef4 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -3,7 +3,7 @@ icon = 'icons/mob/screen_gen.dmi' icon_state = "x2" anchored = 1.0 - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/effect/landmark/New() diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm index 9b4814237fe..ea1c80e5346 100644 --- a/code/game/objects/effects/manifest.dm +++ b/code/game/objects/effects/manifest.dm @@ -2,7 +2,6 @@ name = "manifest" icon = 'icons/mob/screen_gen.dmi' icon_state = "x" - unacidable = 1//Just to be sure. /obj/effect/manifest/New() diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 191f776d01c..445d6377513 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -33,11 +33,9 @@ layer = 99 plane = HUD_PLANE mouse_opacity = MOUSE_OPACITY_TRANSPARENT - unacidable = 1//Just to be sure. /obj/effect/beam name = "beam" - unacidable = 1//Just to be sure. var/def_zone pass_flags = PASSTABLE @@ -53,7 +51,6 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "begin" anchored = 1.0 - unacidable = 1 /obj/effect/projection name = "Projection" diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 312826d3ddb..4506f9b33a9 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -1,6 +1,5 @@ /obj/effect/overlay name = "overlay" - unacidable = 1 var/i_attached//Added for possible image attachments to objects. For hallucinations and the like. /obj/effect/overlay/singularity_act() diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index f36902664f8..99f1ec2965f 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -3,7 +3,6 @@ desc = "Looks unstable. Best to test it with the clown." icon = 'icons/obj/stationobjs.dmi' icon_state = "portal" - unacidable = TRUE anchored = TRUE var/obj/item/target = null @@ -110,7 +109,7 @@ if(!do_teleport(M, target, precision, bypass_area_flag = ignore_tele_proof_area_setting)) // Try to send them to a turf adjacent to target. invalid_teleport() return FALSE - + return TRUE /obj/effect/portal/proc/invalid_teleport() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bdfc39d58bb..9c463aff67a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -245,7 +245,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d to_chat(user, "You try to move your [temp.name], but cannot!") return 0 - if(burn_state == ON_FIRE && !pickupfireoverride) + if((resistance_flags & ON_FIRE) && !pickupfireoverride) var/mob/living/carbon/human/H = user if(istype(H)) if(H.gloves && (H.gloves.max_heat_protection_temperature > 360)) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index a566f208082..79cc221ee7f 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -92,6 +92,7 @@ icon = 'icons/obj/items.dmi' icon_state = "blueprints" fluffnotice = "Property of Nanotrasen. For heads of staff only. Store in high-secure storage." + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_NORMAL var/list/showing = list() var/client/viewing diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 3693acf8e2f..1e1a07b8a3d 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -4,7 +4,7 @@ desc = "A vaguely humanoid cardboard cutout. It's completely blank." icon = 'icons/obj/cardboard_cutout.dmi' icon_state = "cutout_basic" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE w_class = WEIGHT_CLASS_BULKY var/list/possible_appearances = list("Assistant", "Clown", "Mime", "Traitor", "Nuke Op", "Cultist", "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer", diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 74f98a9384a..90a778f8e49 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -394,5 +394,4 @@ on = TRUE anchored = TRUE var/range = null - unacidable = TRUE - burn_state = LAVA_PROOF + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index 6d3a1c2b49d..a3321112891 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/musician.dmi' lefthand_file = 'icons/mob/inhands/equipment/instruments_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/instruments_righthand.dmi' - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/datum/song/handheld/song var/instrumentId = "generic" var/instrumentExt = "mid" @@ -55,7 +55,7 @@ desc = "A golden musical instrument with four strings and a bow. \"The devil went down to space, he was looking for an assistant to grief.\"" icon_state = "golden_violin" item_state = "golden_violin" - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/instrument/piano_synth name = "synthesizer" diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 64971ae37a3..2982b2679ea 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -12,6 +12,7 @@ var/looking_for_personality = 0 var/mob/living/silicon/pai/pai var/list/faction = list("neutral") // The factions the pAI will inherit from the card + resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE /obj/item/paicard/syndicate name = "syndicate personal AI device" diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 908c205939d..a2b1f2fdedb 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -10,6 +10,7 @@ throw_speed = 1 layer = 4 pressure_resistance = 2 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/documents/nanotrasen desc = "\"Top Secret\" Nanotrasen documents printed on special copy-protected paper. It is filled with complex diagrams and lists of names, dates and coordinates." diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index d021c0254a8..647837a1812 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -7,6 +7,7 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 3 throw_range = 7 + resistance_flags = FLAMMABLE var/heal_brute = 0 var/heal_burn = 0 var/self_delay = 20 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 90ea108f56c..769bc9dad54 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -29,6 +29,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ icon_state = "sheet-glass" materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 100) + resistance_flags = ACID_PROOF origin_tech = "materials=1" created_window = /obj/structure/window/basic full_window = /obj/structure/window/full/basic @@ -89,6 +90,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ icon_state = "sheet-rglass" materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) + resistance_flags = ACID_PROOF origin_tech = "materials=2" created_window = /obj/structure/window/reinforced full_window = /obj/structure/window/full/reinforced @@ -115,6 +117,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ item_state = "sheet-rglass" materials = list(MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 100) + resistance_flags = ACID_PROOF origin_tech = "plasmatech=2;materials=2" created_window = /obj/structure/window/plasmabasic full_window = /obj/structure/window/full/plasmabasic @@ -157,6 +160,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ item_state = "sheet-rglass" materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT/2, MAT_GLASS=MINERAL_MATERIAL_AMOUNT*2) armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + resistance_flags = ACID_PROOF origin_tech = "plasmatech=2;materials=2" created_window = /obj/structure/window/plasmareinforced full_window = /obj/structure/window/full/plasmareinforced @@ -178,6 +182,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( item_state = "sheet-rglass" materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass full_window = /obj/structure/window/full/shuttle @@ -197,6 +202,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( item_state = "sheet-rglass" materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT, MAT_PLASMA=MINERAL_MATERIAL_AMOUNT, MAT_GLASS=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) + resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass full_window = /obj/structure/window/plastitanium diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index c9099d6d38b..047ffb3292a 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -208,8 +208,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ origin_tech = "plasmatech=2;materials=2" sheettype = "plasma" materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 100 point_value = 20 /obj/item/stack/sheet/mineral/plasma/New() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 178f9c10462..63b5c6b5b10 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -104,6 +104,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list( materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) throwforce = 10.0 flags = CONDUCT + resistance_flags = FIRE_PROOF origin_tech = "materials=1" merge_type = /obj/item/stack/sheet/metal point_value = 2 @@ -150,6 +151,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list( item_state = "sheet-metal" materials = list(MAT_METAL=2000, MAT_PLASMA=2000) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 80) + resistance_flags = FIRE_PROOF throwforce = 10.0 flags = CONDUCT origin_tech = "materials=2" @@ -195,7 +197,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list( singular_name = "wood plank" icon_state = "sheet-wood" origin_tech = "materials=1;biotech=1" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) merge_type = /obj/item/stack/sheet/wood @@ -239,7 +241,7 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \ singular_name = "cloth roll" icon_state = "sheet-cloth" origin_tech = "materials=2" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE force = 0 throwforce = 0 merge_type = /obj/item/stack/sheet/cloth @@ -264,7 +266,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ singular_name = "durathread roll" icon_state = "sheet-durathread" item_state = "sheet-cloth" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE force = 0 throwforce = 0 merge_type = /obj/item/stack/sheet/durathread @@ -278,7 +280,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ desc = "A bundle of raw cotton ready to be spun on the loom." singular_name = "raw cotton ball" icon_state = "sheet-cotton" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE force = 0 throwforce = 0 merge_type = /obj/item/stack/sheet/cotton @@ -329,7 +331,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( singular_name = "cardboard sheet" icon_state = "sheet-card" origin_tech = "materials=1" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/cardboard /obj/item/stack/sheet/cardboard/New(var/loc, var/amt = null) @@ -409,7 +411,7 @@ var/global/list/datum/stack_recipe/brass_recipes = list (\ singular_name = "brass sheet" icon_state = "sheet-brass" icon = 'icons/obj/items.dmi' - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF throwforce = 10 max_amount = 50 throw_speed = 1 diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 46ce2913728..a94a3159c31 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -81,7 +81,7 @@ icon_state = "tile_grass" origin_tech = "biotech=1" turf_type = /turf/simulated/floor/grass - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE //Wood /obj/item/stack/tile/wood @@ -92,7 +92,7 @@ icon_state = "tile-wood" origin_tech = "biotech=1" turf_type = /turf/simulated/floor/wood - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE //Carpets /obj/item/stack/tile/carpet @@ -101,7 +101,7 @@ desc = "A piece of carpet. It is the same size as a floor tile" icon_state = "tile-carpet" turf_type = /turf/simulated/floor/carpet - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/stack/tile/carpet/black name = "black carpet" @@ -124,6 +124,7 @@ turf_type = /turf/simulated/floor/plasteel mineralType = "metal" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) + resistance_flags = FIRE_PROOF //Light /obj/item/stack/tile/light @@ -144,7 +145,7 @@ desc = "A piece of carpet with a convincing star pattern." icon_state = "tile_space" turf_type = /turf/simulated/floor/fakespace - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE merge_type = /obj/item/stack/tile/fakespace /obj/item/stack/tile/fakespace/loaded diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index edc7b855c99..d8595348368 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -404,8 +404,8 @@ obj/item/toy/cards - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 50 var/parentdeck = null var/deckstyle = "nanotrasen" var/card_hitsound = null @@ -627,6 +627,7 @@ obj/item/toy/cards/cardhand/apply_card_vars(obj/item/toy/cards/newobj,obj/item/t newobj.card_throw_speed = sourceobj.card_throw_speed newobj.card_throw_range = sourceobj.card_throw_range newobj.card_attack_verb = sourceobj.card_attack_verb + newobj.resistance_flags = sourceobj.resistance_flags obj/item/toy/cards/singlecard @@ -752,7 +753,7 @@ obj/item/toy/cards/deck/syndicate card_throw_speed = 3 card_throw_range = 20 card_attack_verb = list("attacked", "sliced", "diced", "slashed", "cut") - burn_state = FIRE_PROOF + resistance_flags = NONE /* || Custom card decks || @@ -890,7 +891,7 @@ obj/item/toy/cards/deck/syndicate/black icon_state = "carpplushie" attack_verb = list("bitten", "eaten", "fin slapped") var/bitesound = 'sound/weapons/bite.ogg' - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE // Attack mob /obj/item/toy/carpplushie/attack(mob/M as mob, mob/user as mob) @@ -953,7 +954,7 @@ obj/item/toy/cards/deck/syndicate/black icon = 'icons/obj/toy.dmi' var/poof_sound = 'sound/weapons/thudswoosh.ogg' attack_verb = list("poofed", "bopped", "whapped","cuddled","fluffed") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/toy/plushie/attack(mob/M as mob, mob/user as mob) playsound(loc, poof_sound, 20, 1) // Play the whoosh sound in local area @@ -1105,7 +1106,7 @@ obj/item/toy/cards/deck/syndicate/black item_state = "arm_blade" attack_verb = list("pricked", "absorbed", "gored") w_class = WEIGHT_CLASS_SMALL - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /* * Toy/fake flash @@ -1506,7 +1507,7 @@ obj/item/toy/cards/deck/syndicate/black icon = 'icons/obj/toy.dmi' icon_state = "toy_mouse" w_class = WEIGHT_CLASS_SMALL - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/cooldown = 0 /* diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 0dce7e51cd1..3a6101b65c7 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/trash.dmi' w_class = WEIGHT_CLASS_TINY desc = "This is rubbish." - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/trash/raisins name = "4no raisins" @@ -43,7 +43,7 @@ /obj/item/trash/plate name = "Plate" icon_state = "plate" - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/trash/snack_bowl name = "Snack bowl" @@ -60,7 +60,7 @@ /obj/item/trash/tray name = "Tray" icon_state = "tray" - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/trash/candle name = "candle" @@ -76,7 +76,7 @@ icon_state = "cola" var/is_glass = 0 var/is_plastic = 0 - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/trash/gum name = "chewed gum" diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index dc2a9a635ef..a8890e1636e 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -50,6 +50,7 @@ GLOBAL_LIST_INIT(rcd_door_types, list( flags_2 = NO_MAT_REDEMPTION_2 req_access = list(access_engine) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF // Important shit var/datum/effect_system/spark_spread/spark_system var/matter = 0 diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 208c9ae6a42..8452d8bd987 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -90,6 +90,7 @@ var/registered_name = "Unknown" // The name registered_name on the card slot_flags = SLOT_ID armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF var/untrackable // Can not be tracked by AI's var/blood_type = "\[UNSET\]" diff --git a/code/game/objects/items/weapons/cash.dm b/code/game/objects/items/weapons/cash.dm index 507b19d9f7a..84d7eab9e0b 100644 --- a/code/game/objects/items/weapons/cash.dm +++ b/code/game/objects/items/weapons/cash.dm @@ -9,7 +9,7 @@ throw_speed = 1 throw_range = 7 w_class = WEIGHT_CLASS_TINY - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE singular_name = "credit" max_amount = 1000000 merge_type = /obj/item/stack/spacecash diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm index 7e7f1642e3a..6a8ddffe6c1 100644 --- a/code/game/objects/items/weapons/chrono_eraser.dm +++ b/code/game/objects/items/weapons/chrono_eraser.dm @@ -149,9 +149,10 @@ desc = "An aura of time-bluespace energy." icon = 'icons/effects/effects.dmi' icon_state = "chronofield" - density = 1 - anchored = 1 - unacidable = 1 + density = TRUE + anchored = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF + move_resist = INFINITY blend_mode = BLEND_MULTIPLY var/mob/living/captured = null var/obj/item/gun/energy/chrono_gun/gun = null diff --git a/code/game/objects/items/weapons/courtroom.dm b/code/game/objects/items/weapons/courtroom.dm index 72bb3fceb11..09d43434560 100644 --- a/code/game/objects/items/weapons/courtroom.dm +++ b/code/game/objects/items/weapons/courtroom.dm @@ -11,7 +11,7 @@ throwforce = 6.0 w_class = WEIGHT_CLASS_SMALL attack_verb = list("bashed", "battered", "judged", "whacked") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/gavelhammer/suicide_act(mob/user) user.visible_message("[user] has sentenced [user.p_them()]self to death with the [src.name]! It looks like [user.p_theyre()] trying to commit suicide.") @@ -26,7 +26,7 @@ force = 2.0 throwforce = 2.0 w_class = WEIGHT_CLASS_TINY - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/gavelblock/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/gavelhammer)) diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index e026d1f00f1..771d7bc2330 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -260,6 +260,7 @@ force = 0 throwforce = 6 w_class = WEIGHT_CLASS_BULKY + resistance_flags = INDESTRUCTIBLE toolspeed = 1 var/revivecost = 1000 diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 674329abacb..d27fd10ef87 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -15,6 +15,7 @@ materials = list(MAT_METAL=90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") dog_fashion = /datum/dog_fashion/back + resistance_flags = FIRE_PROOF var/max_water = 50 var/last_use = 1.0 var/safety = 1 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index d7038fcd752..3e41009bf68 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -13,6 +13,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_NORMAL materials = list(MAT_METAL=500) + resistance_flags = FIRE_PROOF origin_tech = "combat=1;plasmatech=2;engineering=2" var/status = FALSE var/lit = FALSE //on or off diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index 5a6131b2d4a..e8d2b7af526 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -13,7 +13,7 @@ icon = 'icons/obj/items.dmi' icon_state = "gift1" item_state = "gift1" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/a_gift/New() ..() @@ -139,7 +139,7 @@ flags = NOBLUDGEON amount = 25 max_amount = 25 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/stack/wrapping_paper/attack_self(mob/user) to_chat(user, "You need to use it on a package that has already been wrapped!") diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 09fdfe5a27f..742bceb524a 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -9,7 +9,7 @@ throw_range = 20 flags = CONDUCT slot_flags = SLOT_BELT - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE burntime = 5 var/active = 0 var/det_time = 50 diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm index 56d237c4eda..d69c04792a3 100644 --- a/code/game/objects/items/weapons/lighters.dm +++ b/code/game/objects/items/weapons/lighters.dm @@ -14,6 +14,7 @@ flags = CONDUCT slot_flags = SLOT_BELT attack_verb = null + resistance_flags = FIRE_PROOF var/lit = 0 /obj/item/lighter/zippo diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 0339a68b66d..cb99b0ac690 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -11,6 +11,7 @@ hitsound = 'sound/weapons/blade1.ogg' // Probably more appropriate than the previous hitsound. -- Dave usesound = 'sound/weapons/blade1.ogg' armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF toolspeed = 1 light_power = 2 var/brightness_on = 2 diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 7c5c6f9421f..a92deece906 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -9,7 +9,7 @@ throw_range = 7 w_class = WEIGHT_CLASS_NORMAL attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/mopping = 0 var/mopcount = 0 var/mopcap = 5 diff --git a/code/game/objects/items/weapons/paint.dm b/code/game/objects/items/weapons/paint.dm index dc466f479d0..06345581381 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -8,8 +8,8 @@ item_state = "paintcan" materials = list(MAT_METAL=200) w_class = WEIGHT_CLASS_NORMAL - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 50 amount_per_transfer_from_this = 5 possible_transfer_amounts = list(5,10,20,30,50,70) volume = 70 diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm index 5b486f58249..fe849371f05 100644 --- a/code/game/objects/items/weapons/powerfist.dm +++ b/code/game/objects/items/weapons/powerfist.dm @@ -10,6 +10,7 @@ throw_range = 7 w_class = WEIGHT_CLASS_NORMAL armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 40) + resistance_flags = FIRE_PROOF origin_tech = "combat=5;powerstorage=3;syndicate=3" var/click_delay = 1.5 var/fisto_setting = 1 diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm index 4377eaff43e..073ae0941e4 100644 --- a/code/game/objects/items/weapons/rpd.dm +++ b/code/game/objects/items/weapons/rpd.dm @@ -24,6 +24,7 @@ w_class = WEIGHT_CLASS_NORMAL materials = list(MAT_METAL = 75000, MAT_GLASS = 37500) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF origin_tech = "engineering=4;materials=2" var/datum/effect_system/spark_spread/spark_system var/lastused diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index ccee6c18feb..24121debd0d 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -9,7 +9,7 @@ throw_speed = 4 throw_range = 20 origin_tech = "bluespace=6" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/teleportation_scroll/apprentice name = "lesser scroll of teleportation" @@ -51,7 +51,7 @@ if(!A) return - + var/area/thearea = teleportlocs[A] if(user.stat || user.restrained()) diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 5a750362de6..fa9719dc696 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -13,6 +13,7 @@ attack_verb = list("stabbed", "slashed", "sliced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' armor = list("melee" = 100, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 100) + resistance_flags = ACID_PROOF sharp = TRUE var/cooldown = 0 var/icon_prefix diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 9520ad92a4b..63e7eeb88fb 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -53,7 +53,7 @@ item_state = "buckler" materials = list() origin_tech = "materials=1;combat=3;biotech=2" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE block_chance = 30 /obj/item/shield/energy diff --git a/code/game/objects/items/weapons/signs.dm b/code/game/objects/items/weapons/signs.dm index 6c416111db7..56f31188300 100644 --- a/code/game/objects/items/weapons/signs.dm +++ b/code/game/objects/items/weapons/signs.dm @@ -6,7 +6,7 @@ force = 5 w_class = WEIGHT_CLASS_BULKY attack_verb = list("bashed","smacked") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/delayed = 0 //used to do delays diff --git a/code/game/objects/items/weapons/staff.dm b/code/game/objects/items/weapons/staff.dm index 15b0b914391..fa2c6adcc7f 100644 --- a/code/game/objects/items/weapons/staff.dm +++ b/code/game/objects/items/weapons/staff.dm @@ -10,7 +10,7 @@ w_class = WEIGHT_CLASS_SMALL armour_penetration = 100 attack_verb = list("bludgeoned", "whacked", "disciplined") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/twohanded/staff/broom name = "broom" diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 228f9d14c09..4d67900a872 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -15,7 +15,7 @@ max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 21 storage_slots = 21 - burn_state = FLAMMABLE + resistance_flags = NONE burntime = 20 sprite_sheets = list( "Vox" = 'icons/mob/species/vox/back.dmi', @@ -56,7 +56,7 @@ item_state = "holdingpack" max_w_class = WEIGHT_CLASS_HUGE max_combined_w_class = 35 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF flags_2 = NO_MAT_REDEMPTION_2 cant_hold = list(/obj/item/storage/backpack/holding) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) @@ -159,7 +159,7 @@ desc = "It's a tough backpack for the daily grind of station life." icon_state = "engiepack" item_state = "engiepack" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/storage/backpack/explorer name = "explorer bag" @@ -206,7 +206,7 @@ name = "leather satchel" desc = "It's a very fancy satchel made with fine leather." icon_state = "satchel" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/strap_side_straight = FALSE /obj/item/storage/backpack/satchel/verb/switch_strap() @@ -242,7 +242,7 @@ name = "industrial satchel" desc = "A tough satchel with extra pockets." icon_state = "satchel-eng" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/storage/backpack/satchel/explorer name = "explorer satchel" @@ -336,6 +336,7 @@ origin_tech = "syndicate=1" silent = 1 slowdown = 0 + resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffel/syndie/med name = "suspicious duffelbag" @@ -510,7 +511,7 @@ desc = "A duffelbag designed to hold tools." icon_state = "duffel-eng" item_state = "duffel-eng" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffel/atmos name = "atmospherics duffelbag" @@ -537,6 +538,7 @@ desc = "A spacious backpack with lots of pockets, used by members of the Nanotrasen Emergency Response Team." icon_state = "ert_commander" item_state = "backpack" + resistance_flags = FIRE_PROOF //Commander /obj/item/storage/backpack/ert/commander diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index e8a181a197b..a3808bf5d80 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -169,7 +169,7 @@ max_w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/grown,/obj/item/reagent_containers/food/snacks/grown/ash_flora) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/storage/bag/plants/portaseeder name = "portable seed extractor" @@ -364,7 +364,7 @@ max_w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_BULKY //Bigger than a book because physics can_hold = list(/obj/item/book, /obj/item/storage/bible, /obj/item/tome, /obj/item/spellbook) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /* * Trays - Agouri @@ -486,7 +486,7 @@ max_combined_w_class = 200 w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/reagent_containers/food/pill,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /* * Biowaste bag (mostly for xenobiologists) */ @@ -500,4 +500,4 @@ max_combined_w_class = 200 w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/slime_extract,/obj/item/reagent_containers/food/snacks/monkeycube,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/iv_bag,/obj/item/reagent_containers/hypospray/autoinjector) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 579f2fddf0b..8582692cd39 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -293,6 +293,7 @@ icon_state = "militarybelt" item_state = "military" max_w_class = WEIGHT_CLASS_SMALL + resistance_flags = FIRE_PROOF /obj/item/storage/belt/military/sst icon_state = "assaultbelt" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index d4e1ed2d7f1..776a53a7f26 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -24,7 +24,7 @@ desc = "It's just an ordinary box." icon_state = "box" item_state = "syringe_kit" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/foldable = /obj/item/stack/sheet/cardboard var/amt = 1 @@ -964,6 +964,7 @@ desc = "A sack neatly crafted out of paper." icon_state = "paperbag_None" item_state = "paperbag_None" + resistance_flags = FLAMMABLE foldable = null var/design = NODESIGN diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 0a2a8bcfbbc..b8f43de47de 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -12,7 +12,7 @@ max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 21 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE burntime = 20 /obj/item/storage/briefcase/sniperbundle diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 603a86b072b..3b7aee036b9 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -17,7 +17,7 @@ icon = 'icons/obj/food/containers.dmi' icon_state = "donutbox6" name = "donut box" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/icon_type = "donut" /obj/item/storage/fancy/update_icon(var/itemremoved = 0) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index aa3b824d40d..e8cc64af842 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -121,6 +121,7 @@ desc = "A huge brass box with several indentations in its surface." icon_state = "brassbox" item_state = null + resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_HUGE max_w_class = WEIGHT_CLASS_NORMAL max_combined_w_class = 28 diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index 2b93bec6b52..197a3cad49f 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/wallets.dmi' icon_state = "wallet" w_class = WEIGHT_CLASS_SMALL - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE can_hold = list( /obj/item/stack/spacecash, /obj/item/card, diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 21f43073b73..3ccc27db955 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -122,6 +122,7 @@ item_state = "jetpack-captain" volume = 90 w_class = WEIGHT_CLASS_NORMAL + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //steal objective items are hard to destroy. /obj/item/tank/jetpack/oxygen/harness name = "jet harness (oxygen)" diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm index 66bc8f6fb66..7819c1c8b54 100644 --- a/code/game/objects/items/weapons/tanks/watertank.dm +++ b/code/game/objects/items/weapons/tanks/watertank.dm @@ -10,6 +10,7 @@ slowdown = 1 actions_types = list(/datum/action/item_action/toggle_mister) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF var/obj/item/noz var/on = 0 diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 1869fa6d95f..c463c7897fc 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -105,6 +105,7 @@ Frequency: materials = list(MAT_METAL=10000) origin_tech = "magnets=3;bluespace=4" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/active_portals = 0 /obj/item/hand_tele/attack_self(mob/user as mob) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index a6d914ce553..64e2d23dceb 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -45,6 +45,7 @@ desc = "A brass wrench. It's faintly warm to the touch." icon_state = "wrench_brass" toolspeed = 0.5 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/wrench/abductor name = "alien wrench" @@ -172,6 +173,7 @@ icon_state = "screwdriver_brass" toolspeed = 0.5 random_color = FALSE + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/screwdriver/abductor name = "alien screwdriver" @@ -267,6 +269,7 @@ icon_state = "cutters_brass" toolspeed = 0.5 random_color = FALSE + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/wirecutters/abductor name = "alien wirecutters" @@ -330,6 +333,7 @@ var/deac_sound = 'sound/items/welderdeactivate.ogg' w_class = WEIGHT_CLASS_SMALL armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF materials = list(MAT_METAL=70, MAT_GLASS=30) origin_tech = "engineering=1;plasmatech=1" toolspeed = 1 @@ -661,6 +665,7 @@ desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." icon_state = "brasswelder" item_state = "brasswelder" + resistance_flags = FIRE_PROOF | ACID_PROOF obj/item/weldingtool/experimental/process() ..() @@ -699,6 +704,7 @@ obj/item/weldingtool/experimental/process() icon_state = "crowbar_brass" item_state = "crowbar_brass" toolspeed = 0.5 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/crowbar/abductor name = "alien crowbar" diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 546286380ec..27a844ca5c8 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -115,6 +115,7 @@ icon_state = "offhand" name = "offhand" flags = ABSTRACT + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/item/twohanded/offhand/unwield() if(!QDELETED(src)) @@ -182,6 +183,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' usesound = 'sound/items/crowbar.ogg' armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF /obj/item/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons. icon_state = "fireaxe[wielded]" @@ -232,6 +234,7 @@ block_chance = 75 sharp_when_wielded = TRUE // only sharp when wielded armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) + resistance_flags = FIRE_PROOF light_power = 2 var/brightness_on = 2 var/colormap = list(red=LIGHT_COLOR_RED, blue=LIGHT_COLOR_LIGHTBLUE, green=LIGHT_COLOR_GREEN, purple=LIGHT_COLOR_PURPLE, rainbow=LIGHT_COLOR_WHITE) @@ -589,6 +592,7 @@ throw_range = 1 w_class = WEIGHT_CLASS_HUGE armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF var/charged = 5 origin_tech = "combat=4;bluespace=4;plasmatech=7" @@ -810,6 +814,7 @@ attack_verb = list("attacked", "impaled", "pierced") hitsound = 'sound/weapons/bladeslice.ogg' armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF /obj/item/twohanded/pitchfork/demonic name = "demonic pitchfork" diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 579870aed28..4f30d5808f0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -10,6 +10,7 @@ throw_range = 15 attack_verb = list("banned") armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) + resistance_flags = FIRE_PROOF /obj/item/banhammer/suicide_act(mob/user) @@ -48,6 +49,7 @@ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 50 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF /obj/item/claymore/suicide_act(mob/user) user.visible_message("[user] is falling on the [name]! It looks like [user.p_theyre()] trying to commit suicide.") @@ -73,6 +75,7 @@ attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 50 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF /obj/item/katana/cursed slot_flags = null @@ -149,6 +152,7 @@ embedded_fall_chance = 0 //Hahaha! sharp = 1 materials = list(MAT_METAL=500, MAT_GLASS=500) + resistance_flags = FIRE_PROOF /obj/item/spear/kidan icon_state = "kidanspear" diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index f4ef8744652..868aeeff335 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -164,7 +164,7 @@ /obj/structure/examine(mob/user) ..() if(!(resistance_flags & INDESTRUCTIBLE)) - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) to_chat(user, "It's on fire!") if(broken) to_chat(user, "It appears to be broken.") diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index ceac14daa5c..af1552de982 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -16,7 +16,7 @@ LINEN BINS throw_range = 2 w_class = WEIGHT_CLASS_TINY item_color = "white" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE slot_flags = SLOT_BACK dog_fashion = /datum/dog_fashion/head/ghost @@ -236,8 +236,8 @@ LINEN BINS icon = 'icons/obj/structures.dmi' icon_state = "linenbin-full" anchored = 1 - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 var/amount = 20 var/list/sheets = list() var/obj/item/hidden = null diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index f642960e52e..6f0bd9f257c 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -5,9 +5,9 @@ icon_state = "cardboard" icon_opened = "cardboard_open" icon_closed = "cardboard" - health = 10 - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 + integrity_failure = 0 sound = 'sound/effects/rustle2.ogg' material_drop = /obj/item/stack/sheet/cardboard var/amt = 4 diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm index 6e34e70894e..eb0958f03c6 100644 --- a/code/game/objects/structures/crates_lockers/closets/coffin.dm +++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm @@ -4,8 +4,8 @@ icon_state = "coffin" icon_closed = "coffin" icon_opened = "coffin_open" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 material_drop = /obj/item/stack/sheet/wood /obj/structure/closet/coffin/update_icon() diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index 94895458d2b..6f388b0bd40 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -4,8 +4,8 @@ icon_state = "cabinet_closed" icon_closed = "cabinet_closed" icon_opened = "cabinet_open" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 /obj/structure/closet/cabinet/update_icon() if(!opened) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm index 195b9e2864c..b8f57705d64 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm @@ -7,8 +7,8 @@ icon_opened = "cabinetdetective_open" icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 /obj/structure/closet/secure_closet/bar/New() ..() 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 5c75494a27a..39ccdd14d5d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -33,8 +33,8 @@ icon_opened = "cabinetdetective_open" icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 /obj/structure/closet/secure_closet/personal/cabinet/update_icon() if(broken) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 2501c32c2a6..4eee8bd4245 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -333,8 +333,8 @@ icon_opened = "cabinetdetective_open" icon_broken = "cabinetdetective_broken" icon_off = "cabinetdetective_broken" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 /obj/structure/closet/secure_closet/detective/New() ..() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index b47d44fa766..871d4827f16 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -16,6 +16,7 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) name = "display case frame" icon = 'icons/obj/stock_parts.dmi' icon_state = "box_glass" + resistance_flags = ACID_PROOF armor = list("melee" = 30, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) var/obj/item/airlock_electronics/circuit = null var/obj/item/assembly/prox_sensor/sensor = null @@ -95,7 +96,7 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) desc = "A display case for prized possessions. It taunts you to kick it." density = TRUE anchored = TRUE - unacidable = TRUE //Dissolving the case would also delete the contents. + resistance_flags = ACID_PROOF armor = list("melee" = 30, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100) var/health = 30 var/obj/item/occupant = null diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 998120c3ee8..7fa3dd3f51e 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -5,8 +5,6 @@ icon_state = "dresser" density = 1 anchored = 1 - burn_state = FLAMMABLE - burntime = 25 /obj/structure/dresser/attack_hand(mob/user as mob) if(!Adjacent(user))//no tele-grooming diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 482bf4b84b6..ed5c43b5a67 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -333,8 +333,7 @@ desc = "A huge chunk of warm metal. The clanging of machinery emanates from within." icon = 'icons/turf/walls/clockwork_wall.dmi' icon_state = "clockwork_wall" - burn_state = FIRE_PROOF - unacidable = TRUE + resistance_flags = FIRE_PROOF | ACID_PROOF mineral_amount = 1 canSmoothWith = list(/obj/effect/clockwork/overlay/wall, /obj/structure/falsewall/brass) girder_type = /obj/structure/clockwork/wall_gear/displaced diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 9c51cc0d451..7830fd4f101 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -1,6 +1,6 @@ /obj/structure/flora - burn_state = FLAMMABLE - burntime = 30 + resistance_flags = FLAMMABLE + max_integrity = 150 //trees /obj/structure/flora/tree @@ -244,7 +244,7 @@ desc = "a rock" icon_state = "rock1" icon = 'icons/obj/flora/rocks.dmi' - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF anchored = 1 /obj/structure/flora/rock/New() diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index 7ce1f6626b9..f906bb30a34 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -13,7 +13,7 @@ move_resist = INFINITY // just killing it tears a massive hole in the ground, let's not move it anchored = TRUE - burn_state = LAVA_PROOF + resistance_flags = FIRE_PROOF | LAVA_PROOF var/gps = null var/obj/effect/light_emitter/tendril/emitted_light diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index d65f6fd167c..52a227b66b6 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -250,8 +250,8 @@ closeSound = 'sound/effects/doorcreaky.ogg' sheetType = /obj/item/stack/sheet/wood hardness = 1 - burn_state = FLAMMABLE - burntime = 30 + resistance_flags = FLAMMABLE + max_integrity = 200 /obj/structure/mineral_door/resin name = "resin door" diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 68a3081fc22..dfab5ccadab 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -17,8 +17,7 @@ GLOBAL_LIST_EMPTY(safes) anchored = TRUE density = TRUE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/open = FALSE var/locked = TRUE diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 6f7d29ae9cc..f7d0b1cbc07 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -42,7 +42,7 @@ desc = "" icon = 'icons/obj/decals.dmi' w_class = WEIGHT_CLASS_NORMAL - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/sign_state = "" /obj/item/sign/attackby(obj/item/tool as obj, mob/user as mob) //construction @@ -125,11 +125,13 @@ name = "\improper DANGER: FIRE" desc = "A warning sign which reads 'DANGER: FIRE'" icon_state = "fire" + resistance_flags = FIRE_PROOF /obj/structure/sign/nosmoking_1 name = "\improper NO SMOKING" desc = "A warning sign which reads 'NO SMOKING'" icon_state = "nosmoking" + resistance_flags = FLAMMABLE /obj/structure/sign/nosmoking_2 name = "\improper NO SMOKING" diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index adbeffd600d..85d58d2de3a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -17,8 +17,9 @@ can_buckle = TRUE anchored = TRUE buckle_lying = TRUE - burn_state = FLAMMABLE - burntime = 30 + resistance_flags = FLAMMABLE + max_integrity = 100 + integrity_failure = 30 var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 2 buckle_offset = -6 @@ -62,7 +63,7 @@ name = "roller bed" icon = 'icons/obj/rollerbed.dmi' icon_state = "down" - burn_state = FIRE_PROOF + resistance_flags = NONE anchored = FALSE comfort = 1 diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 8192e39b85d..d389a7e9983 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -7,7 +7,7 @@ can_buckle = TRUE buckle_lying = FALSE // you sit in a chair, not lay anchored = TRUE - burn_state = FIRE_PROOF + resistance_flags = NONE buckle_offset = 0 var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 1 @@ -136,8 +136,8 @@ name = "wooden chair" desc = "Old is never too old to not be in fashion." icon_state = "wooden_chair" - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE + max_integrity = 70 buildstackamount = 3 buildstacktype = /obj/item/stack/sheet/wood item_chair = /obj/item/chair/wood @@ -154,8 +154,8 @@ desc = "It looks comfy." icon_state = "comfychair" color = rgb(255, 255, 255) - burn_state = FLAMMABLE - burntime = 30 + resistance_flags = FLAMMABLE + max_integrity = 70 buildstackamount = 2 item_chair = null var/image/armrest = null @@ -415,7 +415,7 @@ name = "wooden chair" icon_state = "wooden_chair_toppled" item_state = "woodenchair" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE max_integrity = 70 hitsound = 'sound/weapons/genhit1.ogg' origin_type = /obj/structure/chair/wood diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 1786d8cc8ff..fe2ee995413 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -100,7 +100,7 @@ icon_state = "wood_frame" framestack = /obj/item/stack/sheet/wood framestackamount = 2 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/structure/table_frame/wood/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/sheet/wood)) @@ -127,8 +127,7 @@ name = "brass table frame" desc = "Four pieces of brass arranged in a square. It's slightly warm to the touch." icon_state = "brass_frame" - burn_state = FIRE_PROOF - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF framestack = /obj/item/stack/tile/brass framestackamount = 1 diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index e44fe844bdd..665175fc4b7 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -368,9 +368,9 @@ icon = 'icons/obj/smooth_structures/glass_table.dmi' icon_state = "glass_table" buildstack = /obj/item/stack/sheet/glass - max_integrity = 70 - unacidable = 1 canSmoothWith = null + max_integrity = 70 + resistance_flags = ACID_PROOF armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) var/list/debris = list() @@ -453,8 +453,7 @@ buildstack = /obj/item/stack/sheet/wood max_integrity = 70 canSmoothWith = list(/obj/structure/table/wood, /obj/structure/table/wood/poker) - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE /obj/structure/table/wood/narsie_act(total_override = TRUE) if(!total_override) @@ -550,7 +549,7 @@ desc = "A solid, slightly beveled brass table." icon = 'icons/obj/smooth_structures/brass_table.dmi' icon_state = "brass_table" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF frame = /obj/structure/table_frame/brass framestack = /obj/item/stack/tile/brass buildstack = /obj/item/stack/tile/brass diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 0958f3cc0e0..fc5ec2b9339 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -671,6 +671,7 @@ icon_state = "puddle" can_move = 0 can_rotate = 0 + resistance_flags = UNACIDABLE /obj/structure/sink/puddle/attack_hand(mob/M as mob) icon_state = "puddle-splash" diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index b059daa6d6f..39b40149eba 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -32,6 +32,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f flags = ON_BORDER can_be_unanchored = TRUE max_integrity = 25 + resistance_flags = ACID_PROOF armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) var/ini_dir = null var/state = WINDOW_OUT_OF_FRAME @@ -693,8 +694,7 @@ obj/structure/window/full/reinforced/ice desc = "A paper-thin pane of translucent yet reinforced brass." icon = 'icons/obj/smooth_structures/clockwork_window.dmi' icon_state = "clockwork_window_single" - burn_state = FIRE_PROOF - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF max_integrity = 80 armor = list("melee" = 60, "bullet" = 25, "laser" = 0, "energy" = 0, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 100) explosion_block = 2 //fancy AND hard to destroy. the most useful combination. diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index b06a08b295d..bd304b93883 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.dmi' + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list(melee = 100, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70) //default + ignores melee /obj/structure/shuttle/shuttleRotate(rotation) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index addc6f847ab..29f79cae1a7 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -165,6 +165,7 @@ desc = "The neutralized core of an anomaly. It'd probably be valuable for research." icon_state = "anomaly core" item_state = "electronic" + resistance_flags = FIRE_PROOF receiving = TRUE /obj/item/assembly/signaler/anomaly/receive_signal(datum/signal/signal) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index d6e72f1505c..86e11158ae5 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -6,7 +6,7 @@ var/obj/machinery/gateway/centerstation/the_gateway = null icon_state = "off" density = 1 anchored = 1 - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/active = 0 /obj/machinery/gateway/Initialize() diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm index b66b272c763..83cdfd8ac5c 100644 --- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm @@ -160,7 +160,7 @@ item_state = "anc_helm" armor = list("melee" = 30, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) item_color = "ancient" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF sprite_sheets = null /obj/item/clothing/suit/space/hardsuit/ancient @@ -170,7 +170,7 @@ item_state = "anc_hardsuit" armor = list("melee" = 30, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) slowdown = 3 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF sprite_sheets = null helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ancient var/footstep = 1 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 05eed4f5951..051b03d2252 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -1,6 +1,6 @@ /obj/item/clothing name = "clothing" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/list/species_restricted = null //Only these species can wear this kit. var/scan_reagents = 0 //Can the wearer see reagents while it's equipped? @@ -123,7 +123,7 @@ w_class = WEIGHT_CLASS_TINY throwforce = 2 slot_flags = SLOT_EARS - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/ears.dmi', "Vox Armalis" = 'icons/mob/species/armalis/ears.dmi' @@ -201,7 +201,7 @@ var/over_mask = FALSE //Whether or not the eyewear is rendered above the mask. Purely cosmetic. strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets put_on_delay = 25 - burn_state = FIRE_PROOF + resistance_flags = NONE species_restricted = list("exclude","Kidan") /* SEE_SELF // can see self, no matter what @@ -600,7 +600,7 @@ BLIND // can't see anything flash_protect = 2 strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = NONE dog_fashion = null /obj/item/clothing/suit/space @@ -623,7 +623,7 @@ BLIND // can't see anything max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT strip_delay = 80 put_on_delay = 80 - burn_state = FIRE_PROOF + resistance_flags = NONE hide_tail_by_species = null species_restricted = list("exclude","Vox","Wryn") diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index 74164f0e245..2ba883a6f89 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -7,7 +7,7 @@ flags_2 = HEALS_EARS_2 strip_delay = 15 put_on_delay = 25 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clothing/ears/headphones name = "headphones" @@ -16,7 +16,6 @@ icon_state = "headphones0" item_state = null actions_types = list(/datum/action/item_action/toggle_headphones) - burn_state = FLAMMABLE /obj/item/clothing/ears/headphones/attack_self(mob/user) on = !on diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 6cab9cbddd0..ce29fa8f7b1 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -104,6 +104,7 @@ origin_tech = "magnets=2;engineering=1" prescription_upgradable = 0 scan_reagents = 1 //You can see reagents while wearing science goggles + resistance_flags = ACID_PROOF armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi', @@ -449,7 +450,7 @@ flags = NODROP flags_cover = null lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - + resistance_flags = LAVA_PROOF | FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/eyes.dmi', "Grey" = 'icons/mob/species/grey/eyes.dmi', diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 00a548494ab..3528b19cebd 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -6,7 +6,7 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 item_color="yellow" - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/gloves/color/yellow/power description_antag = "These are a pair of power gloves, and can be used to fire bolts of electricity while standing over powered power cables." @@ -58,7 +58,7 @@ siemens_coefficient = 1 //Set to a default of 1, gets overridden in New() permeability_coefficient = 0.05 item_color="yellow" - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/gloves/color/fyellow/New() ..() @@ -82,7 +82,7 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = NONE var/can_be_cut = 1 @@ -131,7 +131,7 @@ desc = "These gloves will protect the wearer from electric shock." siemens_coefficient = 0 permeability_coefficient = 0.05 - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/gloves/color/rainbow name = "rainbow gloves" @@ -202,7 +202,7 @@ permeability_coefficient = 0.01 item_color="white" transfer_prints = TRUE - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/gloves/color/latex/nitrile name = "nitrile gloves" diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index d592f90a407..fef737982fa 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -36,7 +36,7 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) /obj/item/clothing/gloves/bracer @@ -64,7 +64,7 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 30) /obj/item/clothing/gloves/batmangloves diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 2cfc2adccaf..cc5c3248b19 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -64,7 +64,6 @@ desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!" icon_state = "welding" item_state = "welding" - burn_state = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/helmet.dmi', @@ -135,14 +134,12 @@ desc = "Go Red! I mean Green! I mean Red! No Green!" icon_state = "thunderdome" item_state = "thunderdome" - burn_state = FIRE_PROOF /obj/item/clothing/head/collectable/swat name = "collectable SWAT helmet" desc = "Now you can be in the Deathsquad too!" icon_state = "swat" item_state = "swat" - burn_state = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/helmet.dmi' diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 728062c9745..18b92433f83 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -10,7 +10,7 @@ armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50) flags_inv = 0 actions_types = list(/datum/action/item_action/toggle_helmet_light) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF dog_fashion = /datum/dog_fashion/head/hardhat sprite_sheets = list( "Grey" = 'icons/mob/species/grey/head.dmi' diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 211ff97610a..d47e3c32365 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -12,7 +12,6 @@ heat_protection = HEAD max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 60 - burn_state = FIRE_PROOF dog_fashion = /datum/dog_fashion/head/helmet sprite_sheets = list( "Vox" = 'icons/mob/species/vox/helmet.dmi', @@ -158,6 +157,7 @@ desc = "An ancient helmet made of bronze and leather." flags = null armor = list("melee" = 25, "bullet" = 0, "laser" = 25, "energy" = 10, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF icon_state = "roman" item_state = "roman" strip_delay = 100 @@ -260,6 +260,7 @@ obj/item/clothing/head/blob desc = "A helmet made from durathread and leather." icon_state = "durathread" item_state = "durathread" + resistance_flags = FLAMMABLE armor = list("melee" = 20, "bullet" = 10, "laser" = 30, "energy" = 5, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 50) strip_delay = 60 diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index a12b8607f15..97d26b799e2 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -400,7 +400,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_SMALL attack_verb = list("warned", "cautioned", "smashed") - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/head/jester name = "jester hat" @@ -473,6 +473,7 @@ desc = "A crown fit for a king, a petty king maybe." icon_state = "crown" armor = list("melee" = 15, "bullet" = 0, "laser" = 0,"energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF /obj/item/clothing/head/crown/fancy name = "magnificent crown" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index fb92d82adcf..d939dadffba 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -25,7 +25,7 @@ flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) actions_types = list(/datum/action/item_action/toggle) visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/head.dmi', diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 638aa3c2c84..c37fad48906 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -9,7 +9,7 @@ gas_transfer_coefficient = 0.10 permeability_coefficient = 0.50 actions_types = list(/datum/action/item_action/adjust) - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', "Vox Armalis" = 'icons/mob/species/armalis/mask.dmi', diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 74636fc5a7e..b6e3164a44d 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -9,7 +9,7 @@ item_state = "gas_alt" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', "Unathi" = 'icons/mob/species/unathi/mask.dmi', @@ -36,6 +36,7 @@ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE flags_cover = MASKCOVERSEYES visor_flags_inv = HIDEEYES + resistance_flags = FIRE_PROOF /obj/item/clothing/mask/gas/welding/attack_self(mob/user) weldingvisortoggle(user) @@ -46,7 +47,7 @@ icon_state = "gas_mining" actions_types = list(/datum/action/item_action/adjust) armor = list("melee" = 10, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 20, "acid" = 40) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', @@ -107,7 +108,7 @@ icon_state = "clown" item_state = "clown_hat" flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE dog_fashion = /datum/dog_fashion/head/clown /obj/item/clothing/mask/gas/clown_hat/attack_self(mob/user) @@ -149,7 +150,7 @@ desc = "The traditional mime's mask. It has an eerie facial posture." icon_state = "mime" item_state = "mime" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/mime/nodrop flags = NODROP @@ -159,26 +160,26 @@ desc = "A mask used when acting as a monkey." icon_state = "monkeymask" item_state = "monkeymask" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/sexymime name = "sexy mime mask" desc = "A traditional female mime's mask." icon_state = "sexymime" item_state = "sexymime" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/cyborg name = "cyborg visor" desc = "Beep boop" icon_state = "death" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clothing/mask/gas/owl_mask name = "owl mask" desc = "Twoooo!" icon_state = "owl" - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/hoot) /obj/item/clothing/mask/gas/owl_mask/super_hero diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 7a5bd2255da..97045483e99 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -11,7 +11,7 @@ actions_types = list(/datum/action/item_action/toggle) strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/shoes/magboots/attack_self(mob/user) if(magpulse) @@ -44,6 +44,7 @@ magboot_state = "advmag" slowdown_active = SHOES_SLOWDOWN origin_tech = null + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/clothing/shoes/magboots/syndie desc = "Reverse-engineered magnetic boots that have a heavy magnetic pull. Property of Gorlex Marauders." diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 73ab55c1032..d3943936ae5 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -11,7 +11,7 @@ item_state = "jackboots" armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) strip_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/shoes/combat/swat //overpowered boots for death squads name = "\improper SWAT shoes" @@ -32,6 +32,12 @@ desc = "A pair of magic, black shoes." name = "magic shoes" icon_state = "black" + resistance_flags = FIRE_PROOF | ACID_PROOF + +/obj/item/clothing/shoes/sandal/magic + name = "magical sandals" + desc = "A pair of sandals imbued with magic." + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/shoes/galoshes desc = "A pair of yellow rubber boots, designed to prevent slipping on wet surfaces." @@ -42,7 +48,7 @@ slowdown = SHOES_SLOWDOWN+1 strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 75) /obj/item/clothing/shoes/galoshes/dry @@ -106,7 +112,7 @@ item_color = "hosred" strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = NONE var/footstep = 1 shoe_sound = "jackboot" @@ -127,7 +133,7 @@ name = "mining boots" desc = "Steel-toed mining boots for mining in hazardous environments. Very good at keeping toes uncrushed." icon_state = "explorer" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/shoes/winterboots name = "winter boots" @@ -312,7 +318,7 @@ icon_state = "jetboots" item_state = "jetboots" item_color = "hosred" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF actions_types = list(/datum/action/item_action/bhop) permeability_coefficient = 0.05 can_cut_open = FALSE diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 7db1b518c94..80f2aa89049 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -5,6 +5,7 @@ item_state = "chronohelmet" slowdown = 1 armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 90, "rad" = 90, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/clothing/suit/space/chronos/suit = null /obj/item/clothing/head/helmet/space/chronos/dropped() @@ -24,6 +25,7 @@ item_state = "chronosuit" actions_types = list(/datum/action/item_action/toggle) armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 90, "rad" = 90, "fire" = 100, "acid" = 1000) + resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/clothing/head/helmet/space/chronos/helmet = null var/obj/effect/chronos_cam/camera = null var/activating = 0 diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index b0d9bc0b11b..861d8e8a433 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -6,6 +6,7 @@ item_state = "helm-command" item_color = "ert_commander" armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50, fire = 80, acid = 80) + resistance_flags = FIRE_PROOF var/obj/machinery/camera/camera var/has_camera = TRUE strip_delay = 130 @@ -43,7 +44,7 @@ /obj/item/gun/energy/gun/advtaser, /obj/item/melee/baton, /obj/item/gun/energy/gun, /obj/item/gun/projectile/automatic/lasercarbine, /obj/item/gun/energy/gun/blueshield, /obj/item/gun/energy/immolator/multi) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert strip_delay = 130 - + resistance_flags = FIRE_PROOF sprite_sheets = list( "Drask" = 'icons/mob/species/drask/suit.dmi', "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -189,6 +190,7 @@ item_color = "ert_paranormal" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT actions_types = list() + resistance_flags = FIRE_PROOF has_camera = FALSE sprite_sheets = list( "Grey" = 'icons/mob/species/grey/helmet.dmi', @@ -203,6 +205,7 @@ icon_state = "hardsuit-paranormal" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal + resistance_flags = FIRE_PROOF sprite_sheets = list( "Tajaran" = 'icons/mob/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/species/unathi/suit.dmi', diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index bd65947fdf1..f1cd49e65ec 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -177,6 +177,7 @@ icon_state = "hardsuit0-engineering" item_state = "eng_helm" armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + resistance_flags = FIRE_PROOF item_color = "engineering" /obj/item/clothing/suit/space/hardsuit/engine @@ -187,6 +188,7 @@ armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine dog_fashion = /datum/dog_fashion/back/hardsuit + resistance_flags = FIRE_PROOF //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -241,6 +243,7 @@ item_state = "mining_helm" item_color = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF heat_protection = HEAD armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 75) brightness_on = 7 @@ -251,6 +254,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating." item_state = "mining_hardsuit" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 75) allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/storage/bag/ore, /obj/item/pickaxe, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -359,7 +363,7 @@ armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - unacidable = TRUE + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/suit/space/hardsuit/syndi/elite name = "elite syndicate hardsuit" @@ -370,7 +374,7 @@ armor = list("melee" = 60, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 55, "bio" = 100, "rad" = 70, "fire" = 100, "acid" = 100) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - unacidable = TRUE + resistance_flags = FIRE_PROOF | ACID_PROOF //Strike team hardsuits /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sst @@ -412,7 +416,7 @@ icon_state = "hardsuit0-wiz" item_state = "wiz_helm" item_color = "wiz" - unacidable = TRUE //No longer shall our kind be foiled by lone chemists with spray bottles! + resistance_flags = FIRE_PROOF | ACID_PROOF //No longer shall our kind be foiled by lone chemists with spray bottles! armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 20, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -424,7 +428,7 @@ desc = "A bizarre gem-encrusted suit that radiates magical energies." item_state = "wiz_hardsuit" w_class = WEIGHT_CLASS_NORMAL - unacidable = TRUE + resistance_flags = FIRE_PROOF | ACID_PROOF armor = list("melee" = 40, "bullet" = 40, "laser" = 40, "energy" = 20, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) allowed = list(/obj/item/teleportation_scroll,/obj/item/tank) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection @@ -515,9 +519,10 @@ name = "shielded hardsuit" desc = "A hardsuit with built in energy shielding. Will rapidly recharge when not under fire." icon_state = "hardsuit-hos" - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded allowed = list(/obj/item/flashlight,/obj/item/tank, /obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs) armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF var/current_charges = 3 var/max_charges = 3 //How many charges total the shielding has var/recharge_delay = 200 //How long after we've been shot before we can start recharging. 20 seconds here @@ -558,6 +563,9 @@ var/mob/living/carbon/human/C = loc C.update_inv_wear_suit() +/obj/item/clothing/head/helmet/space/hardsuit/shielded + resistance_flags = FIRE_PROOF | ACID_PROOF + //////Syndicate Version /obj/item/clothing/suit/space/hardsuit/shielded/syndi diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 00c64d49b0b..a786364e4e2 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -45,7 +45,7 @@ item_state = "deathsquad" armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF vision_flags = SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these see_in_dark = 8 @@ -60,7 +60,7 @@ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat) armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF strip_delay = 130 dog_fashion = /datum/dog_fashion/back/deathsquad @@ -73,6 +73,7 @@ allowed = list(/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/tank,/obj/item/kitchen/knife/combat) armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 30, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) strip_delay = 120 + resistance_flags = FIRE_PROOF | ACID_PROOF species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -95,6 +96,7 @@ flags_inv = 0 slowdown = 0 armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_NORMAL //Space santa outfit suit diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 165ad80fa73..73b95c0d3f7 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -8,7 +8,7 @@ flash_protect = 2 tint = 2 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 100, "acid" = 75) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/brightness_on = 4 //luminosity when the light is on var/on = FALSE var/smile = FALSE diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index b463a513764..36283c66bd7 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -22,7 +22,6 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT siemens_coefficient = 0.2 permeability_coefficient = 0.1 - unacidable = 1 var/interface_path = "hardsuit.tmpl" var/ai_interface_path = "hardsuit.tmpl" @@ -156,7 +155,6 @@ if(piece.siemens_coefficient > siemens_coefficient) //So that insulated gloves keep their insulation. piece.siemens_coefficient = siemens_coefficient piece.permeability_coefficient = permeability_coefficient - piece.unacidable = unacidable if(islist(armor)) var/list/L = armor piece.armor = L.Copy() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index b6e7b8aab0c..9ab6ae07811 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -7,7 +7,8 @@ max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 put_on_delay = 40 - burn_state = FIRE_PROOF + max_integrity = 250 + resistance_flags = NONE armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -147,7 +148,7 @@ cold_protection = UPPER_TORSO|LOWER_TORSO|HANDS heat_protection = UPPER_TORSO|LOWER_TORSO|HANDS strip_delay = 70 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE dog_fashion = null /obj/item/clothing/suit/armor/vest/warden/alt @@ -163,6 +164,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) dog_fashion = null + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/armor/vest/capcarapace/alt name = "captain's parade jacket" @@ -217,7 +219,7 @@ icon_state = "durathread" item_state = "durathread" strip_delay = 60 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE armor = list("melee" = 20, "bullet" = 10, "laser" = 30, "energy" = 5, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 50) /obj/item/clothing/suit/armor/bulletproof @@ -237,6 +239,7 @@ item_state = "armor_reflec" blood_overlay_type = "armor" armor = list("melee" = 10, "bullet" = 10, "laser" = 60, "energy" = 50, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/hit_reflect_chance = 40 /obj/item/clothing/suit/armor/laserproof/IsReflect(var/def_zone) @@ -253,7 +256,7 @@ blood_overlay_type = "armor" flags_size = ONESIZEFITSALL allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/reagent_containers/spray/pepper,/obj/item/flashlight,/obj/item/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/storage/fancy/cigarettes,/obj/item/lighter,/obj/item/detective_scanner,/obj/item/taperecorder) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE dog_fashion = null //Reactive armor @@ -266,7 +269,7 @@ blood_overlay_type = "armor" armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) actions_types = list(/datum/action/item_action/toggle) - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF hit_reaction_chance = 50 /obj/item/clothing/suit/armor/reactive/attack_self(mob/user) @@ -484,7 +487,6 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO|LOWER_TORSO max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 40, acid = 40) //LAVALAND! @@ -500,7 +502,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/hooded/drake name = "drake helmet" @@ -510,7 +512,7 @@ armor = list("melee" = 70, "bullet" = 30, "laser" = 50, "energy" = 40, "bomb" = 70, "bio" = 60, "rad" = 50, "fire" = 100, "acid" = 100) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF flags = BLOCKHAIR flags_cover = HEADCOVERSEYES diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 33ac31f3550..6a2d582d355 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -8,7 +8,7 @@ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 80, "fire" = 30, "acid" = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES - burn_state = FIRE_PROOF + resistance_flags = ACID_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/helmet.dmi', @@ -35,7 +35,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = ACID_PROOF sprite_sheets = list( "Tajaran" = 'icons/mob/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/species/unathi/suit.dmi', diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 1f6fe5995d6..dde11f1fcee 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -235,7 +235,7 @@ item_state = "hazard" blood_overlay_type = "armor" allowed = list (/obj/item/flashlight, /obj/item/t_scanner, /obj/item/tank/emergency_oxygen) - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -292,7 +292,7 @@ max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 put_on_delay = 40 - burn_state = FIRE_PROOF + resistance_flags = NONE //Head of Personnel /obj/item/clothing/suit/mantle/armor/head_of_personnel diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e2ddb3c8e6b..1a2cdbd31a2 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -17,7 +17,7 @@ blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list (/obj/item/gun/energy/laser/tag/blue) - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -31,7 +31,7 @@ blood_overlay_type = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list (/obj/item/gun/energy/laser/tag/red) - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -138,7 +138,7 @@ w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/suit/hastur @@ -581,7 +581,7 @@ desc = "A long, thick black leather coat." icon_state = "leathercoat" item_state = "leathercoat" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/browncoat name = "brown leather coat" @@ -791,7 +791,7 @@ ignore_suitadjust = 1 actions_types = list() adjust_flavour = null - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/suit/jacket/leather/overcoat name = "leather overcoat" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 515b3d27ac5..87df2c38b33 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -29,7 +29,7 @@ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT strip_delay = 60 put_on_delay = 60 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/fire/firefighter icon_state = "firesuit" @@ -75,7 +75,7 @@ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/helmet.dmi', @@ -101,7 +101,7 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' @@ -129,7 +129,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 put_on_delay = 60 - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/head.dmi', @@ -152,7 +152,7 @@ flags_inv = HIDEJUMPSUIT|HIDETAIL strip_delay = 60 put_on_delay = 60 - burn_state = FIRE_PROOF + resistance_flags = NONE sprite_sheets = list( "Vox" = 'icons/mob/species/vox/suit.dmi' diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 393ba16687d..f1c709869b9 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -5,8 +5,7 @@ gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE permeability_coefficient = 0.01 armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100) - unacidable = 1 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF //Not given any special protective value since the magic robes are full-body protection --NEO strip_delay = 50 put_on_delay = 50 @@ -41,6 +40,7 @@ permeability_coefficient = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) magical = FALSE + resistance_flags = FLAMMABLE dog_fashion = /datum/dog_fashion/head/blue_wizard /obj/item/clothing/head/wizard/marisa @@ -73,10 +73,9 @@ armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 100, "acid" = 100) allowed = list(/obj/item/teleportation_scroll) flags_inv = HIDEJUMPSUIT - unacidable = 1 strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF magical = TRUE /obj/item/clothing/suit/wizrobe/red @@ -129,8 +128,7 @@ gas_transfer_coefficient = 1 permeability_coefficient = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - unacidable = 0 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE magical = FALSE /obj/item/clothing/head/wizard/marisa/fake @@ -140,8 +138,7 @@ gas_transfer_coefficient = 1 permeability_coefficient = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - unacidable = 0 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE magical = FALSE /obj/item/clothing/suit/wizrobe/marisa/fake @@ -152,6 +149,5 @@ gas_transfer_coefficient = 1 permeability_coefficient = 1 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - unacidable = 0 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE magical = FALSE \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 4903d79c6ee..df25a97dffb 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -180,7 +180,7 @@ icon_state = "bronze" item_color = "bronze" materials = list(MAT_METAL=1000) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF // GOLD (awarded by centcom) /obj/item/clothing/accessory/medal/gold @@ -193,6 +193,7 @@ /obj/item/clothing/accessory/medal/gold/captain name = "medal of captaincy" desc = "A golden medal awarded exclusively to those promoted to the rank of captain. It signifies the codified responsibilities of a captain to Nanotrasen, and their undisputable authority over their crew." + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/clothing/accessory/medal/gold/heroism name = "medal of exceptional heroism" diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 17db1997174..3fe4138785a 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -17,7 +17,7 @@ item_state = "bl_suit" item_color = "black" flags_size = ONESIZEFITSALL - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/color/blackf name = "feminine black jumpsuit" diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 65fdafb0da7..14878e402a1 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -7,7 +7,7 @@ item_color = "chief" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) flags_size = ONESIZEFITSALL - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/rank/chief_engineer/skirt desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding." @@ -24,7 +24,7 @@ item_state = "atmos_suit" item_color = "atmos" flags_size = ONESIZEFITSALL - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/rank/atmospheric_technician/skirt desc = "It's a jumpskirt worn by atmospheric technicians." @@ -42,7 +42,7 @@ item_color = "engine" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20) flags_size = ONESIZEFITSALL - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/rank/engineer/skirt @@ -60,6 +60,7 @@ item_state = "robotics" item_color = "robotics" flags_size = ONESIZEFITSALL + resistance_flags = NONE /obj/item/clothing/under/rank/roboticist/skirt desc = "It's a slimming black jumpskirt with reinforced seams; great for industrial work." diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 0fe12f76202..b2ccb715a7f 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -188,7 +188,7 @@ min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO | LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/acj name = "administrative cybernetic jumpsuit" @@ -206,7 +206,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT slowdown = -10 siemens_coefficient = 0 - burn_state = LAVA_PROOF + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF /obj/item/clothing/under/johnny name = "johnny~~ jumpsuit" @@ -378,7 +378,7 @@ item_state = "gladiator" item_color = "gladiator" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/gladiator/ash_walker desc = "This gladiator uniform appears to be covered in ash and fairly dated." @@ -523,7 +523,7 @@ item_color = "roman" item_state = "armor" strip_delay = 100 - burn_state = FIRE_PROOF + resistance_flags = NONE /obj/item/clothing/under/maid name = "maid costume" @@ -721,7 +721,7 @@ icon_state = "atmos" item_state = "atmos_suit" item_color = "atmos" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/contortionist/equipped(mob/living/carbon/human/user, slot) if(!user.ventcrawler) diff --git a/code/modules/events/tear.dm b/code/modules/events/tear.dm index dcc63ba4770..14cea285449 100644 --- a/code/modules/events/tear.dm +++ b/code/modules/events/tear.dm @@ -24,7 +24,6 @@ desc="A tear in the dimensional fabric of space and time." icon='icons/effects/tear.dmi' icon_state="tear" - unacidable = 1 density = 0 anchored = 1 luminosity = 3 diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index d85b882e7db..83079a240f0 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -10,7 +10,7 @@ consume_sound = 'sound/items/drink.ogg' possible_transfer_amounts = list(5,10,15,20,25,30,50) volume = 50 - burn_state = FIRE_PROOF + resistance_flags = NONE antable = FALSE /obj/item/reagent_containers/food/drinks/New() @@ -139,6 +139,7 @@ volume = 5 flags = CONDUCT container_type = OPENCONTAINER + resistance_flags = FIRE_PROOF /obj/item/reagent_containers/food/drinks/trophy/gold_cup name = "gold cup" @@ -185,6 +186,7 @@ desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" list_reagents = list("coffee" = 30) + resistance_flags = FREEZE_PROOF /obj/item/reagent_containers/food/drinks/ice name = "ice cup" @@ -217,6 +219,7 @@ icon_state = "hot_coco" item_state = "coffee" list_reagents = list("hot_coco" = 30, "sugar" = 5) + resistance_flags = FREEZE_PROOF /obj/item/reagent_containers/food/drinks/chocolate name = "hot chocolate" @@ -224,6 +227,7 @@ icon_state = "hot_coco" item_state = "coffee" list_reagents = list("chocolate" = 30) + resistance_flags = FREEZE_PROOF /obj/item/reagent_containers/food/drinks/weightloss name = "weight-loss shake" diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index bdc473d774e..348fea9b23e 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -10,8 +10,7 @@ lefthand_file = 'icons/goonstation/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi' materials = list(MAT_GLASS=500) - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = ACID_PROOF /obj/item/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/reagent_containers/food/snacks/egg)) //breaking eggs diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 6293e72e689..08635f57cd0 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -16,7 +16,7 @@ var/antable = TRUE // Will ants come near it? var/ant_location = null var/ant_timer = null - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE container_type = INJECTABLE /obj/item/reagent_containers/food/Initialize(mapload) diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index 0aa45994e58..38fdaf59a68 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -239,7 +239,7 @@ /obj/item/reagent_containers/food/snacks/goliath_steak name = "goliath steak" desc = "A delicious, lava cooked steak." - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF icon_state = "goliathsteak" trash = null list_reagents = list("protein" = 6, "vitamin" = 2) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 63d21bced03..f2858c298f5 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -15,7 +15,7 @@ var/wine_flavor //If NULL, this is automatically set to the fruit's flavor. Determines the flavor of the wine if distill_reagent is NULL. var/wine_power = 0.1 //Determines the boozepwr of the wine if distill_reagent is NULL. Uses 0.1 - 1.2 not tg's boozepower (divide by 100) else you'll end up with 1000% proof alcohol! dried_type = -1 // Saves us from having to define each stupid grown's dried_type as itself. If you don't want a plant to be driable (watermelons) set this to null in the time definition. - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE origin_tech = "biotech=1" /obj/item/reagent_containers/food/snacks/grown/New(newloc, var/obj/item/seeds/new_seed = null) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index b665f171285..14a4b42ca5f 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -5,7 +5,7 @@ /obj/item/grown // Grown weapons name = "grown_weapon" icon = 'icons/obj/hydroponics/harvest.dmi' - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item. /obj/item/grown/New(newloc, var/obj/item/seeds/new_seed = null) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 45c55f4a7f3..7d59bd3360b 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -80,7 +80,7 @@ hitsound = null materials = null flags = NONE - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/hatchet name = "hatchet" diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index d9e07d96987..091534633f9 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/hydroponics/seeds.dmi' icon_state = "seed" // Unknown plant seed - these shouldn't exist in-game. w_class = WEIGHT_CLASS_TINY - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/plantname = "Plants" // Name of plant when planted. var/product // A type path. The thing that is created when the plant is harvested. var/species = "" // Used to update icons. Should match the name in the sprites unless all icon_* are overriden. diff --git a/code/modules/library/codex_gigas.dm b/code/modules/library/codex_gigas.dm index 63af7f9374b..e908f35b60b 100644 --- a/code/modules/library/codex_gigas.dm +++ b/code/modules/library/codex_gigas.dm @@ -3,7 +3,7 @@ icon_state ="demonomicon" throw_speed = 1 throw_range = 10 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF author = "Forces beyond your comprehension" unique = TRUE title = "The codex gigas" diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 2bff10dd648..2be21e7f3c3 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -18,8 +18,8 @@ anchored = 1 density = 1 opacity = 1 - burn_state = FLAMMABLE - burntime = 30 + resistance_flags = FLAMMABLE + max_integrity = 200 var/health = 50 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) var/tmp/busy = 0 @@ -171,7 +171,7 @@ force = 2 w_class = WEIGHT_CLASS_NORMAL //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) attack_verb = list("bashed", "whacked") - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE var/dat // Actual page content var/due_date = 0 // Game time in 1/10th seconds diff --git a/code/modules/martial_arts/krav_maga.dm b/code/modules/martial_arts/krav_maga.dm index 80498117343..5da6b329dcb 100644 --- a/code/modules/martial_arts/krav_maga.dm +++ b/code/modules/martial_arts/krav_maga.dm @@ -153,6 +153,7 @@ datum/martial_art/krav_maga/grab_act(var/mob/living/carbon/human/A, var/mob/livi /obj/item/clothing/gloves/color/black/krav_maga var/datum/martial_art/krav_maga/style = new can_be_cut = FALSE + resistance_flags = NONE /obj/item/clothing/gloves/color/black/krav_maga/equipped(mob/user, slot) if(!ishuman(user)) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index f8a6843964d..261b7ca9b90 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -12,7 +12,7 @@ hoodtype = /obj/item/clothing/head/hooded/explorer armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran") sprite_sheets = list( @@ -34,7 +34,7 @@ min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/head.dmi', @@ -50,7 +50,7 @@ item_state = "hostile_env" flags = THICKMATERIAL //not spaceproof max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - burn_state = LAVA_PROOF + resistance_flags = FIRE_PROOF | LAVA_PROOF slowdown = 0 armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) allowed = list(/obj/item/flashlight, /obj/item/tank, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) @@ -82,7 +82,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT flags = THICKMATERIAL // no space protection armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - burn_state = LAVA_PROOF + resistance_flags = FIRE_PROOF | LAVA_PROOF /obj/item/clothing/head/helmet/space/hostile_environment/New() ..() diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 23b8904fe84..9c76ed8e73f 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -294,11 +294,8 @@ /obj/structure/fans/tiny/invisible name = "air flow blocker" - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF invisibility = INVISIBILITY_ABSTRACT - //Signs /obj/structure/sign/mining name = "nanotrasen mining corps sign" diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 46df9ddfd9b..5059a7e5be7 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -168,6 +168,7 @@ icon = 'icons/obj/lavaland/ash_flora.dmi' icon_state = "mushroom_shavings" w_class = WEIGHT_CLASS_TINY + resistance_flags = FLAMMABLE seed = /obj/item/seeds/lavaland/polypore wine_power = 0.2 diff --git a/code/modules/mining/lavaland/loot/ashdragon_loot.dm b/code/modules/mining/lavaland/loot/ashdragon_loot.dm index 6a1e563da7a..e9728bc7901 100644 --- a/code/modules/mining/lavaland/loot/ashdragon_loot.dm +++ b/code/modules/mining/lavaland/loot/ashdragon_loot.dm @@ -168,8 +168,7 @@ force = 25 damtype = BURN hitsound = 'sound/weapons/sear.ogg' - burn_state = LAVA_PROOF - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/turf_type = /turf/simulated/floor/plating/lava/smooth var/transform_string = "lava" var/reset_turf_type = /turf/simulated/floor/plating/asteroid/basalt diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index fbe1067918a..7c878df745a 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -26,8 +26,7 @@ icon_state = "blackbox" luminosity = 8 max_n_of_items = INFINITY - unacidable = 1 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF pixel_y = -4 use_power = NO_POWER_USE var/memory_saved = FALSE @@ -113,11 +112,10 @@ desc = "A strange chunk of crystal, being in the presence of it fills you with equal parts excitement and dread." icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "anomaly_crystal" - luminosity = 8 + light_range = 8 use_power = NO_POWER_USE density = 1 - burn_state = LAVA_PROOF - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/activation_method = "touch" var/activation_damage_type = null var/last_use_timer = 0 @@ -440,6 +438,7 @@ icon_state = null //This shouldn't even be visible, so if it DOES show up, at least nobody will notice density = 1 anchored = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE var/mob/living/simple_animal/holder_animal /obj/structure/closet/stasis/process() diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 67b597e90aa..92fe38a0158 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -14,6 +14,7 @@ icon = 'icons/obj/storage.dmi' icon_state = "cultpack" slot_flags = SLOT_BACK + resistance_flags = INDESTRUCTIBLE var/obj/item/storage/backpack/shared/bag /obj/item/shared_storage/red @@ -164,7 +165,7 @@ icon_state = "goliath_boat" icon = 'icons/obj/lavaland/dragonboat.dmi' keytype = /obj/item/oar - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF /obj/vehicle/lavaboat/relaymove(mob/user, direction) var/turf/next = get_step(src, direction) @@ -184,7 +185,7 @@ desc = "Not to be confused with the kind Research hassles you for." force = 12 w_class = WEIGHT_CLASS_NORMAL - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF /datum/crafting_recipe/oar name = "goliath bone oar" @@ -207,7 +208,6 @@ desc = "A tiny ship inside a bottle." icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "ship_bottle" - burn_state = LAVA_PROOF /obj/item/ship_in_a_bottle/attack_self(mob/user) to_chat(user, "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.") @@ -392,6 +392,7 @@ desc = "A dread talisman that can render you completely invulnerable." icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "talisman" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF actions_types = list(/datum/action/item_action/immortality) var/cooldown = 0 diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index ebe71af1f58..ae436214b03 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -6,8 +6,7 @@ icon_state = "necrocrate" icon_opened = "necrocrateopen" icon_closed = "necrocrate" - burn_state = LAVA_PROOF - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/structure/closet/crate/necropolis/tendril desc = "It's watching you suspiciously." diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index dd00368a2ab..43e1e6df480 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -5,7 +5,6 @@ name = "Light emitter" anchored = TRUE invisibility = 101 - unacidable = TRUE var/set_luminosity = 8 var/set_cap = 0 diff --git a/code/modules/mining/money_bag.dm b/code/modules/mining/money_bag.dm index 9f1e9ce4f27..230104f58b7 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -5,8 +5,7 @@ icon_state = "moneybag" force = 10 throwforce = 0 - burn_state = FLAMMABLE - burntime = 20 + resistance_flags = FLAMMABLE max_integrity = 100 w_class = WEIGHT_CLASS_BULKY max_w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index d97a814d82b..9d183f4f1a1 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -6,5 +6,4 @@ icon_state = "s-ninja" item_state = "s-ninja_hood" armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 25, "fire" = 100, "acid" = 100) - unacidable = 1 blockTracking = 1 diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index 2f76673ab13..f88ada9f0b4 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -11,7 +11,6 @@ Contents: desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement." icon_state = "s-ninja(norm)" item_state = "s-ninja_mask" - unacidable = 1 sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 4b146e39709..ed2b0025fad 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -14,7 +14,6 @@ Contents: item_state = "s-ninja_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/melee/baton, /obj/item/tank, /obj/item/stock_parts/cell) slowdown = 0 - unacidable = 1 armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 100, "acid" = 100) var/suitActive = 0 diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index dc16101eac7..be5ba9f8aed 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -12,7 +12,7 @@ var/obj/item/pen/containedpen var/obj/item/toppaper slot_flags = SLOT_BELT - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/clipboard/New() ..() diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 55f220153b1..c32e1fc8a88 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -55,7 +55,7 @@ /obj/item/paper/contract/infernal var/contractType = 0 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/datum/mind/owner icon_state = "evil_contract" diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 7c7fe156ca0..de894e80106 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -5,7 +5,7 @@ icon_state = "folder" w_class = WEIGHT_CLASS_SMALL pressure_resistance = 2 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/folder/blue desc = "A blue folder." diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index d7ea9db01ea..676926153c1 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -17,8 +17,8 @@ pressure_resistance = 0 slot_flags = SLOT_HEAD body_parts_covered = HEAD - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 50 attack_verb = list("bapped") dog_fashion = /datum/dog_fashion/head var/info //What's actually written on the paper. @@ -303,7 +303,7 @@ /obj/item/paper/attackby(obj/item/P, mob/living/user, params) ..() - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) return var/clown = 0 @@ -403,7 +403,7 @@ /obj/item/paper/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) ..() - if(burn_state >= FLAMMABLE) //Renders paper that has been lit on fire to be illegible. + if(!(resistance_flags & FIRE_PROOF)) info = "Heat-curled corners and sooty words offer little insight. Whatever was once written on this page has been rendered illegible through fire." /obj/item/paper/proc/stamp(var/obj/item/stamp/S) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 4771b6bef34..3467a491160 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -8,7 +8,6 @@ throw_speed = 3 throw_range = 7 pressure_resistance = 8 - burn_state = FLAMMABLE var/amount = 30 //How much paper is in the bin. var/list/papers = list() //List of papers put in the bin for reference. diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index a16dc1d2ea3..7fac0e3386a 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -8,8 +8,8 @@ throw_speed = 1 throwforce = 0 w_class = WEIGHT_CLASS_TINY - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 50 no_spin = TRUE var/obj/item/paper/internal_paper diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index de3f2ad52d6..436c4eec6fc 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -16,7 +16,7 @@ icon_state = "film" item_state = "electropack" w_class = WEIGHT_CLASS_TINY - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /******** @@ -28,8 +28,8 @@ icon_state = "photo" item_state = "paper" w_class = WEIGHT_CLASS_SMALL - burn_state = FLAMMABLE - burntime = 5 + resistance_flags = FLAMMABLE + max_integrity = 50 var/blueprints = 0 // Does this have the blueprints? var/icon/img //Big photo image var/scribble //Scribble on the back. @@ -111,7 +111,7 @@ icon_state = "album" item_state = "briefcase" can_hold = list(/obj/item/photo) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/storage/photo_album/MouseDrop(obj/over_object as obj) diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 778a9c37e34..b2cf43e5b84 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -13,6 +13,7 @@ var/global/list/obj/item/pda/PDAs = list() w_class = WEIGHT_CLASS_TINY slot_flags = SLOT_ID | SLOT_BELT | SLOT_PDA armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF | ACID_PROOF origin_tech = "programming=2" //Main variables diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 3f565631de8..ca5a911e830 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -47,6 +47,7 @@ desc = "A control terminal for the area electrical systems." icon_state = "apc0" use_power = NO_POWER_USE + resistance_flags = FIRE_PROOF req_access = list(access_engine_equip) siemens_strength = 1 var/area/area diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 388b523518b..d607ccaa8b1 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -25,7 +25,7 @@ var/const/GRAV_NEEDS_WRENCH = 3 anchored = 1 density = 1 use_power = NO_POWER_USE - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/sprite_number = 0 /obj/machinery/gravity_generator/ex_act(severity) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 89e37b88c5c..0acc1dd2463 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -5,7 +5,8 @@ icon_state = "Contain_F" anchored = 1 density = 0 - unacidable = 1 + move_resist = INFINITY + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF use_power = NO_POWER_USE light_range = 4 layer = OBJ_LAYER + 0.1 diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index 6b76b0c9dbb..c5494f372e7 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -7,6 +7,7 @@ anchored = 0 density = 1 use_power = NO_POWER_USE + resistance_flags = FIRE_PROOF var/energy = 0 var/creation_type = /obj/singularity diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 12d6c8b831a..c77f18d927b 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -8,7 +8,6 @@ layer = MASSIVE_OBJ_LAYER light_range = 6 appearance_flags = 0 - unacidable = 1 //Don't comment this out. var/current_size = 1 var/allowed_size = 1 var/contained = 1 //Are we going to move around? @@ -27,7 +26,7 @@ var/last_warning var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six allow_spin = 0 - burn_state = LAVA_PROOF + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF /obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0) //CARN: admin-alert for chuckle-fuckery. diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index c8aeacd900f..463121a7bdf 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -36,6 +36,7 @@ density = 1 anchored = 0 light_range = 4 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF var/gasefficency = 0.125 diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 7b1764c354d..c38382cb962 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -29,6 +29,7 @@ icon_state = "compressor" anchored = 1 density = 1 + resistance_flags = FIRE_PROOF var/obj/machinery/power/turbine/turbine var/datum/gas_mixture/gas_contained var/turf/simulated/inturf @@ -47,6 +48,7 @@ icon_state = "turbine" anchored = 1 density = 1 + resistance_flags = FIRE_PROOF var/opened = 0 var/obj/machinery/power/compressor/compressor var/turf/simulated/outturf diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 8f2f0de5cb5..8635e08dfba 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -33,6 +33,7 @@ origin_tech = null ammo_x_offset = 3 selfcharge = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/gun/energy/laser/captain/scattershot name = "scatter shot laser rifle" diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 949ee16fa06..1a8a5afd1eb 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -55,6 +55,7 @@ force = 10 ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler) ammo_x_offset = 4 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/gun/energy/gun/blueshield name = "advanced stun revolver" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 081c57ddb79..7c881b3be2a 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -3,14 +3,13 @@ icon = 'icons/obj/projectiles.dmi' icon_state = "bullet" density = 0 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF anchored = 1 //There's a reason this is here, Mport. God fucking damn it -Agouri. Find&Fix by Pete. The reason this is here is to stop the curving of emitter shots. flags = ABSTRACT pass_flags = PASSTABLE mouse_opacity = MOUSE_OPACITY_TRANSPARENT hitsound = 'sound/weapons/pierce.ogg' var/hitsound_wall = "" - burn_state = LAVA_PROOF var/def_zone = "" //Aiming at var/mob/firer = null//Who shot it var/obj/item/ammo_casing/ammo_casing = null diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 7c53761a70f..1877d94f3ed 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -6,6 +6,7 @@ icon_state = "dispenser" use_power = IDLE_POWER_USE idle_power_usage = 40 + resistance_flags = FIRE_PROOF | ACID_PROOF var/ui_title = "Chem Dispenser 5000" var/cell_type = /obj/item/stock_parts/cell/high var/obj/item/stock_parts/cell/cell diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 5f5bd8de2d4..ec7e51b6359 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -6,6 +6,7 @@ icon_state = "mixer0b" use_power = IDLE_POWER_USE idle_power_usage = 40 + resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/reagent_containers/beaker = null var/desired_temp = T0C var/on = FALSE diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 48b76b0de98..7b19e8ae3aa 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -6,6 +6,7 @@ icon_state = "mixer0" use_power = IDLE_POWER_USE idle_power_usage = 20 + resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/reagent_containers/beaker = null var/obj/item/storage/pill_bottle/loaded_pill_bottle = null var/mode = 0 diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 870ef8cf76a..610778bff37 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -8,6 +8,7 @@ circuit = /obj/item/circuitboard/pandemic use_power = IDLE_POWER_USE idle_power_usage = 20 + resistance_flags = ACID_PROOF var/temp_html = "" var/printing = null var/wait = null diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 1e3bcb92db5..81841e83bfd 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -8,6 +8,7 @@ idle_power_usage = 5 active_power_usage = 100 pass_flags = PASSTABLE + resistance_flags = ACID_PROOF var/operating = 0 var/obj/item/reagent_containers/beaker = new /obj/item/reagent_containers/glass/beaker/large var/limit = null diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 1688a8d3a02..e9bad3c912d 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -13,6 +13,7 @@ volume = 50 container_type = OPENCONTAINER has_lid = TRUE + resistance_flags = ACID_PROOF var/label_text = "" // the fucking asshole who designed this can go die in a fire - Iamgoofball @@ -346,6 +347,7 @@ volume = 120 armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 50) //Weak melee protection, because you can wear it on your head slot_flags = SLOT_HEAD + resistance_flags = NONE container_type = OPENCONTAINER /obj/item/reagent_containers/glass/bucket/wooden @@ -354,7 +356,7 @@ item_state = "woodbucket" materials = null armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50) - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/reagent_containers/glass/bucket/equipped(mob/user, slot) ..() diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index c4e54c20626..d03c591261a 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -11,6 +11,7 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = list(1,2,3,4,5,10,15,20,25,30) + resistance_flags = ACID_PROOF container_type = OPENCONTAINER slot_flags = SLOT_BELT var/ignore_flags = FALSE @@ -78,6 +79,7 @@ /obj/item/reagent_containers/hypospray/CMO list_reagents = list("omnizine" = 30) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/item/reagent_containers/hypospray/combat name = "combat stimulant injector" diff --git a/code/modules/reagents/reagent_containers/iv_bag.dm b/code/modules/reagents/reagent_containers/iv_bag.dm index cfe84d10f2e..45d6c1e2551 100644 --- a/code/modules/reagents/reagent_containers/iv_bag.dm +++ b/code/modules/reagents/reagent_containers/iv_bag.dm @@ -12,6 +12,7 @@ possible_transfer_amounts = list(1,5,10,15,20,25,30,50) // Everything above 10 is NOT usable on a person and is instead used for transfering to other containers amount_per_transfer_from_this = 1 container_type = OPENCONTAINER + resistance_flags = ACID_PROOF var/label_text var/mode = IV_INJECT var/mob/living/carbon/human/injection_target @@ -126,7 +127,7 @@ var/trans = reagents.trans_to(target, amount_per_transfer_from_this) to_chat(user, "You transfer [trans] units of the solution to [target].") - + else if(istype(target, /obj/item/reagent_containers/glass) && !target.is_open_container()) to_chat(user, "You cannot fill [target] while it is sealed.") return diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index e7c7a8b7e20..0b274af2c1c 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -16,6 +16,7 @@ density = 1 on_blueprints = TRUE armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30) + resistance_flags = FIRE_PROOF var/datum/gas_mixture/air_contents // internal reservoir var/mode = 1 // item mode 0=off 1=charging 2=charged var/flush = 0 // true if flush handle is pulled @@ -505,6 +506,7 @@ /obj/structure/disposalholder invisibility = 101 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/datum/gas_mixture/gas = null // gas used to flush, will appear at exit point var/active = 0 // true if the holder is moving, otherwise inactive dir = 0 diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index ae2d3da87ae..5fef6d20922 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -132,7 +132,7 @@ flags = NOBLUDGEON amount = 25 max_amount = 25 - burn_state = FLAMMABLE + resistance_flags = FLAMMABLE /obj/item/stack/packageWrap/afterattack(var/obj/target as obj, mob/user as mob, proximity) if(!proximity) return diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 81ca4bfeb9b..6fa01280c68 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -376,6 +376,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "bottle17" origin_tech = "biotech=5" + resistance_flags = FIRE_PROOF var/uses = 3 /obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user, proximity_flag) @@ -396,7 +397,7 @@ C.color = "#000080" C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT C.heat_protection = C.body_parts_covered - C.burn_state = FIRE_PROOF + C.resistance_flags |= FIRE_PROOF uses -- if(!uses) qdel(src) diff --git a/code/modules/ruins/lavalandruin_code/ash_walker_den.dm b/code/modules/ruins/lavalandruin_code/ash_walker_den.dm index 168fde07e7d..e95a5381b99 100644 --- a/code/modules/ruins/lavalandruin_code/ash_walker_den.dm +++ b/code/modules/ruins/lavalandruin_code/ash_walker_den.dm @@ -6,10 +6,11 @@ icon = 'icons/mob/nest.dmi' icon_state = "ash_walker_nest" + move_resist = INFINITY // just killing it tears a massive hole in the ground, let's not move it anchored = TRUE density = TRUE - burn_state = LAVA_PROOF + resistance_flags = FIRE_PROOF | LAVA_PROOF max_integrity = 200 var/faction = list("ashwalker") diff --git a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm index cde2007d643..5a404c924f6 100644 --- a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm +++ b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm @@ -12,9 +12,10 @@ bound_width = 416 bound_height = 64 pixel_y = -10 - unacidable = TRUE - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + +/obj/effect/clockwork + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF // An "overlay" used by clockwork walls and floors to appear normal to mesons. /obj/effect/clockwork/overlay @@ -78,8 +79,7 @@ can_deconstruct = TRUE anchored = TRUE density = TRUE - unacidable = TRUE - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF desc = "A massive brass gear. You could probably secure or unsecure it with a wrench, or just climb over it." /obj/structure/clockwork/wall_gear/displaced @@ -144,14 +144,17 @@ new /obj/item/stack/tile/brass(loc, 3) return ..() +//The base clockwork item. Can have an alternate desc and will show up in the list of clockwork objects. +/obj/item/clockwork + resistance_flags = FIRE_PROOF | ACID_PROOF + //Shards of Alloy, suitable only as a source of power for a replica fabricator. /obj/item/clockwork/alloy_shards name = "replicant alloy shards" desc = "Broken shards of some oddly malleable metal. They occasionally move and seem to glow." icon = 'icons/obj/clockwork_objects.dmi' icon_state = "alloy_shards" - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/randomsinglesprite = FALSE var/randomspritemax = 2 var/sprite_shift = 9 @@ -213,6 +216,10 @@ desc = "A dented and scratched gear. It's very heavy." icon_state = "pinion_lock" +//Components: Used in scripture. +/obj/item/clockwork/component + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + /obj/item/clockwork/component/belligerent_eye name = "belligerent eye" desc = "A brass construct with a rotating red center. It's as though it's looking for something to hurt." diff --git a/code/modules/ruins/lavalandruin_code/syndicate_base.dm b/code/modules/ruins/lavalandruin_code/syndicate_base.dm index 73cdd9fe40c..d776e7c059d 100644 --- a/code/modules/ruins/lavalandruin_code/syndicate_base.dm +++ b/code/modules/ruins/lavalandruin_code/syndicate_base.dm @@ -18,7 +18,7 @@ /obj/item/grenade/chem_grenade/adv_release = 5, /obj/item/reagent_containers/food/drinks/bottle/holywater = 1) product_slogans = "It's not pyromania if you're getting paid!;You smell that? Plasma, son. Nothing else in the world smells like that.;I love the smell of Plasma in the morning." - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF // Spawners /obj/effect/mob_spawn/human/lavaland_syndicate diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 869c280a477..5a65a536b46 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -11,9 +11,7 @@ density = TRUE pixel_x = -32 pixel_y = -32 - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF light_range = 8 light_color = LIGHT_COLOR_LAVA var/open = FALSE @@ -214,9 +212,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) anchored = TRUE pixel_x = -64 pixel_y = -40 - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/open = FALSE var/static/mutable_appearance/top_overlay @@ -247,9 +243,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate) icon_state = "pristine_tile1" layer = ABOVE_OPEN_TURF_LAYER anchored = TRUE - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/tile_key = "pristine_tile" var/tile_random_sprite_max = 24 var/fall_on_cross = STABLE //If the tile has some sort of effect when crossed diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm index 834d3ddc907..25083e6262b 100644 --- a/code/modules/security_levels/keycard authentication.dm +++ b/code/modules/security_levels/keycard authentication.dm @@ -23,6 +23,7 @@ power_channel = ENVIRON req_access = list(access_keycard_auth) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/keycard_auth/attack_ai(mob/user as mob) to_chat(user, "The station AI is not to interact with these devices.") diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 8c96837e9d5..3b1e0e63b98 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -9,7 +9,7 @@ //icon = 'icons/dirsquare.dmi' icon_state = "pinonfar" - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF anchored = 1 var/id @@ -837,6 +837,7 @@ var/cooldown //prevents spamming admins possible_destinations = "ferry_home" admin_controlled = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/machinery/computer/shuttle/ferry/request/Topic(href, href_list) if(..()) diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 0ec9e614110..5c0be6a78a5 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -8,7 +8,7 @@ circuit = /obj/item/circuitboard/shuttle/syndicate shuttleId = "syndicate" possible_destinations = "syndicate_away;syndicate_z5;syndicate_z3;syndicate_ne;syndicate_nw;syndicate_n;syndicate_se;syndicate_sw;syndicate_s;syndicate_custom" - resistance_flags = INDESTRUCTIBLE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/challenge = FALSE var/moved = FALSE diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 9342b3afd29..8f5700bd50d 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -86,7 +86,7 @@ holder = item holder.flags |= NODROP - holder.unacidable = 1 + holder.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF holder.slot_flags = null holder.w_class = WEIGHT_CLASS_HUGE holder.materials = null diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm index 91693668637..c8214ed8283 100644 --- a/code/modules/zombie/items.dm +++ b/code/modules/zombie/items.dm @@ -5,9 +5,7 @@ sustain the zombie, forcing open airlock doors and opening \ child-safe caps on bottles." flags = NODROP|ABSTRACT|DROPDEL - resistance_flags = INDESTRUCTIBLE - burn_state = LAVA_PROOF - unacidable = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF icon = 'icons/effects/blood.dmi' icon_state = "bloodhand_left" var/icon_left = "bloodhand_left"