From 2d2975f78370c623683a248306a27422e60fbcc1 Mon Sep 17 00:00:00 2001 From: phil235 Date: Tue, 27 Sep 2016 22:33:08 +0200 Subject: [PATCH] Some preliminary changes before the damage refactor PR. The changes here do absolutely nothing gamewise. This just adds some vars that the refactor will use. Putting this in a separate PR prevent the damage refactor PR from becoming too big (number of files changed) and hard to read and review. Introduces the resistance_flags bitflag that replaces unacidable and burn_state. Moves the armor var from item to /obj level and gives specific armor values to many objects, the armor list also gets two new armor types: fire and acid, which will be used in the refactor. the new fire and acid armor values are given to plenty of items. --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 3 +- code/__DEFINES/misc.dm | 14 ++- code/_onclick/hud/screen_objects.dm | 2 +- .../subsystem/processing/objects.dm | 2 +- code/datums/martial/krav_maga.dm | 2 +- .../gamemodes/changeling/powers/mutations.dm | 8 +- code/game/gamemodes/clock_cult/clock_items.dm | 14 +-- .../game/gamemodes/clock_cult/clock_ratvar.dm | 2 +- .../gamemodes/clock_cult/clock_structures.dm | 12 +-- code/game/gamemodes/cult/cult_items.dm | 20 ++-- code/game/gamemodes/cult/cult_structures.dm | 1 - code/game/gamemodes/cult/runes.dm | 2 +- code/game/gamemodes/gang/dominator.dm | 1 + code/game/gamemodes/gang/gang_datum.dm | 2 +- .../miniantags/abduction/abduction_gear.dm | 6 +- .../gamemodes/miniantags/bot_swarm/swarmer.dm | 1 - code/game/gamemodes/wizard/artefact.dm | 3 +- code/game/machinery/camera/camera.dm | 1 + code/game/machinery/deployable.dm | 1 + code/game/machinery/doors/door.dm | 2 + code/game/machinery/doors/windowdoor.dm | 1 + code/game/machinery/newscaster.dm | 1 + .../machinery/porta_turret/portable_turret.dm | 2 + code/game/machinery/shieldgen.dm | 4 +- code/game/machinery/syndicatebomb.dm | 4 +- code/game/mecha/combat/combat.dm | 1 + code/game/mecha/combat/durand.dm | 1 + code/game/mecha/combat/gygax.dm | 2 + code/game/mecha/combat/marauder.dm | 3 +- code/game/mecha/combat/phazon.dm | 1 + code/game/mecha/combat/reticence.dm | 1 + .../mecha/equipment/tools/mining_tools.dm | 2 +- .../game/mecha/equipment/tools/other_tools.dm | 4 +- code/game/mecha/mecha.dm | 4 +- code/game/mecha/mecha_defense.dm | 2 +- code/game/mecha/working/ripley.dm | 4 +- code/game/objects/buckling.dm | 2 +- code/game/objects/effects/alien_acid.dm | 2 +- code/game/objects/effects/anomalies.dm | 1 - code/game/objects/effects/contraband.dm | 2 +- .../effects/effect_system/effect_system.dm | 1 - .../effects/effect_system/effects_foam.dm | 2 +- code/game/objects/effects/forcefields.dm | 1 - code/game/objects/effects/landmarks.dm | 1 - code/game/objects/effects/manifest.dm | 1 - code/game/objects/effects/misc.dm | 1 - code/game/objects/effects/overlays.dm | 3 +- code/game/objects/effects/portals.dm | 2 +- code/game/objects/items.dm | 5 +- code/game/objects/items/cardboard_cutouts.dm | 2 +- .../game/objects/items/devices/instruments.dm | 2 +- .../objects/items/robot/robot_upgrades.dm | 2 +- code/game/objects/items/stacks/cash.dm | 2 +- code/game/objects/items/stacks/medical.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 6 +- .../objects/items/stacks/tiles/tile_types.dm | 8 +- code/game/objects/items/stacks/wrap.dm | 4 +- code/game/objects/items/toys.dm | 14 +-- code/game/objects/items/trash.dm | 8 +- .../objects/items/weapons/chrono_eraser.dm | 1 - code/game/objects/items/weapons/courtroom.dm | 4 +- code/game/objects/items/weapons/gift.dm | 2 +- .../objects/items/weapons/grenades/grenade.dm | 2 +- .../objects/items/weapons/holosign_creator.dm | 1 + code/game/objects/items/weapons/mop.dm | 2 +- code/game/objects/items/weapons/paint.dm | 2 +- code/game/objects/items/weapons/scrolls.dm | 2 +- code/game/objects/items/weapons/shields.dm | 2 +- code/game/objects/items/weapons/signs.dm | 2 +- .../objects/items/weapons/storage/backpack.dm | 24 ++--- .../objects/items/weapons/storage/bags.dm | 8 +- .../objects/items/weapons/storage/book.dm | 2 +- .../objects/items/weapons/storage/boxes.dm | 4 +- .../items/weapons/storage/briefcase.dm | 4 +- .../objects/items/weapons/storage/fancy.dm | 2 +- .../objects/items/weapons/storage/wallets.dm | 2 +- code/game/objects/items/weapons/weaponry.dm | 4 +- code/game/objects/objs.dm | 24 ++--- code/game/objects/structures/artstuff.dm | 4 +- .../objects/structures/beds_chairs/bed.dm | 4 +- .../objects/structures/beds_chairs/chair.dm | 8 +- code/game/objects/structures/bedsheet_bin.dm | 4 +- .../crates_lockers/closets/cardboardbox.dm | 4 +- .../crates_lockers/closets/gimmick.dm | 6 +- .../crates_lockers/closets/job_closets.dm | 2 +- .../crates_lockers/closets/secure/bar.dm | 2 +- .../crates_lockers/closets/secure/personal.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 2 +- code/game/objects/structures/displaycase.dm | 2 +- code/game/objects/structures/fireaxe.dm | 1 + code/game/objects/structures/fireplace.dm | 2 +- code/game/objects/structures/flora.dm | 4 +- code/game/objects/structures/grille.dm | 1 + code/game/objects/structures/lattice.dm | 1 + code/game/objects/structures/mineral_doors.dm | 2 +- code/game/objects/structures/signs.dm | 2 +- code/game/objects/structures/table_frames.dm | 2 +- code/game/objects/structures/tables_racks.dm | 3 +- code/game/objects/structures/window.dm | 2 + code/game/turfs/simulated/floor/plating.dm | 8 +- .../atmospherics/environmental/LINDA_fire.dm | 1 - .../machinery/pipes/heat_exchange/he_pipes.dm | 2 +- .../machinery/portable/canister.dm | 1 + code/modules/awaymissions/gateway.dm | 2 +- .../awaymissions/mission_code/snowdin.dm | 2 +- code/modules/clothing/chameleon.dm | 32 +++---- code/modules/clothing/clothing.dm | 34 ++++--- code/modules/clothing/glasses/glasses.dm | 1 + code/modules/clothing/gloves/color.dm | 10 +- code/modules/clothing/gloves/miscellaneous.dm | 12 ++- code/modules/clothing/head/collectable.dm | 6 +- code/modules/clothing/head/hardhat.dm | 4 +- code/modules/clothing/head/helmet.dm | 22 ++--- code/modules/clothing/head/jobs.dm | 17 ++-- code/modules/clothing/head/misc.dm | 8 +- code/modules/clothing/head/misc_special.dm | 10 +- code/modules/clothing/head/soft_caps.dm | 2 +- code/modules/clothing/masks/breath.dm | 2 +- code/modules/clothing/masks/gasmask.dm | 20 ++-- code/modules/clothing/shoes/magboots.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 17 ++-- .../modules/clothing/spacesuits/chronosuit.dm | 4 +- code/modules/clothing/spacesuits/hardsuit.dm | 91 ++++++++++--------- .../clothing/spacesuits/miscellaneous.dm | 43 ++++----- code/modules/clothing/spacesuits/plasmamen.dm | 2 +- code/modules/clothing/spacesuits/syndi.dm | 4 +- code/modules/clothing/suits/armor.dm | 31 ++++--- code/modules/clothing/suits/bio.dm | 14 ++- code/modules/clothing/suits/cloaks.dm | 20 ++-- code/modules/clothing/suits/jobs.dm | 4 +- code/modules/clothing/suits/labcoat.dm | 2 +- code/modules/clothing/suits/miscellaneous.dm | 26 +++--- code/modules/clothing/suits/utility.dm | 19 ++-- code/modules/clothing/suits/wiz_robe.dm | 38 ++++---- code/modules/clothing/under/color.dm | 2 +- code/modules/clothing/under/jobs/civilian.dm | 2 +- .../clothing/under/jobs/engineering.dm | 8 +- code/modules/clothing/under/jobs/medsci.dm | 20 ++-- code/modules/clothing/under/jobs/security.dm | 8 +- code/modules/clothing/under/miscellaneous.dm | 12 +-- code/modules/clothing/under/syndicate.dm | 8 +- code/modules/clothing/under/ties.dm | 4 +- code/modules/clothing/under/trek.dm | 2 +- code/modules/events/holiday/vday.dm | 2 +- code/modules/events/holiday/xmas.dm | 2 +- code/modules/events/wizard/greentext.dm | 6 +- code/modules/events/wizard/rpgloot.dm | 4 +- code/modules/food_and_drinks/drinks/drinks.dm | 2 +- .../drinks/drinks/drinkingglass.dm | 2 +- code/modules/food_and_drinks/food.dm | 2 +- .../food_and_drinks/food/snacks/meat.dm | 2 +- code/modules/games/cards.dm | 2 +- code/modules/holodeck/area_copy.dm | 2 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/grown/towercap.dm | 3 +- code/modules/hydroponics/growninedible.dm | 2 +- code/modules/hydroponics/seeds.dm | 2 +- code/modules/library/lib_codex_gigas.dm | 2 +- code/modules/library/lib_items.dm | 4 +- code/modules/mining/equipment.dm | 6 +- code/modules/mining/lavaland/ash_flora.dm | 4 +- .../mining/lavaland/necropolis_chests.dm | 10 +- code/modules/mining/mine_items.dm | 1 - code/modules/mining/money_bag.dm | 2 +- code/modules/mob/living/bloodcrawl.dm | 2 +- .../carbon/alien/humanoid/alien_powers.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 8 +- .../mob/living/carbon/human/inventory.dm | 2 +- .../living/carbon/monkey/monkey_defense.dm | 2 +- .../hostile/megafauna/colossus.dm | 4 +- .../computers/item/computer.dm | 1 + code/modules/ninja/energy_katana.dm | 2 +- code/modules/ninja/suit/gloves.dm | 2 +- code/modules/ninja/suit/head.dm | 4 +- code/modules/ninja/suit/mask.dm | 2 +- code/modules/ninja/suit/shoes.dm | 2 +- code/modules/ninja/suit/suit.dm | 2 +- code/modules/paperwork/clipboard.dm | 2 +- code/modules/paperwork/contract.dm | 2 +- code/modules/paperwork/folders.dm | 2 +- code/modules/paperwork/paper.dm | 6 +- code/modules/paperwork/paper_cutter.dm | 2 +- code/modules/paperwork/paperbin.dm | 2 +- code/modules/paperwork/paperplane.dm | 2 +- code/modules/paperwork/photocopier.dm | 2 +- code/modules/paperwork/photography.dm | 6 +- code/modules/power/gravitygenerator.dm | 2 +- .../power/singularity/containment_field.dm | 2 +- code/modules/power/singularity/singularity.dm | 3 +- code/modules/projectiles/projectile.dm | 3 +- code/modules/projectiles/projectile/energy.dm | 1 - .../research/xenobiology/xenobiology.dm | 13 ++- .../ruins/objects_and_mobs/necropolis_gate.dm | 2 +- code/modules/shuttle/shuttle.dm | 2 +- code/modules/shuttle/special.dm | 2 +- .../spells/spell_types/ethereal_jaunt.dm | 2 +- .../surgery/bodyparts/dismemberment.dm | 5 +- code/modules/surgery/organs/augments_arms.dm | 2 +- 199 files changed, 562 insertions(+), 547 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 862a88aeaf2..b9bf7fc16cf 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -46887,8 +46887,7 @@ /area/toxins/xenobiology) "bZc" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1; - unacidable = 1 + dir = 1 }, /turf/open/floor/engine, /area/toxins/misc_lab) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 1ec6a0ed426..f4eb25374f0 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -340,11 +340,15 @@ var/list/bloody_footprints_cache = list() #define SENTIENCE_MINEBOT 4 #define SENTIENCE_BOSS 5 -//Fire stuff, for burn_state -#define LAVA_PROOF -2 -#define FIRE_PROOF -1 -#define FLAMMABLE 0 -#define ON_FIRE 1 + +//Fire and Acid stuff, for resistance_flags +#define LAVA_PROOF 1 +#define FIRE_PROOF 2 +#define ON_FIRE 4 +#define UNACIDABLE 8 //acid can't even appear on it, let alone melt it. +#define ACID_PROOF 16 //acid stuck on it doesn't melt it. +#define INDESTRUCTIBLE 32 //doesn't take damage +#define EMP_PROOF 64 //immune to emp //Ghost orbit types: diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 8dedf4b91b7..adfe508f6c8 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -10,7 +10,7 @@ name = "" icon = 'icons/mob/screen_gen.dmi' layer = ABOVE_HUD_LAYER - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE appearance_flags = APPEARANCE_UI var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/datum/hud/hud = null // A reference to the owner HUD, if any. diff --git a/code/controllers/subsystem/processing/objects.dm b/code/controllers/subsystem/processing/objects.dm index c3c01ec47e4..fbb716ba326 100644 --- a/code/controllers/subsystem/processing/objects.dm +++ b/code/controllers/subsystem/processing/objects.dm @@ -56,7 +56,7 @@ var/datum/subsystem/objects/SSobj return for(var/obj/burningobj in SSobj.burning) - if(burningobj && (burningobj.burn_state == ON_FIRE)) + if(burningobj && (burningobj.resistance_flags & ON_FIRE)) if(burningobj.burn_world_time < world.time) burningobj.burn() else diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 330ca40d1c5..1370278bf6d 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -172,4 +172,4 @@ datum/martial_art/krav_maga/grab_act(var/mob/living/carbon/human/A, var/mob/livi min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF \ No newline at end of file + resistance_flags = FIRE_PROOF \ No newline at end of file diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 08efd29bbf4..d0ed5163056 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -271,7 +271,7 @@ desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/tank/internals/oxygen) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all. + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all. /obj/item/clothing/suit/space/changeling/New() ..() @@ -289,7 +289,7 @@ icon_state = "lingspacehelmet" desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front." flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Again, no THICKMATERIAL. - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /***************************************\ @@ -317,7 +317,7 @@ icon_state = "lingarmor" flags = NODROP | DROPDEL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0) + armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90) flags_inv = HIDEJUMPSUIT cold_protection = 0 heat_protection = 0 @@ -332,5 +332,5 @@ desc = "A tough, hard covering of black chitin with transparent chitin in front." icon_state = "lingarmorhelmet" flags = NODROP | DROPDEL - armor = list(melee = 30, bullet = 30, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0) + armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 10, bio = 4, rad = 0, fire = 90, acid = 90) flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE diff --git a/code/game/gamemodes/clock_cult/clock_items.dm b/code/game/gamemodes/clock_cult/clock_items.dm index a69220d5fe5..32b73cc5c16 100644 --- a/code/game/gamemodes/clock_cult/clock_items.dm +++ b/code/game/gamemodes/clock_cult/clock_items.dm @@ -568,7 +568,7 @@ icon = 'icons/obj/clothing/clockwork_garb.dmi' icon_state = "clockwork_helmet" w_class = 3 - armor = list(melee = 80, bullet = 50, laser = -15, energy = 0, bomb = 35, bio = 0, rad = 0) + armor = list(melee = 80, bullet = 50, laser = -15, energy = 5, bomb = 35, bio = 0, rad = 0, fire = 10, acid = 50) /obj/item/clothing/head/helmet/clockwork/equipped(mob/living/user, slot) ..() @@ -599,7 +599,7 @@ icon_state = "clockwork_cuirass" w_class = 4 body_parts_covered = CHEST|GROIN|LEGS - armor = list(melee = 80, bullet = 50, laser = -15, energy = 0, bomb = 35, bio = 0, rad = 0) + armor = list(melee = 80, bullet = 50, laser = -15, energy = 5, bomb = 35, bio = 0, rad = 0, fire = 50, acid = 50) allowed = list(/obj/item/clockwork, /obj/item/clothing/glasses/wraith_spectacles, /obj/item/clothing/glasses/judicial_visor, /obj/item/device/mmi/posibrain/soul_vessel) /obj/item/clothing/suit/armor/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) @@ -635,10 +635,10 @@ strip_delay = 50 put_on_delay = 30 body_parts_covered = ARMS - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF siemens_coefficient = 0 permeability_coefficient = 0.05 - armor = list(melee = 80, bullet = 50, laser = -15, energy = 0, bomb = 35, bio = 0, rad = 0) + armor = list(melee = 80, bullet = 50, laser = -15, energy = 5, bomb = 35, bio = 0, rad = 0, fire = 20, acid = 20) /obj/item/clothing/gloves/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) if(equipper && !is_servant_of_ratvar(equipper)) @@ -670,7 +670,7 @@ w_class = 3 strip_delay = 50 put_on_delay = 30 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/shoes/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0) if(equipper && !is_servant_of_ratvar(equipper)) @@ -981,7 +981,7 @@ name = "meme component" desc = "A piece of a famous meme." clockwork_desc = null - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/component_id //What the component is identified as var/cultist_message = "You are not worthy of this meme." //Showed to Nar-Sian cultists if they pick up the component in addition to chaplains var/list/servant_of_ratvar_messages = list("ayy" = FALSE, "lmao" = TRUE) //Fluff, shown to servants of Ratvar on a low chance, if associated value is TRUE, will automatically apply ratvarian @@ -1124,7 +1124,7 @@ desc = "Broken shards of some oddly malleable metal. They occasionally move and seem to glow." clockwork_desc = "Broken shards of replicant alloy. Could probably be proselytized into replicant alloy, though there's not much left." icon_state = "alloy_shards" - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/randomsinglesprite = FALSE var/randomspritemax = 2 diff --git a/code/game/gamemodes/clock_cult/clock_ratvar.dm b/code/game/gamemodes/clock_cult/clock_ratvar.dm index 34033722cf7..ec558de31a1 100644 --- a/code/game/gamemodes/clock_cult/clock_ratvar.dm +++ b/code/game/gamemodes/clock_cult/clock_ratvar.dm @@ -3,7 +3,7 @@ desc = "A very large construction." layer = MASSIVE_OBJ_LAYER density = FALSE - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/structure/destructible/clockwork/massive/New() ..() diff --git a/code/game/gamemodes/clock_cult/clock_structures.dm b/code/game/gamemodes/clock_cult/clock_structures.dm index a543a5d2d3b..a730a698846 100644 --- a/code/game/gamemodes/clock_cult/clock_structures.dm +++ b/code/game/gamemodes/clock_cult/clock_structures.dm @@ -182,7 +182,7 @@ layer = HIGH_OBJ_LAYER break_message = "The warden's eye gives a glare of utter hate before falling dark!" debris = list(/obj/item/clockwork/component/belligerent_eye/blind_eye = 1) - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/damage_per_tick = 2.5 var/sight_range = 3 var/atom/movable/target @@ -250,10 +250,10 @@ if(!is_servant_of_ratvar(L) && !L.stat && L.mind && !(L.disabilities & BLIND) && !L.null_rod_check() && !B) . += L else if(B) - if(B.burn_state != ON_FIRE) + if(!(B.resistance_flags & ON_FIRE)) L << "Your [B.name] bursts into flames!" for(var/obj/item/weapon/storage/book/bible/BI in L.GetAllContents()) - if(BI.burn_state != ON_FIRE) + if(!(BI.resistance_flags & ON_FIRE)) BI.fire_act() for(var/N in mechas_list) var/obj/mecha/M = N @@ -274,7 +274,7 @@ anchored = 0 density = 0 takes_damage = FALSE - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/mobtype = /mob/living/simple_animal/hostile/clockwork var/spawn_message = " is an error and you should yell at whoever spawned this shell." @@ -389,7 +389,7 @@ anchored = 1 density = 0 opacity = 0 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/effect/clockwork/New() ..() @@ -697,7 +697,7 @@ icon_state = "sigil" layer = LOW_OBJ_LAYER alpha = 50 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF burntime = 1 var/affects_servants = FALSE var/stat_affected = CONSCIOUS diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 499c09eca84..977e10023fd 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -73,7 +73,7 @@ desc = "A torn, dust-caked hood. Strange letters line the inside." flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS flags_cover = HEADCOVERSEYES - armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 10, laser = 5,energy = 5, bomb = 0, bio = 0, rad = 0, fire = 10, acid = 10) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD @@ -86,7 +86,7 @@ item_state = "cultrobes" body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) - armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) + armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0, fire = 10, acid = 10) flags_inv = HIDEJUMPSUIT cold_protection = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT @@ -113,7 +113,7 @@ item_state = "magus" desc = "A helm worn by the followers of Nar-Sie." flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES - armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 30, laser = 30,energy = 20, bomb = 0, bio = 0, rad = 0, fire = 10, acid = 10) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/magusred @@ -123,7 +123,7 @@ item_state = "magusred" body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) - armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) + armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0, fire = 10, acid = 10) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/head/helmet/space/hardsuit/cult @@ -131,7 +131,7 @@ desc = "A heavily-armored helmet worn by warriors of the Nar-Sien cult. It can withstand hard vacuum." icon_state = "cult_helmet" item_state = "cult_helmet" - armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 40, acid = 75) brightness_on = 0 actions_types = list() @@ -142,7 +142,7 @@ desc = "A heavily-armored exosuit worn by warriors of the Nar-Sien cult. It can withstand hard vacuum." w_class = 2 allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/internals/) - armor = list(melee = 70, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 70, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 40, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult /obj/item/weapon/sharpener/cult @@ -159,7 +159,7 @@ icon_state = "cult_armor" item_state = "cult_armor" w_class = 4 - armor = list(melee = 50, bullet = 40, laser = 50,energy = 30, bomb = 50, bio = 30, rad = 30) + armor = list(melee = 50, bullet = 40, laser = 50,energy = 30, bomb = 50, bio = 30, rad = 30, fire = 50, acid = 60) body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) var/current_charges = 3 @@ -170,7 +170,7 @@ name = "empowered cultist armor" desc = "Empowered garb which creates a powerful shield around the user." icon_state = "cult_hoodalt" - armor = list(melee = 50, bullet = 40, laser = 50,energy = 30, bomb = 50, bio = 30, rad = 30) + armor = list(melee = 50, bullet = 40, laser = 50,energy = 30, bomb = 50, bio = 30, rad = 30, fire = 50, acid = 50) body_parts_covered = HEAD flags = NODROP flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS @@ -215,7 +215,7 @@ flags_inv = HIDEJUMPSUIT allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) body_parts_covered = CHEST|GROIN|LEGS|ARMS - armor = list(melee = -50, bullet = -50, laser = -100,energy = -50, bomb = -50, bio = -50, rad = -50) + armor = list(melee = -50, bullet = -50, laser = -100,energy = -50, bomb = -50, bio = -50, rad = -50, fire = 0, acid = 0) slowdown = -1 hooded = 1 hoodtype = /obj/item/clothing/head/berserkerhood @@ -227,7 +227,7 @@ body_parts_covered = HEAD flags = NODROP flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - armor = list(melee = -50, bullet = -50, laser = -50,energy = -50, bomb = -50, bio = -50, rad = -50) + armor = list(melee = -50, bullet = -50, laser = -50, energy = -50, bomb = -50, bio = -50, rad = -50, fire = 0, acid = 0) /obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot) ..() diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 980fbc9dd11..0fc5a95cf04 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -238,5 +238,4 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( icon = 'icons/obj/cult.dmi' icon_state = "hole" density = 1 - unacidable = 1 anchored = 1 diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index d42b1bdeaff..e8cc64c0fc6 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -21,7 +21,7 @@ To draw a rune, use an arcane tome. anchored = 1 icon = 'icons/obj/rune.dmi' icon_state = "1" - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE layer = ABOVE_NORMAL_TURF_LAYER color = "#FF0000" diff --git a/code/game/gamemodes/gang/dominator.dm b/code/game/gamemodes/gang/dominator.dm index 27818366d82..efb9709c6c2 100644 --- a/code/game/gamemodes/gang/dominator.dm +++ b/code/game/gamemodes/gang/dominator.dm @@ -8,6 +8,7 @@ layer = HIGH_OBJ_LAYER var/maxhealth = 200 var/health = 200 + armor = list(melee = 20, bullet = 50, laser = 50, energy = 0, bomb = 10, bio = 100, rad = 100, fire = 10, acid = 0) var/datum/gang/gang var/operating = 0 //0=standby or broken, 1=takeover var/warned = 0 //if this device has set off the warning at <3 minutes yet diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm index 67e8268f087..b78e961c9ad 100644 --- a/code/game/gamemodes/gang/gang_datum.dm +++ b/code/game/gamemodes/gang/gang_datum.dm @@ -106,7 +106,7 @@ if(outfit_path) var/obj/item/clothing/outfit = new outfit_path(user.loc) - outfit.armor = list(melee = 20, bullet = 30, laser = 10, energy = 10, bomb = 20, bio = 0, rad = 0) + outfit.armor = list(melee = 20, bullet = 30, laser = 10, energy = 10, bomb = 20, bio = 0, rad = 0, fire = 30, acid = 30) outfit.desc += " Tailored for the [name] Gang to offer the wearer moderate protection against ballistics and physical trauma." outfit.gang = src user.put_in_hands(outfit) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 55a703913be..da641ae216c 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -12,14 +12,14 @@ item_state = "armor" blood_overlay_type = "armor" origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4" - armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15) + armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15, fire = 70, acid = 70) actions_types = list(/datum/action/item_action/hands_free/activate) var/mode = VEST_STEALTH var/stealth_active = 0 var/combat_cooldown = 10 var/datum/icon_snapshot/disguise - var/stealth_armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15) - var/combat_armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 50, rad = 50) + var/stealth_armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15, fire = 70, acid = 70) + var/combat_armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 50, rad = 50, fire = 90, acid = 90) /obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode() switch(mode) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 2c33fe43b1d..f33a826afa3 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -400,7 +400,6 @@ icon_state = "ui_light" mouse_opacity = 0 layer = MOB_LAYER - unacidable = 1 /obj/effect/overlay/temp/swarmer //temporary swarmer visual feedback objects icon = 'icons/mob/swarmer.dmi' diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 75b44b7edc9..7bd85dfdd35 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -34,7 +34,6 @@ icon = 'icons/obj/biomass.dmi' icon_state = "rift" density = 1 - unacidable = 1 anchored = 1 var/spawn_path = /mob/living/simple_animal/cow //defaulty cows to prevent unintentional narsies var/spawn_amt_left = 20 @@ -483,7 +482,7 @@ var/global/list/multiverse = list() var/cooldown_time = 30 //3s var/cooldown = 0 burntime = 0 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/voodoo/attackby(obj/item/I, mob/user, params) if(target && cooldown < world.time) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index d58b2f71d03..27a5ad031bd 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -12,6 +12,7 @@ active_power_usage = 10 layer = WALL_OBJ_LAYER + armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/health = 50 var/list/network = list("SS13") var/c_tag = null diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index f462c813ed5..3f5326175fe 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -151,6 +151,7 @@ maxhealth = 180 proj_pass_rate = 20 ranged_damage_modifier = 0.5 + armor = list(melee = 10, bullet = 50, laser = 50, energy = 0, bomb = 10, bio = 100, rad = 100, fire = 10, acid = 0) /obj/structure/barricade/security/New() diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index ac8291cd6b0..45e1dd514cd 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -9,6 +9,8 @@ layer = OPEN_DOOR_LAYER power_channel = ENVIRON + armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 10, bio = 100, rad = 100, fire = 100, acid = 0) + var/secondsElectrified = 0 var/shockedby = list() var/visible = 1 diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 50edc96d054..8b8e68e0d55 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -5,6 +5,7 @@ icon_state = "left" var/base_state = "left" var/health = 150 //If you change this, consider changing ../door/window/brigdoor/ health at the bottom of this .dm file + armor = list(melee = 20, bullet = 50, laser = 50, energy = 100, bomb = 10, bio = 100, rad = 100, fire = 0, acid = 0) visible = 0 flags = ON_BORDER opacity = 0 diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index bf6a43b8d6c..ff65967f610 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -175,6 +175,7 @@ var/list/obj/machinery/newscaster/allCasters = list() verb_say = "beeps" verb_ask = "beeps" verb_exclaim = "beeps" + armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/screen = 0 var/paper_remaining = 15 var/securityCaster = 0 diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index e482fa45c3f..2d7a16be1e2 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -25,6 +25,8 @@ var/raised = 0 //if the turret cover is "open" and the turret is raised var/raising= 0 //if the turret is currently opening or closing its cover var/health = 80 //the turret's health + armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + var/locked = 1 //if the turret's behaviour control access is locked var/controllock = 0 //if the turret responds to control panels diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 345dfec4454..ff2433ddb61 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -6,7 +6,7 @@ density = 1 opacity = 0 anchored = 1 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE var/const/max_health = 200 var/health = max_health //The shield can only take so much beating (prevents perma-prisons) @@ -478,7 +478,7 @@ icon_state = "shieldwall" anchored = 1 density = 1 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE luminosity = 3 var/needs_power = 0 var/active = 1 diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index bdd9cb59616..bc5486dbbf0 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -9,7 +9,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/minimum_timer = 60 var/timer_set = 60 @@ -256,7 +256,7 @@ item_state = "eshield0" w_class = 3 origin_tech = "syndicate=5;combat=6" - burn_state = FLAMMABLE //Burnable (but the casing isn't) + resistance_flags = 0 //Burnable (but the casing isn't) var/adminlog = null /obj/item/weapon/bombcore/ex_act(severity, target) // Little boom can chain a big boom. diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 7bb81bc54e0..ff1dced21fd 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -2,6 +2,7 @@ force = 30 internal_damage_threshold = 50 damage_absorption = list("brute"=0.7,"fire"=1,"bullet"=0.7,"laser"=0.85,"energy"=1,"bomb"=0.8) + armor = list(melee = 30, bullet = 30, laser = 15, energy = 0, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 0) /obj/mecha/combat/CheckParts(atom/holder) ..() diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 43849b204c5..b9aa9037743 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -7,6 +7,7 @@ health = 400 deflect_chance = 20 damage_absorption = list("brute"=0.5,"fire"=1.1,"bullet"=0.65,"laser"=0.85,"energy"=0.9,"bomb"=0.8) + armor = list(melee = 40, bullet = 35, laser = 15, energy = 10, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 0) max_temperature = 30000 infra_luminosity = 8 force = 40 diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index ba288e3c61d..1992d48671e 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -7,6 +7,7 @@ health = 250 deflect_chance = 5 damage_absorption = list("brute"=0.75,"fire"=1,"bullet"=0.8,"laser"=0.7,"energy"=0.85,"bomb"=1) + armor = list(melee = 40, bullet = 35, laser = 15, energy = 10, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 0) max_temperature = 25000 infra_luminosity = 6 wreckage = /obj/structure/mecha_wreckage/gygax @@ -21,6 +22,7 @@ health = 300 deflect_chance = 15 damage_absorption = list("brute"=0.6,"fire"=0.8,"bullet"=0.6,"laser"=0.5,"energy"=0.65,"bomb"=0.8) + armor = list(melee = 40, bullet = 40, laser = 50, energy = 35, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 0) max_temperature = 35000 leg_overload_coeff = 100 operation_req_access = list(access_syndicate) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index ec9fcf0bd6e..441577a9c2c 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -6,8 +6,9 @@ health = 500 deflect_chance = 25 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 = 0, fire = 0, acid = 0) 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/structure/mecha_wreckage/marauder diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 9c5a6f1c1c2..b05a01435f1 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -8,6 +8,7 @@ health = 200 deflect_chance = 30 damage_absorption = list("brute"=0.7,"fire"=0.7,"bullet"=0.7,"laser"=0.7,"energy"=0.7,"bomb"=0.7) + armor = list(melee = 30, bullet = 30, laser = 30, energy = 30, bomb = 30, bio = 0, rad = 0, fire = 0, acid = 0) max_temperature = 25000 infra_luminosity = 3 wreckage = /obj/structure/mecha_wreckage/phazon diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm index 612add46853..d25d67f4af3 100644 --- a/code/game/mecha/combat/reticence.dm +++ b/code/game/mecha/combat/reticence.dm @@ -7,6 +7,7 @@ health = 100 deflect_chance = 3 damage_absorption = list("brute"=0.75,"fire"=1,"bullet"=0.8,"laser"=0.7,"energy"=0.85,"bomb"=1) + armor = list(melee = 25, bullet = 20, laser = 30, energy = 15, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) max_temperature = 15000 wreckage = /obj/structure/mecha_wreckage/reticence operation_req_access = list(access_theatre) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 37bde068e28..5c52da34820 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -17,7 +17,7 @@ return if(isobj(target)) var/obj/target_obj = target - if(target_obj.unacidable) + 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/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index ce76435de19..a1daa55e41b 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -154,8 +154,8 @@ var/damage_coeff = 0.8 selectable = 0 -/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/attack_react(mob/user as mob) - if(action_checks(user)) +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/attack_react() + if(action_checks(src)) start_cooldown() return 1 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 58ec13fa682..12e6d5f0005 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -19,7 +19,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 = BELOW_MOB_LAYER//icon draw layer infra_luminosity = 15 //byond implementation is bugged. force = 5 @@ -33,6 +33,7 @@ var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) + armor = list(melee = 20, bullet = 10, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/list/facing_modifiers = list(FRONT_ARMOUR = 1.5, SIDE_ARMOUR = 1, BACK_ARMOUR = 0.5) var/obj/item/weapon/stock_parts/cell/cell var/state = 0 @@ -138,7 +139,6 @@ diag_hud_set_mechcell() diag_hud_set_mechstat() - return /obj/mecha/Destroy() go_out() diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 438c868d041..d661fabaa7f 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -301,7 +301,7 @@ var/deflection = deflect_chance var/dam_coeff = 1 for(var/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/B in equipment) - if(B.attack_react(user)) + if(B.attack_react()) deflection *= B.deflect_coeff dam_coeff *= B.damage_coeff break diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 0b6b6cae361..b9d693deb91 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -10,6 +10,7 @@ lights_power = 7 deflect_chance = 15 damage_absorption = list("brute"=0.6,"fire"=1,"bullet"=0.8,"laser"=0.9,"energy"=1,"bomb"=0.6) + armor = list(melee = 40, bullet = 20, laser = 10, energy = 0, bomb = 40, bio = 0, rad = 0, fire = 0, acid = 0) max_equip = 6 wreckage = /obj/structure/mecha_wreckage/ripley var/list/cargo = new @@ -63,9 +64,10 @@ icon_state = "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 = 0, bomb = 60, bio = 0, rad = 0, fire = 0, acid = 0) max_equip = 5 // More armor, less tools wreckage = /obj/structure/mecha_wreckage/ripley/firefighter diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 90208bccb45..1fe0fb49515 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -61,7 +61,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/alien_acid.dm b/code/game/objects/effects/alien_acid.dm index 7247baac95e..6cc2831d154 100644 --- a/code/game/objects/effects/alien_acid.dm +++ b/code/game/objects/effects/alien_acid.dm @@ -15,7 +15,7 @@ density = 0 opacity = 0 anchored = 1 - unacidable = 1 + resistance_flags = FIRE_PROOF | UNACIDABLE var/atom/target var/ticks = 0 var/target_strength = 0 diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index e79f76f6722..c8897fc356c 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -4,7 +4,6 @@ name = "anomaly" 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/contraband.dm b/code/game/objects/effects/contraband.dm index 28c5fca5cc1..2e54d2f2b0b 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -103,7 +103,7 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v desc = "You probably shouldn't be holding this." icon = 'icons/obj/contraband.dmi' force = 0 - burn_state = FLAMMABLE + resistance_flags = 0 var/serial_number = 0 var/obj/structure/sign/poster/resulting_poster = null //The poster that will be created is initialised and stored through contraband/poster's constructor var/official = 0 diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 11b6b3e7096..cd45c7fd560 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -9,7 +9,6 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect name = "particle effect" mouse_opacity = 0 - unacidable = 1//So effects are not targeted by alien acid. pass_flags = PASSTABLE | PASSGRILLE /obj/effect/particle_effect/New() diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 3e68fc24e98..8b149d1ee70 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -172,7 +172,7 @@ density = 1 opacity = 1 // changed in New() anchored = 1 - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF name = "foamed metal" desc = "A lightweight foamed metal wall." gender = PLURAL diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 5ec9788a733..fda824a8c7e 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -5,7 +5,6 @@ anchored = 1 opacity = 0 density = 1 - unacidable = 1 /obj/effect/forcefield/CanAtmosPass(turf/T) return !density diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index d3f42f00d59..12d40b9f44c 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -3,7 +3,6 @@ icon = 'icons/mob/screen_gen.dmi' icon_state = "x2" anchored = 1 - unacidable = 1 invisibility = INVISIBILITY_ABSTRACT /obj/effect/landmark/New() diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm index f00d154b024..5052531cf38 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() src.invisibility = INVISIBILITY_ABSTRACT diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 712d8c6c59f..f34a4c719c7 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -9,7 +9,6 @@ /obj/effect/beam name = "beam" - unacidable = 1//Just to be sure. var/def_zone pass_flags = PASSTABLE diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index e63dcbb7840..93a16e2b624 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() @@ -23,7 +22,7 @@ icon_state = "nothing" anchored = 1 layer = ABOVE_MOB_LAYER - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE mouse_opacity = 0 var/duration = 10 //in deciseconds var/randomdir = TRUE diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 7f4e1cb173c..d4c0cfb449a 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -1,6 +1,7 @@ /obj/effect icon = 'icons/effects/effects.dmi' + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/effect/portal name = "portal" @@ -8,7 +9,6 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "portal" density = 1 - unacidable = 1//Can't destroy energy portals. var/obj/item/target = null var/creator = null anchored = 1 diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1e0b83f6ffd..32498877e84 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -47,7 +47,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s var/permeability_coefficient = 1 // for chemicals/diseases var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up - var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/armour_penetration = 0 //percentage of armour effectiveness to remove var/list/allowed = null //suit storage stuff. var/obj/item/device/uplink/hidden_uplink = null @@ -220,7 +219,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s if(anchored) return - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) var/mob/living/carbon/human/H = user if(istype(H)) if(H.gloves && (H.gloves.max_heat_protection_temperature > 360)) @@ -504,7 +503,7 @@ obj/item/proc/item_action_slot_check(slot, mob/user) /obj/item/acid_act(acidpwr, acid_volume) . = 1 - if(unacidable) + if(resistance_flags & UNACIDABLE) return var/meltingpwr = acid_volume*acidpwr diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 6be0b791f13..2a02f5f8139 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/cardboard_cutout.dmi' icon_state = "cutout_basic" w_class = 4 - burn_state = FLAMMABLE + resistance_flags = 0 // Possible restyles for the cutout; // add an entry in change_appearance() if you add to here var/list/possible_appearances = list("Assistant", "Clown", "Mime", diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index afa648051c5..53e40bfba80 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -1,7 +1,7 @@ //copy pasta of the space piano, don't hurt me -Pete /obj/item/device/instrument name = "generic instrument" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 var/datum/song/handheld/song var/instrumentId = "generic" diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index e1f1419cb77..74246e2e36b 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -197,7 +197,7 @@ name = "mining cyborg lavaproof tracks" desc = "An upgrade kit to apply specialized coolant systems and insulation layers to mining cyborg tracks, enabling them to withstand exposure to molten rock." icon_state = "ash_plating" - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF require_module = 1 module_type = /obj/item/weapon/robot_module/miner origin_tech = "engineering=4;materials=4;plasmatech=4" diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm index b68b14dafe4..948aeff5910 100644 --- a/code/game/objects/items/stacks/cash.dm +++ b/code/game/objects/items/stacks/cash.dm @@ -10,7 +10,7 @@ throw_speed = 2 throw_range = 2 w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 var/value = 1 /obj/item/stack/spacecash/c10 diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 8d0009c181d..27c78cd1bbe 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -7,7 +7,7 @@ w_class = 1 throw_speed = 3 throw_range = 7 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 var/heal_brute = 0 var/heal_burn = 0 diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 2a5674f1a9a..d7d8f3e66ba 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -135,7 +135,7 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \ singular_name = "plasma sheet" origin_tech = "plasmatech=2;materials=2" sheettype = "plasma" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 86bbfa50683..78b27c7a287 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -146,7 +146,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \ icon = 'icons/obj/items.dmi' origin_tech = "materials=1;biotech=1" sheettype = "wood" - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/stack/sheet/mineral/wood/New(var/loc, var/amount=null) recipes = wood_recipes @@ -183,7 +183,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 = 0 force = 0 throwforce = 0 @@ -216,7 +216,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 = 0 /obj/item/stack/sheet/cardboard/New(var/loc, var/amount=null) recipes = cardboard_recipes diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 4977360b0df..39f50a2d1c2 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -79,7 +79,7 @@ icon_state = "tile_grass" origin_tech = "biotech=1" turf_type = /turf/open/floor/grass - burn_state = FLAMMABLE + resistance_flags = 0 //Wood @@ -90,7 +90,7 @@ icon_state = "tile-wood" origin_tech = "biotech=1" turf_type = /turf/open/floor/wood - burn_state = FLAMMABLE + resistance_flags = 0 //Carpets @@ -100,7 +100,7 @@ desc = "A piece of carpet. It is the same size as a floor tile." icon_state = "tile-carpet" turf_type = /turf/open/floor/carpet - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/stack/tile/fakespace @@ -109,7 +109,7 @@ desc = "A piece of carpet with a convincing star pattern." icon_state = "tile_space" turf_type = /turf/open/floor/fakespace - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/stack/tile/fakespace/loaded amount = 30 diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index f210f43a5dc..b90798aeb33 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -12,7 +12,7 @@ flags = NOBLUDGEON amount = 25 max_amount = 25 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/stack/wrapping_paper/Destroy() if(!amount) @@ -32,7 +32,7 @@ flags = NOBLUDGEON amount = 25 max_amount = 25 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/proc/can_be_package_wrapped() //can the item be wrapped with package wrapper into a delivery package return 1 diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index e2924db1ac9..e8a53bdaa11 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -277,7 +277,7 @@ item_state = "arm_blade" attack_verb = list("pricked", "absorbed", "gored") w_class = 2 - burn_state = FLAMMABLE + resistance_flags = 0 /* @@ -638,7 +638,7 @@ /obj/item/toy/cards - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 var/parentdeck = null var/deckstyle = "nanotrasen" @@ -873,8 +873,8 @@ newobj.card_throw_speed = sourceobj.card_throw_speed newobj.card_throw_range = sourceobj.card_throw_range newobj.card_attack_verb = sourceobj.card_attack_verb - if(sourceobj.burn_state == FIRE_PROOF) - newobj.burn_state = FIRE_PROOF + if(sourceobj.resistance_flags & FIRE_PROOF) + newobj.resistance_flags |= FIRE_PROOF /obj/item/toy/cards/singlecard name = "card" @@ -991,7 +991,7 @@ card_throw_speed = 3 card_throw_range = 7 card_attack_verb = list("attacked", "sliced", "diced", "slashed", "cut") - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /* * Fake nuke @@ -1051,7 +1051,7 @@ item_state = "carp_plushie" w_class = 2 attack_verb = list("bitten", "eaten", "fin slapped") - burn_state = FLAMMABLE + resistance_flags = 0 var/bitesound = 'sound/weapons/bite.ogg' //Attack mob @@ -1161,7 +1161,7 @@ icon_state = "toy_mouse" w_class = 2.0 var/cooldown = 0 - burn_state = FLAMMABLE + resistance_flags = 0 /* diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index ecc3b4776b4..aeea6c170d0 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/janitor.dmi' desc = "This is rubbish." w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/trash/raisins name = "\improper 4no raisins" @@ -40,7 +40,7 @@ /obj/item/trash/plate name = "plate" icon_state = "plate" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/trash/pistachios name = "pistachios pack" @@ -53,7 +53,7 @@ /obj/item/trash/tray name = "tray" icon_state = "tray" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/trash/candle name = "candle" @@ -63,7 +63,7 @@ /obj/item/trash/can name = "crushed can" icon_state = "cola" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/trash/attack(mob/M, mob/living/user) return diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm index 3ef008add20..3cd5be20708 100644 --- a/code/game/objects/items/weapons/chrono_eraser.dm +++ b/code/game/objects/items/weapons/chrono_eraser.dm @@ -152,7 +152,6 @@ icon_state = "chronofield" density = 0 anchored = 1 - unacidable = 1 blend_mode = BLEND_MULTIPLY var/mob/living/captured = null var/obj/item/weapon/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 403dfebb49e..e2f9b2fd21d 100644 --- a/code/game/objects/items/weapons/courtroom.dm +++ b/code/game/objects/items/weapons/courtroom.dm @@ -11,7 +11,7 @@ throwforce = 6 w_class = 2 attack_verb = list("bashed", "battered", "judged", "whacked") - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/gavelhammer/suicide_act(mob/user) user.visible_message("[user] has sentenced \himself to death with the [src.name]! It looks like \he's trying to commit suicide.") @@ -26,7 +26,7 @@ force = 2 throwforce = 2 w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/gavelblock/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/gavelhammer)) diff --git a/code/game/objects/items/weapons/gift.dm b/code/game/objects/items/weapons/gift.dm index 566855f15fa..ffeeefe3865 100644 --- a/code/game/objects/items/weapons/gift.dm +++ b/code/game/objects/items/weapons/gift.dm @@ -13,7 +13,7 @@ icon = 'icons/obj/storage.dmi' icon_state = "giftdeliverypackage3" item_state = "gift1" - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/a_gift/New() ..() diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index c5e24fc13a4..4328f3bb274 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 = 7 flags = CONDUCT slot_flags = SLOT_BELT - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 var/active = 0 var/det_time = 50 diff --git a/code/game/objects/items/weapons/holosign_creator.dm b/code/game/objects/items/weapons/holosign_creator.dm index 1f036cb24a1..bcecfc97bdc 100644 --- a/code/game/objects/items/weapons/holosign_creator.dm +++ b/code/game/objects/items/weapons/holosign_creator.dm @@ -118,6 +118,7 @@ icon = 'icons/effects/effects.dmi' anchored = 1 var/holo_integrity = 1 + armor = list(melee = 0, bullet = 50, laser = 50, energy = 50, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/obj/item/weapon/holosign_creator/projector /obj/effect/overlay/holograph/New(loc, source_projector) diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index feeab19e611..7a8b36c66db 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 = 3 attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") - burn_state = FLAMMABLE + resistance_flags = 0 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 bab00418b8c..b15225639fe 100644 --- a/code/game/objects/items/weapons/paint.dm +++ b/code/game/objects/items/weapons/paint.dm @@ -10,7 +10,7 @@ item_color = "FFFFFF" item_state = "paintcan" w_class = 3 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 var/paintleft = 10 diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index 8f236fc5727..45d3b2e6d60 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 7 origin_tech = "bluespace=6" - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/teleportation_scroll/apprentice name = "lesser scroll of teleportation" diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 26513f300b5..1f510031439 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -48,7 +48,7 @@ item_state = "buckler" materials = list() origin_tech = "materials=1;combat=3;biotech=2" - burn_state = FLAMMABLE + resistance_flags = 0 block_chance = 30 /obj/item/weapon/shield/energy diff --git a/code/game/objects/items/weapons/signs.dm b/code/game/objects/items/weapons/signs.dm index 622f4225166..9950d25a61d 100644 --- a/code/game/objects/items/weapons/signs.dm +++ b/code/game/objects/items/weapons/signs.dm @@ -5,7 +5,7 @@ force = 5 w_class = 4 attack_verb = list("bashed","smacked") - burn_state = FLAMMABLE + resistance_flags = 0 var/label = "" var/last_wave = 0 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 21014fb080d..8a8c6987103 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -19,7 +19,7 @@ max_w_class = 3 max_combined_w_class = 21 storage_slots = 21 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W, mob/user, params) @@ -37,7 +37,7 @@ icon_state = "holdingpack" max_w_class = 6 max_combined_w_class = 35 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/pshoom = 'sound/items/PSHOOM.ogg' var/alt_sound = 'sound/items/PSHOOM_2.ogg' @@ -141,14 +141,14 @@ desc = "It's a special backpack made exclusively for Nanotrasen officers." icon_state = "captainpack" item_state = "captainpack" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/industrial name = "industrial backpack" 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/weapon/storage/backpack/botany name = "botany backpack" @@ -173,7 +173,7 @@ desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma." icon_state = "toxpack" item_state = "toxpack" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/virology name = "virology backpack" @@ -196,7 +196,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 /obj/item/weapon/storage/backpack/satchel/leather/withwallet/New() ..() @@ -207,7 +207,7 @@ desc = "A tough satchel with extra pockets." icon_state = "satchel-eng" item_state = "engiepack" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/satchel/med name = "medical satchel" @@ -238,7 +238,7 @@ desc = "Useful for holding research materials." icon_state = "satchel-tox" item_state = "satchel-tox" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/satchel/hyd name = "botanist satchel" @@ -263,7 +263,7 @@ desc = "An exclusive satchel for Nanotrasen officers." icon_state = "satchel-cap" item_state = "captainpack" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/satchel/flat name = "smuggler's satchel" @@ -328,7 +328,7 @@ desc = "A large dufflebag for holding extra captainly goods." icon_state = "duffle-captain" item_state = "duffle-captain" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/dufflebag/med name = "medical dufflebag" @@ -347,14 +347,14 @@ desc = "A large dufflebag for holding extra tools and supplies." icon_state = "duffle-eng" item_state = "duffle-eng" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/dufflebag/drone name = "drone dufflebag" desc = "A large dufflebag for holding tools and hats." icon_state = "duffle-drone" item_state = "duffle-drone" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/storage/backpack/dufflebag/drone/New() ..() diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 9216f54280d..ea0d4721f78 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -113,7 +113,7 @@ max_w_class = 3 w_class = 1 can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown) - burn_state = FLAMMABLE + resistance_flags = 0 //////// @@ -294,7 +294,7 @@ max_w_class = 3 w_class = 4 //Bigger than a book because physics can_hold = list(/obj/item/weapon/book, /obj/item/weapon/storage/book, /obj/item/weapon/spellbook) - burn_state = FLAMMABLE + resistance_flags = 0 /* * Trays - Agouri @@ -364,7 +364,7 @@ w_class = 1 preposition = "in" can_hold = list(/obj/item/weapon/reagent_containers/pill, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle) - burn_state = FLAMMABLE + resistance_flags = 0 /* * Biowaste bag (mostly for xenobiologists) @@ -380,4 +380,4 @@ w_class = 1 preposition = "in" can_hold = list(/obj/item/slime_extract, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/blood, /obj/item/weapon/reagent_containers/hypospray/medipen, /obj/item/trash/deadmouse) - burn_state = FLAMMABLE + resistance_flags = 0 diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index ab3d92007ea..7e308b91523 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -6,7 +6,7 @@ throw_speed = 2 throw_range = 5 w_class = 3 - burn_state = FLAMMABLE + resistance_flags = 0 var/title = "book" /obj/item/weapon/storage/book/attack_self(mob/user) user << "The pages of [title] have been cut out!" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 241474b391b..99c11c88f3b 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -25,7 +25,7 @@ desc = "It's just an ordinary box." icon_state = "box" item_state = "syringe_kit" - burn_state = FLAMMABLE + resistance_flags = 0 var/foldable = /obj/item/stack/sheet/cardboard @@ -634,7 +634,7 @@ desc = "A sack neatly crafted out of paper." icon_state = "paperbag_None" item_state = "paperbag_None" - burn_state = FLAMMABLE + resistance_flags = 0 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 67780096d0e..a540ed7080c 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -11,7 +11,7 @@ max_w_class = 3 max_combined_w_class = 21 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 var/folder_path = /obj/item/weapon/folder //this is the path of the folder that gets spawned in New() @@ -42,7 +42,7 @@ max_w_class = 3 max_combined_w_class = 21 attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/item/weapon/storage/briefcase/sniperbundle/New() diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index fd8d6395ec5..6111e75fe85 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 = 0 var/icon_type = "donut" var/spawn_type = null var/fancy_open = FALSE diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index cc861ffaeb6..3dd8d772de1 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -4,7 +4,7 @@ storage_slots = 4 icon_state = "wallet" w_class = 2 - burn_state = FLAMMABLE + resistance_flags = 0 can_hold = list( /obj/item/stack/spacecash, /obj/item/weapon/card, diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 07d09d07451..f5b4175f753 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -393,14 +393,14 @@ var/highlander_claymores = 0 w_class = 2 armour_penetration = 100 attack_verb = list("bludgeoned", "whacked", "disciplined") - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/staff/broom name = "broom" desc = "Used for sweeping, and flying into the night while cackling. Black cat not included." icon = 'icons/obj/wizard.dmi' icon_state = "broom" - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/staff/stick name = "stick" diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 89a48c7c22c..fa9aa1e2b55 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -2,7 +2,6 @@ languages_spoken = HUMAN languages_understood = HUMAN var/crit_fail = 0 - var/unacidable = 0 //universal "unacidabliness" var, here so you can use it in any obj. animate_movement = 2 var/throwforce = 0 var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING! @@ -10,7 +9,9 @@ var/damtype = "brute" var/force = 0 - var/burn_state = FIRE_PROOF // LAVA_PROOF | FIRE_PROOF | FLAMMABLE | ON_FIRE + var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + var/resistance_flags = FIRE_PROOF // INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ON_FIRE | UNACIDABLE | ACID_PROOF + var/burntime = 10 //How long it takes to burn to ashes, in seconds var/burn_world_time //What world time the object will burn up completely var/being_shocked = 0 @@ -189,13 +190,14 @@ return T.storage_contents_dump_act(src_object, user) /obj/fire_act(global_overlay=1) - if(!burn_state) - burn_state = ON_FIRE - SSobj.burning += src - burn_world_time = world.time + burntime*rand(10,20) - if(global_overlay) - add_overlay(fire_overlay) - return 1 + if(!qdeleted(src)) + if(!(resistance_flags & FIRE_PROOF)) + resistance_flags |= ON_FIRE + SSobj.burning += src + burn_world_time = world.time + burntime*rand(10,20) + if(global_overlay) + add_overlay(fire_overlay) + return 1 /obj/proc/burn() empty_object_contents(1, src.loc) @@ -205,8 +207,8 @@ qdel(src) /obj/proc/extinguish() - if(burn_state == ON_FIRE) - burn_state = FLAMMABLE + if(resistance_flags & ON_FIRE) + resistance_flags &= ~ON_FIRE overlays -= fire_overlay SSobj.burning -= src diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 59929295365..53351dab39e 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -9,7 +9,7 @@ icon = 'icons/obj/artstuff.dmi' icon_state = "easel" density = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 15 var/obj/item/weapon/canvas/painting = null @@ -51,7 +51,7 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES] desc = "draw out your soul on this canvas!" icon = 'icons/obj/artstuff.dmi' icon_state = "11x11" - burn_state = FLAMMABLE + resistance_flags = 0 var/whichGlobalBackup = 1 //List index /obj/item/weapon/canvas/nineteenXnineteen diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index c6f3b7831c4..e77f9a7845e 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -15,7 +15,7 @@ anchored = 1 can_buckle = 1 buckle_lying = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 2 @@ -61,7 +61,7 @@ icon = 'icons/obj/rollerbed.dmi' icon_state = "down" anchored = 0 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/foldabletype = /obj/item/roller /obj/structure/bed/roller/MouseDrop(over_object, src_location, over_location) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 395b9b05dae..65e2d09eac2 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -6,7 +6,7 @@ anchored = 1 can_buckle = 1 buckle_lying = 0 //you sit in a chair, not lay - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 1 var/item_chair = /obj/item/chair // if null it can't be picked up @@ -118,7 +118,7 @@ icon_state = "wooden_chair" name = "wooden chair" desc = "Old is never too old to not be in fashion." - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 buildstacktype = /obj/item/stack/sheet/mineral/wood buildstackamount = 3 @@ -139,7 +139,7 @@ desc = "It looks comfy.\nAlt-click to rotate it clockwise." icon_state = "comfychair" color = rgb(255,255,255) - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 buildstackamount = 2 var/image/armrest = null @@ -308,7 +308,7 @@ name = "wooden chair" icon_state = "wooden_chair_toppled" item_state = "woodenchair" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 hitsound = 'sound/weapons/genhit1.ogg' origin_type = /obj/structure/chair/wood diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index b81634de888..9bbe254094f 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -17,7 +17,7 @@ LINEN BINS throw_range = 2 w_class = 1 item_color = "white" - burn_state = FLAMMABLE + resistance_flags = 0 dog_fashion = /datum/dog_fashion/head/ghost @@ -205,7 +205,7 @@ LINEN BINS icon = 'icons/obj/structures.dmi' icon_state = "linenbin-full" anchored = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 var/amount = 10 var/list/sheets = list() diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index f450be51072..80f9282f457 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -4,7 +4,7 @@ icon_state = "cardboard" health = 10 mob_storage_capacity = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 can_weld_shut = 0 cutting_tool = /obj/item/weapon/wirecutters @@ -61,7 +61,7 @@ icon_state = "metalbox" health = 500 mob_storage_capacity = 5 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF move_speed_multiplier = 2 cutting_tool = /obj/item/weapon/weldingtool open_sound = 'sound/machines/click.ogg' diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index e2d7f9c2ac1..3d9a7a36790 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -2,7 +2,7 @@ name = "cabinet" desc = "Old will forever be in fashion." icon_state = "cabinet" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/structure/closet/acloset @@ -72,7 +72,7 @@ new /obj/item/weapon/storage/box/flashbangs(src) for(var/i in 1 to 3) new /obj/item/clothing/head/helmet/thunderdome(src) - + /obj/structure/closet/thunderdome/tdgreen name = "green-team Thunderdome closet" icon_door = "green" @@ -91,7 +91,7 @@ new /obj/item/weapon/storage/box/flashbangs(src) for(var/i in 1 to 3) new /obj/item/clothing/head/helmet/thunderdome(src) - + /obj/structure/closet/malf/suits desc = "It's a storage unit for operational gear." icon_state = "syndicate" diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 9865ce38151..2968ff7414e 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -119,7 +119,7 @@ name = "coffin" desc = "It's a burial receptacle for the dearly departed." icon_state = "coffin" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/structure/closet/wardrobe/red 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 72fc2ad7bb8..59a88859d99 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm @@ -2,7 +2,7 @@ name = "booze storage" req_access = list(access_bar) icon_state = "cabinet" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /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 5042d5b037b..22773137de4 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -25,7 +25,7 @@ /obj/structure/closet/secure_closet/personal/cabinet icon_state = "cabinet" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/structure/closet/secure_closet/personal/cabinet/New() 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 f4c3fb67fb9..785aeaacdc3 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -157,7 +157,7 @@ name = "\proper detective's cabinet" req_access = list(access_forensics_lockers) icon_state = "cabinet" - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 /obj/structure/closet/secure_closet/detective/New() diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index acbb40fd495..203900c76dd 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -5,7 +5,7 @@ desc = "A display case for prized possessions." density = 1 anchored = 1 - unacidable = 1//Dissolving the case would also delete the gun. + resistance_flags = FIRE_PROOF | ACID_PROOF var/health = 30 var/destroyed = 0 var/obj/item/showpiece = null diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 91c748c0e0c..f7118a6c191 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -6,6 +6,7 @@ icon_state = "fireaxe" anchored = 1 density = 0 + armor = list(melee = 50, bullet = 20, laser = 0, energy = 100, bomb = 10, bio = 100, rad = 100, fire = 0, acid = 0) var/locked = 1 var/open = 0 var/health = 60 diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index 4da513ce352..da7fa68666b 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -10,7 +10,7 @@ density = FALSE anchored = TRUE pixel_x = -16 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF var/lit = FALSE var/fuel_added = 0 diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index a94dd50fe7a..f9f4b0d0d95 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -1,5 +1,5 @@ /obj/structure/flora - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 anchored = 1 @@ -290,7 +290,7 @@ icon_state = "basalt" desc = "A volcanic rock" icon = 'icons/obj/flora/rocks.dmi' - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF density = 1 /obj/structure/flora/rock/New() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 91a840b1e3c..2bd2368370e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -9,6 +9,7 @@ pressure_resistance = 5*ONE_ATMOSPHERE layer = BELOW_OBJ_LAYER var/health = 10 + armor = list(melee = 50, bullet = 70, laser = 70, energy = 100, bomb = 10, bio = 100, rad = 100, fire = 0, acid = 0) var/destroyed = 0 var/obj/item/stack/rods/stored diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index d9454083422..23aa35ed986 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -5,6 +5,7 @@ icon_state = "lattice" density = 0 anchored = 1 + armor = list(melee = 100, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) layer = LATTICE_LAYER //under pipes var/obj/item/stack/rods/stored canSmoothWith = list(/obj/structure/lattice, diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 317ba4e9a37..b10348b7435 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -243,5 +243,5 @@ openSound = 'sound/effects/doorcreaky.ogg' closeSound = 'sound/effects/doorcreaky.ogg' sheetType = /obj/item/stack/sheet/mineral/wood - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 4594c4714d4..6abb4c9d244 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -87,7 +87,7 @@ icon = 'icons/obj/decals.dmi' icon_state = "backing" w_class = 3 - burn_state = FLAMMABLE + resistance_flags = 0 var/sign_path = /obj/structure/sign/basic //the type of sign that will be created when placed on a turf /obj/item/sign_backing/afterattack(atom/target, mob/user, proximity) diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index e5ead848f85..5a86a818633 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -96,7 +96,7 @@ icon_state = "wood_frame" framestack = /obj/item/stack/sheet/mineral/wood framestackamount = 2 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/structure/table_frame/wood/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/stack/sheet/mineral/wood)) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 9a9e11d2091..4f41941388d 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -315,7 +315,7 @@ frame = /obj/structure/table_frame/wood framestack = /obj/item/stack/sheet/mineral/wood buildstack = /obj/item/stack/sheet/mineral/wood - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 canSmoothWith = list(/obj/structure/table/wood, /obj/structure/table/wood/poker, @@ -364,6 +364,7 @@ buildstack = /obj/item/stack/sheet/plasteel canSmoothWith = list(/obj/structure/table/reinforced, /obj/structure/table) health = 200 + armor = list(melee = 10, bullet = 10, laser = 10, energy = 100, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 70) /obj/structure/table/reinforced/attackby(obj/item/weapon/W, mob/user, params) if(istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 9b076bcd5c2..a240706f2c7 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -434,6 +434,7 @@ name = "reinforced window" icon_state = "rwindow" reinf = 1 + armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 25, bio = 100, rad = 100, fire = 0, acid = 0) maxhealth = 50 explosion_block = 1 @@ -494,6 +495,7 @@ wtype = "shuttle" fulltile = 1 reinf = 1 + armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 25, bio = 100, rad = 100, fire = 0, acid = 0) smooth = SMOOTH_TRUE canSmoothWith = null explosion_block = 1 diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 8e4841da760..91c259c7061 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -272,14 +272,14 @@ for(var/thing in thing_to_check) if(isobj(thing)) var/obj/O = thing - if(O.burn_state == LAVA_PROOF || O.throwing) + if(O.resistance_flags & LAVA_PROOF || O.throwing) continue if(istype(O, /obj/effect/decal/cleanable/ash)) //So we don't get stuck burning the same ash pile forever qdel(O) continue . = 1 - if(O.burn_state == FIRE_PROOF) - O.burn_state = FLAMMABLE //Even fireproof things burn up in lava + if(O.resistance_flags & FIRE_PROOF) + O.resistance_flags &= ~FIRE_PROOF //Even fireproof things burn up in lava O.fire_act() @@ -292,7 +292,7 @@ if(L.buckled) if(isobj(L.buckled)) var/obj/O = L.buckled - if(O.burn_state == LAVA_PROOF) + if(O.resistance_flags & LAVA_PROOF) continue if(isliving(L.buckled)) //Goliath riding var/mob/living/live = L.buckled diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 1c2ec88a9d5..7ce4eba77b1 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -46,7 +46,6 @@ /obj/effect/hotspot anchored = 1 mouse_opacity = 0 - unacidable = 1//So you can't melt fire with acid. icon = 'icons/effects/fire.dmi' icon_state = "1" layer = ABOVE_OPEN_TURF_LAYER diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm index c78e9de2e9c..9585fb6b8fb 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm @@ -7,7 +7,7 @@ color = "#404040" buckle_lying = 1 var/icon_temperature = T20C //stop small changes in temperature causing icon refresh - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF /obj/machinery/atmospherics/pipe/heat_exchanging/New() ..() diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 2188de76733..4065954db83 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -17,6 +17,7 @@ var/gas_type = "" var/release_pressure = ONE_ATMOSPHERE + armor = list(melee = 50, bullet = 50, laser = 50, energy = 100, bomb = 10, bio = 100, rad = 100, fire = 10, acid = 0) var/health = 100 pressure_resistance = 7 * ONE_ATMOSPHERE var/temperature_resistance = 1000 + T0C diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 4d772168da7..8a77545144c 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -7,7 +7,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 var/active = 0 diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 35dcdc3b70d..8368096be0f 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -193,7 +193,7 @@ obj/item/weapon/paper/crumpled/snowdin/shovel /obj/item/clothing/under/syndicate/coldres name = "insulated tactical turtleneck" desc = "A non-descript and slightly suspicious looking turtleneck with digital camouflage cargo pants. The interior has been padded with special insulation for both warmth and protection" - armor = list(melee = 20, bullet = 10, laser = 0,energy = 5, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 20, bullet = 10, laser = 0,energy = 5, bomb = 0, bio = 0, rad = 0, fire = 25, acid = 25) cold_protection = CHEST|GROIN|ARMS|LEGS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/shoes/combat/coldres diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 7e9ab1f85c3..b57b4ad5927 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -159,8 +159,8 @@ origin_tech = "syndicate=2" sensor_mode = 0 //Hey who's this guy on the Syndicate Shuttle?? random_sensor = 0 - burn_state = FIRE_PROOF - armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/chameleon/New() ..() @@ -176,8 +176,8 @@ item_state = "armor" blood_overlay_type = "armor" origin_tech = "syndicate=2" - burn_state = FIRE_PROOF - armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/suit/chameleon/New() ..() @@ -192,8 +192,8 @@ icon_state = "meson" item_state = "meson" origin_tech = "syndicate=2" - burn_state = FIRE_PROOF - armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/glasses/chameleon/New() ..() @@ -208,8 +208,8 @@ icon_state = "yellow" item_state = "ygloves" - burn_state = FIRE_PROOF - armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/gloves/chameleon/New() ..() @@ -224,8 +224,8 @@ icon_state = "greysoft" item_color = "grey" - burn_state = FIRE_PROOF - armor = list(melee = 5, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 5, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/datum/action/item_action/chameleon/change/chameleon_action = null @@ -240,7 +240,7 @@ // The camohat, I mean, holographic hat projection, is part of the // drone itself. flags = NODROP - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) // which means it offers no protection, it's just air and light /obj/item/clothing/head/chameleon/drone/New() @@ -256,8 +256,8 @@ desc = "A face-covering mask that can be connected to an air supply. While good for concealing your identity, it isn't good for blocking gas flow." //More accurate icon_state = "gas_alt" item_state = "gas_alt" - burn_state = FIRE_PROOF - armor = list(melee = 5, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0) + resistance_flags = FIRE_PROOF + armor = list(melee = 5, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR @@ -284,7 +284,7 @@ /obj/item/clothing/mask/chameleon/drone //Same as the drone chameleon hat, undroppable and no protection flags = NODROP - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) // Can drones use the voice changer part? Let's not find out. vchange = 0 @@ -307,9 +307,9 @@ permeability_coefficient = 0.05 flags = NOSLIP origin_tech = "syndicate=2" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF pockets = /obj/item/weapon/storage/internal/pocket/shoes - armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/shoes/chameleon/New() ..() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index d347342d22c..b3301d68acc 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 = 0 var/flash_protect = 0 //Malk: What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS var/tint = 0 //Malk: Sets the item's level of visual impairment tint, normally set to the same as flash_protect var/up = 0 // but seperated to allow items to protect but not impair vision, like space helmets @@ -117,7 +117,7 @@ w_class = 1 throwforce = 0 slot_flags = SLOT_EARS - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/ears/earmuffs name = "earmuffs" @@ -127,7 +127,7 @@ flags = EARBANGPROTECT strip_delay = 15 put_on_delay = 25 - burn_state = FLAMMABLE + resistance_flags = 0 //Glasses /obj/item/clothing/glasses @@ -145,7 +145,7 @@ var/vision_correction = 0 //does wearing these glasses correct some of our vision defects? strip_delay = 20 put_on_delay = 25 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /* SEE_SELF // can see self, no matter what SEE_MOBS // can see all mobs, no matter what @@ -172,13 +172,12 @@ BLIND // can't see anything put_on_delay = 40 -/obj/item/clothing/gloves/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/gloves/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) if(blood_DNA) . += image("icon"='icons/effects/blood.dmi', "icon_state"="bloodyhands") - // Called just before an attack_hand(), in mob/UnarmedAttack() /obj/item/clothing/gloves/proc/Touch(atom/A, proximity) return 0 // return 1 to cancel attack_hand() @@ -193,7 +192,7 @@ BLIND // can't see anything var/can_toggle = null -/obj/item/clothing/head/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/head/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) if(blood_DNA) @@ -211,7 +210,7 @@ BLIND // can't see anything var/adjusted_flags = null -/obj/item/clothing/mask/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/mask/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) if(blood_DNA && (body_parts_covered & HEAD)) @@ -268,7 +267,7 @@ BLIND // can't see anything var/blood_state = BLOOD_STATE_NOT_BLOODY var/list/bloody_shoes = list(BLOOD_STATE_HUMAN = 0,BLOOD_STATE_XENO = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0) -/obj/item/clothing/shoes/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/shoes/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) var/bloody = 0 @@ -298,13 +297,13 @@ BLIND // can't see anything name = "suit" var/fire_resist = T0C+100 allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) slot_flags = SLOT_OCLOTHING var/blood_overlay_type = "suit" var/togglename = null -/obj/item/clothing/suit/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/suit/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) if(blood_DNA) @@ -320,7 +319,7 @@ BLIND // can't see anything flags = STOPSPRESSUREDMAGE | THICKMATERIAL item_state = "spaceold" permeability_coefficient = 0.01 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50, fire = 0, acid = 70) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT @@ -330,7 +329,7 @@ BLIND // can't see anything strip_delay = 50 put_on_delay = 50 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/space name = "space suit" @@ -344,7 +343,7 @@ BLIND // can't see anything body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals) slowdown = 1 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50, fire = 0, acid = 70) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT @@ -352,7 +351,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 = FIRE_PROOF //Under clothing @@ -362,7 +361,7 @@ BLIND // can't see anything body_parts_covered = CHEST|GROIN|LEGS|ARMS permeability_coefficient = 0.90 slot_flags = SLOT_ICLOTHING - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) var/fitted = FEMALE_UNIFORM_FULL // For use in alternate clothing styles for women var/has_sensor = 1//For the crew computer 2 = unable to change mode var/random_sensor = 1 @@ -373,13 +372,12 @@ BLIND // can't see anything var/obj/item/clothing/tie/hastie = null var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to. -/obj/item/clothing/under/worn_overlays(var/isinhands = FALSE) +/obj/item/clothing/under/worn_overlays(isinhands = FALSE) . = list() if(!isinhands) if(blood_DNA) . += image("icon"='icons/effects/blood.dmi', "icon_state"="uniformblood") - if(hastie) var/tie_color = hastie.item_color if(!tie_color) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 8ca4bf66cc4..05206e37108 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -56,6 +56,7 @@ scan_reagents = 1 //You can see reagents while wearing science goggles actions_types = list(/datum/action/item_action/toggle_research_scanner) glass_colour_type = /datum/client_colour/glass_colour/purple + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/glasses/science/item_action_slot_check(slot) if(slot == slot_glasses) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index e70b3ef14b0..8dc34e005c4 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 = FIRE_PROOF /obj/item/clothing/gloves/color/fyellow //Cheap Chinese Crap desc = "These gloves are cheap knockoffs of the coveted ones - no way this can end badly." @@ -16,7 +16,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 = FIRE_PROOF /obj/item/clothing/gloves/color/fyellow/New() ..() @@ -32,7 +32,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 = FIRE_PROOF var/can_be_cut = 1 /obj/item/clothing/gloves/color/black/hos @@ -70,7 +70,7 @@ desc = "These gloves will protect the wearer from electric shock." siemens_coefficient = 0 permeability_coefficient = 0.05 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/gloves/color/rainbow name = "rainbow gloves" @@ -156,7 +156,7 @@ permeability_coefficient = 0.01 item_color="white" transfer_prints = TRUE - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /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 007138caadb..47e4f799474 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -21,7 +21,8 @@ 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 = FIRE_PROOF + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 30) /obj/item/clothing/gloves/combat name = "combat gloves" @@ -35,7 +36,9 @@ 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 = FIRE_PROOF + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 50) + /obj/item/clothing/gloves/bracer name = "bone bracers" @@ -50,6 +53,5 @@ cold_protection = ARMS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - burn_state = FIRE_PROOF - armor = list(melee = 15, bullet = 35, laser = 35, energy = 20, bomb = 35, bio = 35, rad = 35) //Not like anything ever hits the arms anyways. - + resistance_flags = FIRE_PROOF + armor = list(melee = 15, bullet = 35, laser = 35, energy = 20, bomb = 35, bio = 35, rad = 35, fire = 0, acid = 0) diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index c969147f9a3..5e61b69a2eb 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -68,7 +68,7 @@ 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 + resistance_flags = FIRE_PROOF /obj/item/clothing/head/collectable/slime name = "collectable slime hat" @@ -137,11 +137,11 @@ desc = "Go Red! I mean Green! I mean Red! No Green!" icon_state = "thunderdome" item_state = "thunderdome" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/head/collectable/swat name = "collectable SWAT helmet" desc = "That's not real blood. That's red paint." //Reference to the actual description icon_state = "swat" item_state = "swat" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 8751493b999..7ea5150f4d1 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -6,10 +6,10 @@ var/brightness_on = 4 //luminosity when on var/on = 0 item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite) - armor = list(melee = 15, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20) + armor = list(melee = 15, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20, fire = 0, 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 diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index b4f057cacf5..a69289080ce 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -4,14 +4,14 @@ icon_state = "helmet" flags = HEADBANGPROTECT item_state = "helmet" - armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) flags_inv = HIDEEARS cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 60 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF flags_cover = HEADCOVERSEYES dog_fashion = /datum/dog_fashion/head/helmet @@ -31,7 +31,7 @@ desc = "A bulletproof combat helmet that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." icon_state = "helmetalt" item_state = "helmetalt" - armor = list(melee = 15, bullet = 40, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0) + armor = list(melee = 15, bullet = 40, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 0, acid = 50) can_flashlight = 1 dog_fashion = null @@ -48,7 +48,7 @@ alt_toggle_message = "You push the visor up on" can_toggle = 1 flags = HEADBANGPROTECT - armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) + armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0, fire = 0, acid = 50) flags_inv = HIDEEARS|HIDEFACE strip_delay = 80 actions_types = list(/datum/action/item_action/toggle) @@ -102,7 +102,7 @@ desc = "An extremely robust, space-worthy helmet in a nefarious red and black stripe pattern." icon_state = "swatsyndie" item_state = "swatsyndie" - armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20) + armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20, fire = 20, acid = 50) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -123,7 +123,7 @@ flags_inv = HIDEEARS|HIDEHAIR icon_state = "thunderdome" item_state = "thunderdome" - armor = list(melee = 40, bullet = 30, laser = 25,energy = 10, bomb = 25, bio = 10, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 25,energy = 10, bomb = 25, bio = 10, rad = 0, fire = 0, acid = 50) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -136,7 +136,7 @@ desc = "An ancient helmet made of bronze and leather." flags_inv = HIDEEARS|HIDEHAIR flags_cover = HEADCOVERSEYES - armor = list(melee = 25, bullet = 0, laser = 25, energy = 10, bomb = 10, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 0, laser = 25, energy = 10, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 50) icon_state = "roman" item_state = "roman" strip_delay = 100 @@ -163,7 +163,7 @@ icon_state = "redtaghelm" flags_cover = HEADCOVERSEYES item_state = "redtaghelm" - armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0) + armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -173,7 +173,7 @@ icon_state = "bluetaghelm" flags_cover = HEADCOVERSEYES item_state = "bluetaghelm" - armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0) + armor = list(melee = 15, bullet = 10, laser = 20,energy = 10, bomb = 20, bio = 0, rad = 0, fire = 0, acid = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -182,7 +182,7 @@ desc = "A classic metal helmet." icon_state = "knight_green" item_state = "knight_green" - armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) + armor = list(melee = 41, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0, fire = 0, acid = 50) flags = null flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH @@ -212,7 +212,7 @@ desc = "An intimidating tribal helmet, it doesn't look very comfortable." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE flags_cover = HEADCOVERSEYES - armor = list(melee = 25, bullet = 25, laser = 25, energy = 10, bomb = 10, bio = 5, rad = 20) + armor = list(melee = 25, bullet = 25, laser = 25, energy = 10, bomb = 10, bio = 5, rad = 20, fire = 20, acid = 20) icon_state = "skull" item_state = "skull" strip_delay = 100 diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 1c3de2d39d3..f013c37db74 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -26,9 +26,8 @@ icon_state = "captain" item_state = "that" flags_inv = 0 - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) strip_delay = 60 - dog_fashion = /datum/dog_fashion/head/captain //Captain: This is no longer space-worthy @@ -45,8 +44,7 @@ name = "head of personnel's cap" icon_state = "hopcap" desc = "The symbol of true bureaucratic micromanagement." - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) - + armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) dog_fashion = /datum/dog_fashion/head/hop //Chaplain @@ -61,7 +59,7 @@ name = "detective's fedora" desc = "There's only one man who can sniff out the dirty stench of crime, and he's likely wearing this hat." icon_state = "detective" - armor = list(melee = 25, bullet = 5, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 5, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 50) var/candy_cooldown = 0 pockets = /obj/item/weapon/storage/internal/pocket/small/detective dog_fashion = /datum/dog_fashion/head/detective @@ -98,7 +96,7 @@ name = "head of security cap" desc = "The robust standard-issue cap of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" - armor = list(melee = 40, bullet = 30, laser = 25, energy = 10, bomb = 25, bio = 10, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 25, energy = 10, bomb = 25, bio = 10, rad = 0, fire = 0, acid = 60) strip_delay = 80 /obj/item/clothing/head/HoS/beret @@ -110,16 +108,15 @@ name = "warden's police hat" desc = "It's a special armored hat issued to the Warden of a security force. Protects the head from impacts." icon_state = "policehelm" - armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 60) strip_delay = 60 - dog_fashion = /datum/dog_fashion/head/warden /obj/item/clothing/head/beret/sec name = "security beret" desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficent protection." icon_state = "beret_badge" - armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 30,energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) strip_delay = 60 dog_fashion = null @@ -132,7 +129,7 @@ name = "warden's beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." icon_state = "wardenberet" - armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) strip_delay = 60 /obj/item/clothing/head/beret/sec/navyofficer diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 8577285ea1c..4ebcd8a4a27 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -6,7 +6,7 @@ desc = "It's good to be emperor." item_state = "that" flags_inv = 0 - armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) strip_delay = 80 /obj/item/clothing/head/powdered_wig @@ -24,7 +24,7 @@ /obj/item/clothing/head/canada name = "striped red tophat" - desc = " It feels sticky, like maple syrup - il se sent collante, comme le sirop d'érable" + desc = " It feels sticky, like maple syrup - il se sent collante, comme le sirop d'érable" icon_state = "canada" item_state = "canada" @@ -222,7 +222,7 @@ throw_range = 5 w_class = 2 attack_verb = list("warned", "cautioned", "smashed") - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/head/santa name = "santa hat" @@ -264,7 +264,7 @@ name = "crown" 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) //for a warrior king //energy cause gold is reflective //worse than sec helm overall + armor = list(melee = 15, bullet = 0, laser = 0,energy = 15, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 50) /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 e2dfe0f6cb8..6d623c22c39 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -21,12 +21,12 @@ // var/up = 0 flash_protect = 2 tint = 2 - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 60) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE actions_types = list(/datum/action/item_action/toggle) visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/head/welding/attack_self() toggle() @@ -51,7 +51,7 @@ item_color = "cakehat" hitsound = 'sound/weapons/tap.ogg' flags_inv = HIDEEARS|HIDEHAIR - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) brightness_on = 2 //luminosity when on flags_cover = HEADCOVERSEYES heat = 1000 @@ -121,7 +121,7 @@ item_state = "hardhat0_pumpkin" item_color = "pumpkin" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) brightness_on = 2 //luminosity when on flags_cover = HEADCOVERSEYES @@ -153,7 +153,7 @@ item_state = "hardhat0_reindeer" item_color = "reindeer" flags_inv = 0 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) brightness_on = 1 //luminosity when on dog_fashion = /datum/dog_fashion/head/reindeer diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 1ce016c73fe..eb52e83640f 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -120,7 +120,7 @@ desc = "It's a robust baseball hat in tasteful red colour." icon_state = "secsoft" item_color = "sec" - armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) strip_delay = 60 dog_fashion = null diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index ca7f65f42c5..7c79e261c96 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -12,7 +12,7 @@ actions_types = list(/datum/action/item_action/adjust) flags_cover = MASKCOVERSMOUTH visor_flags_cover = MASKCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/mask/breath/attack_self(mob/user) adjustmask(user) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 2d0f64c7306..7ba9af72bf7 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -9,7 +9,7 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF // **** Welding gas mask **** @@ -20,7 +20,7 @@ materials = list(MAT_METAL=4000, MAT_GLASS=2000) flash_protect = 2 tint = 2 - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 55) origin_tech = "materials=2;engineering=3" actions_types = list(/datum/action/item_action/toggle) flags_inv = HIDEEARS|HIDEEYES|HIDEFACE @@ -46,7 +46,7 @@ desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply." icon_state = "plaguedoctor" item_state = "gas_mask" - armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0, fire = 0, acid = 0) /obj/item/clothing/mask/gas/syndicate name = "syndicate mask" @@ -61,7 +61,7 @@ icon_state = "clown" item_state = "clown_hat" flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 actions_types = list(/datum/action/item_action/adjust) dog_fashion = /datum/dog_fashion/head/clown @@ -93,7 +93,7 @@ icon_state = "sexyclown" item_state = "sexyclown" flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/clothing/mask/gas/mime name = "mime mask" @@ -102,7 +102,7 @@ icon_state = "mime" item_state = "mime" flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 actions_types = list(/datum/action/item_action/adjust) /obj/item/clothing/mask/gas/mime/attack_self(mob/user) @@ -132,7 +132,7 @@ icon_state = "monkeymask" item_state = "monkeymask" flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/clothing/mask/gas/sexymime name = "sexy mime mask" @@ -141,7 +141,7 @@ icon_state = "sexymime" item_state = "sexymime" flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/clothing/mask/gas/death_commando name = "Death Commando Mask" @@ -152,7 +152,7 @@ name = "cyborg visor" desc = "Beep boop." icon_state = "death" - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/clothing/mask/gas/owl_mask name = "owl mask" @@ -160,7 +160,7 @@ icon_state = "owl" flags = MASKINTERNALS flags_cover = MASKCOVERSEYES - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/clothing/mask/gas/carp name = "carp mask" diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 82fd000760d..9e1a9e60cb4 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -8,7 +8,7 @@ actions_types = list(/datum/action/item_action/toggle) strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF origin_tech = "materials=3;magnets=4;engineering=4" /obj/item/clothing/shoes/magboots/verb/toggle() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 01263250ce5..4fc5182db7c 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -17,9 +17,9 @@ desc = "High speed, low drag combat boots." icon_state = "jackboots" item_state = "jackboots" - armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0) + armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 50, bio = 10, rad = 0, fire = 0, acid = 50) strip_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF pockets = /obj/item/weapon/storage/internal/pocket/shoes /obj/item/clothing/shoes/combat/swat //overpowered boots for death squads @@ -27,7 +27,7 @@ desc = "High speed, no drag combat boots." permeability_coefficient = 0.01 flags = NOSLIP - armor = list(melee = 40, bullet = 30, laser = 25, energy = 25, bomb = 50, bio = 30, rad = 30) + armor = list(melee = 40, bullet = 30, laser = 25, energy = 25, bomb = 50, bio = 30, rad = 30, fire = 0, acid = 50) /obj/item/clothing/shoes/sandal desc = "A pair of rather plain, wooden sandals." @@ -35,7 +35,7 @@ icon_state = "wizard" strip_delay = 50 put_on_delay = 50 - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/shoes/sandal/marisa desc = "A pair of magic black shoes." @@ -51,7 +51,8 @@ slowdown = SHOES_SLOWDOWN+1 strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 75) /obj/item/clothing/shoes/galoshes/dry name = "absorbent galoshes" @@ -89,7 +90,7 @@ item_color = "hosred" strip_delay = 50 put_on_delay = 50 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF pockets = /obj/item/weapon/storage/internal/pocket/shoes /obj/item/clothing/shoes/jackboots/fast @@ -119,7 +120,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/cult name = "nar-sian invoker boots" @@ -168,7 +169,7 @@ icon_state = "jetboots" item_state = "jackboots" item_color = "hosred" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF actions_types = list(/datum/action/item_action/bhop) var/jumpdistance = 5 //-1 from to see the actual distance, e.g 4 goes over 3 tiles var/recharging_rate = 60 //default 6 seconds between each dash diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 48154a4ae46..be717658e23 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -4,7 +4,7 @@ icon_state = "chronohelmet" item_state = "chronohelmet" slowdown = 1 - armor = list(melee = 60, bullet = 30/*bullet through the visor*/, laser = 60, energy = 60, bomb = 30, bio = 90, rad = 90) + armor = list(melee = 60, bullet = 30/*bullet through the visor*/, laser = 60, energy = 60, bomb = 30, bio = 90, rad = 90, fire = 95, acid = 95) var/obj/item/clothing/suit/space/chronos/suit = null /obj/item/clothing/head/helmet/space/chronos/dropped() @@ -23,7 +23,7 @@ icon_state = "chronosuit" 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) + armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 30, bio = 90, rad = 90, fire = 95, acid = 95) var/list/chronosafe_items = list(/obj/item/weapon/chrono_eraser, /obj/item/weapon/gun/energy/chrono_gun) var/list/hands_nodrop = list() var/obj/item/clothing/head/helmet/space/chronos/helmet = null diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 11e77d18c1f..e21925e1c23 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -4,7 +4,7 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" item_state = "eng_helm" - armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 50, acid = 75) var/basestate = "hardsuit" var/brightness_on = 4 //luminosity when on var/on = 0 @@ -72,7 +72,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" - armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 50, acid = 75) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/pipe_dispenser) siemens_coefficient = 0 var/obj/item/clothing/head/helmet/space/hardsuit/helmet @@ -142,7 +142,7 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" item_state = "eng_helm" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 50, acid = 75) item_color = "engineering" /obj/item/clothing/suit/space/hardsuit/engine @@ -150,7 +150,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 50, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine //Atmospherics @@ -160,7 +160,7 @@ icon_state = "hardsuit0-atmospherics" item_state = "atmo_helm" item_color = "atmospherics" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0, fire = 100, acid = 75) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT @@ -169,7 +169,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has thermal shielding." icon_state = "hardsuit-atmospherics" item_state = "atmo_hardsuit" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0, fire = 100, acid = 75) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -182,17 +182,16 @@ icon_state = "hardsuit0-white" item_state = "ce_helm" item_color = "white" - armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90) + armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90, fire = 100, acid = 90) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - /obj/item/clothing/suit/space/hardsuit/engine/elite icon_state = "hardsuit-white" name = "advanced hardsuit" desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." item_state = "ce_hardsuit" - armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90) + armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90, fire = 100, acid = 90) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite @@ -207,7 +206,7 @@ item_color = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|ARMS - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 75) brightness_on = 7 allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator) @@ -218,7 +217,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters." item_state = "mining_hardsuit" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 75) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -230,7 +229,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" - armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 50, acid = 90) on = 1 var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null actions_types = list(/datum/action/item_action/toggle_helmet_mode) @@ -308,12 +307,11 @@ item_state = "syndie_hardsuit" item_color = "syndi" w_class = 3 - armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 50, acid = 90) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/weapon/tank/jetpack/suit - //Elite Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite name = "elite syndicate hardsuit helmet" @@ -321,12 +319,13 @@ alt_desc = "An elite version of the syndicate helmet, with improved armour and fire shielding. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit0-syndielite" item_color = "syndielite" - armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70) + armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70, fire = 95, acid = 100) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT visor_flags_inv = 0 visor_flags = 0 on = 0 + resistance_flags = ACID_PROOF /obj/item/clothing/suit/space/hardsuit/syndi/elite @@ -336,10 +335,10 @@ icon_state = "hardsuit0-syndielite" item_color = "syndielite" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite - armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70) + armor = list(melee = 60, bullet = 60, laser = 50, energy = 25, bomb = 55, bio = 100, rad = 70, fire = 95, acid = 100) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT - + resistance_flags = ACID_PROOF //The Owl Hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl @@ -370,8 +369,8 @@ icon_state = "hardsuit0-wiz" item_state = "wiz_helm" item_color = "wiz" - unacidable = 1 //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) + 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_HELM_MAX_TEMP_PROTECT @@ -381,8 +380,8 @@ desc = "A bizarre gem-encrusted suit that radiates magical energies." item_state = "wiz_hardsuit" w_class = 3 - unacidable = 1 - armor = list(melee = 40, bullet = 40, laser = 40, energy = 20, bomb = 35, bio = 100, rad = 50) + 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/weapon/teleportation_scroll,/obj/item/weapon/tank/internals) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT @@ -397,7 +396,7 @@ item_state = "medical_helm" item_color = "medical" flash_protect = 0 - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75) scan_reagents = 1 /obj/item/clothing/suit/space/hardsuit/medical @@ -406,7 +405,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement." item_state = "medical_hardsuit" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical //Research Director hardsuit @@ -415,10 +414,10 @@ desc = "A prototype helmet designed for research in a hazardous, low pressure environment. Scientific data flashes across the visor." icon_state = "hardsuit0-rd" item_color = "rd" - unacidable = 1 + resistance_flags = ACID_PROOF var/onboard_hud_enabled = 0 //stops conflicts with another diag HUD max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60, fire = 60, acid = 80) var/obj/machinery/doppler_array/integrated/bomb_radar scan_reagents = 1 actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) @@ -447,11 +446,11 @@ name = "prototype hardsuit" desc = "A prototype suit that protects against hazardous, low pressure environments. Fitted with extensive plating for handling explosives and dangerous research materials." item_state = "hardsuit-rd" - unacidable = 1 + resistance_flags = ACID_PROOF max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT //Same as an emergency firesuit. Not ideal for extended exposure. allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy/wormhole_projector, /obj/item/weapon/hand_tele, /obj/item/device/aicard) - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 100, bio = 100, rad = 60, fire = 60, acid = 80) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd @@ -463,7 +462,7 @@ icon_state = "hardsuit0-sec" item_state = "sec_helm" item_color = "sec" - armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75) /obj/item/clothing/suit/space/hardsuit/security @@ -472,7 +471,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) - armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 75, acid = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security /obj/item/clothing/head/helmet/space/hardsuit/security/hos @@ -480,14 +479,14 @@ desc = "a special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-hos" item_color = "hos" - armor = list(melee = 45, bullet = 25, laser = 30,energy = 10, bomb = 25, bio = 100, rad = 50) + armor = list(melee = 45, bullet = 25, laser = 30,energy = 10, bomb = 25, bio = 100, rad = 50, fire = 95, acid = 95) /obj/item/clothing/suit/space/hardsuit/security/hos icon_state = "hardsuit-hos" name = "head of security's hardsuit" desc = "A special bulky suit that protects against hazardous, low pressure environments. Has an additional layer of armor." - armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50) + armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 50, fire = 95, acid = 95) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos //Captain @@ -496,9 +495,8 @@ icon_state = "capspace" item_state = "capspacehelmet" desc = "A special hardsuit helmet designed for only the most fashionable of military figureheads." - armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 95) actions_types = list() - flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR //we want to see the mask /obj/item/clothing/head/helmet/space/hardsuit/captain/attack_self() return //Sprites required for flashlight @@ -509,7 +507,7 @@ icon_state = "caparmor" item_state = "capspacesuit" allowed = list(/obj/item/weapon/tank/internals, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) - armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50, fire = 100, acid = 95) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain //Clown @@ -518,7 +516,7 @@ desc = "A special helmet designed for work in a hazardous, low-humor environment. Has radiation shielding." icon_state = "hardsuit0-clown" item_state = "hardsuit0-clown" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 60, acid = 30) item_color = "clown" /obj/item/clothing/suit/space/hardsuit/clown @@ -526,7 +524,7 @@ desc = "A special suit that protects against hazardous, low humor environments. Has radiation shielding. Only a true clown can wear it." icon_state = "hardsuit-clown" item_state = "clown_hardsuit" - armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) + armor = list(melee = 30, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75, fire = 60, acid = 30) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clown /obj/item/clothing/suit/space/hardsuit/clown/mob_can_equip(mob/M, slot) @@ -547,7 +545,8 @@ icon_state = "hardsuit-hos" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) - armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50, fire = 95, 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 @@ -595,6 +594,8 @@ if(!isinhands) . += image(icon = 'icons/effects/effects.dmi', icon_state = "[shield_state]") +/obj/item/clothing/head/helmet/space/hardsuit/shielded + resistance_flags = ACID_PROOF ///////////////Capture the Flag//////////////////// @@ -606,7 +607,7 @@ item_color = "ert_medical" flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP //Dont want people changing into the other teams gear helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf - armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100) + armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100, fire = 95, acid = 95) slowdown = 0 max_charges = 5 @@ -634,7 +635,7 @@ icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" item_color = "ert_medical" - armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100) + armor = list(melee = 0, bullet = 30, laser = 30, energy = 30, bomb = 50, bio = 100, rad = 100, fire = 95, acid = 95) /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red @@ -661,7 +662,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" item_color = "syndi" - armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 95, acid = 100) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 @@ -677,7 +678,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" - armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) + armor = list(melee = 40, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50, fire = 95, acid = 100) ///SWAT version /obj/item/clothing/suit/space/hardsuit/shielded/swat @@ -689,10 +690,10 @@ max_charges = 4 current_charges = 4 recharge_delay = 15 - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 95, acid = 95) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat dog_fashion = /datum/dog_fashion/back/deathsquad @@ -702,8 +703,8 @@ icon_state = "deathsquad" item_state = "deathsquad" item_color = "syndi" - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 95, acid = 95) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF actions_types = list() \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 10bdf923bbb..895b1ef9dc1 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -20,10 +20,10 @@ Contains: desc = "That's not red paint. That's real blood." icon_state = "deathsquad" item_state = "deathsquad" - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF actions_types = list() /obj/item/clothing/head/helmet/space/hardsuit/deathsquad/attack_self(mob/user) @@ -35,10 +35,10 @@ Contains: icon_state = "deathsquad" item_state = "swat_suit" allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals,/obj/item/weapon/kitchen/knife/combat) - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF helmettype = /obj/item/clothing/head/helmet/space/hardsuit/deathsquad dog_fashion = /datum/dog_fashion/back/deathsquad @@ -49,8 +49,9 @@ Contains: icon_state = "heavy" item_state = "swat_suit" allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals,/obj/item/weapon/kitchen/knife/combat) - armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20) + armor = list(melee = 40, bullet = 30, laser = 30,energy = 30, bomb = 50, bio = 90, rad = 20, fire = 60, acid = 75) strip_delay = 120 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/helmet/space/beret name = "officer's beret" @@ -58,10 +59,10 @@ Contains: icon_state = "beret_badge" flags = STOPSPRESSUREDMAGE flags_inv = 0 - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 80, acid = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/suit/space/officer name = "officer's jacket" @@ -73,10 +74,10 @@ Contains: flags_inv = 0 w_class = 3 allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 80, acid = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = FIRE_PROOF | ACID_PROOF //NASA Voidsuit @@ -120,7 +121,7 @@ Contains: desc = "Yarr." icon_state = "pirate" item_state = "pirate" - armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 60, acid = 75) flags = STOPSPRESSUREDMAGE strip_delay = 40 put_on_delay = 20 @@ -135,7 +136,7 @@ Contains: flags_inv = 0 allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals, /obj/item/weapon/melee/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum) slowdown = 0 - armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 30, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 60, acid = 75) strip_delay = 40 put_on_delay = 20 @@ -146,7 +147,7 @@ Contains: icon_state = "hardsuit0-ert_commander" item_state = "hardsuit0-ert_commander" item_color = "ert_commander" - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) + armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) strip_delay = 130 flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP brightness_on = 7 @@ -158,7 +159,7 @@ Contains: item_state = "ert_command" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) - armor = list(melee = 30, bullet = 50, laser = 30, energy = 50, bomb = 50, bio = 100, rad = 100) + armor = list(melee = 30, bullet = 50, laser = 30, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 0, acid = 95) slowdown = 0 strip_delay = 130 @@ -207,7 +208,7 @@ Contains: icon_state = "space" item_state = "s_suit" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 65) /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" @@ -215,17 +216,17 @@ Contains: item_state = "space" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." flash_protect = 0 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 65) /obj/item/clothing/head/helmet/space/freedom name = "eagle helmet" desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle." icon_state = "griffinhat" item_state = "griffinhat" - armor = list(melee = 20, bullet = 40, laser = 30, energy = 25, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 20, bullet = 40, laser = 30, energy = 25, bomb = 100, bio = 100, rad = 100, fire = 80, acid = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF /obj/item/clothing/suit/space/freedom name = "eagle suit" @@ -233,10 +234,10 @@ Contains: icon_state = "freedom" item_state = "freedom" allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) - armor = list(melee = 20, bullet = 40, laser = 30,energy = 25, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 20, bullet = 40, laser = 30,energy = 25, bomb = 100, bio = 100, rad = 100, fire = 80, acid = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF //Carpsuit, bestsuit, lovesuit /obj/item/clothing/head/helmet/space/hardsuit/carp @@ -244,7 +245,7 @@ Contains: desc = "Spaceworthy and it looks like a space carp's head, smells like one too." icon_state = "carp_helm" item_state = "syndicate" - armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 75) //As whimpy as a space carp + armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 75, fire = 60, acid = 75) //As whimpy as a space carp brightness_on = 0 //luminosity when on actions_types = list() flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP @@ -256,7 +257,7 @@ Contains: icon_state = "carp_suit" item_state = "space_suit_syndicate" slowdown = 0 //Space carp magic, never stop believing - armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 75) //As whimpy whimpy whoo + armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 75, fire = 60, acid = 75) //As whimpy whimpy whoo allowed = list(/obj/item/weapon/tank/internals, /obj/item/weapon/gun/projectile/automatic/speargun) //I'm giving you a hint here helmettype = /obj/item/clothing/head/helmet/space/hardsuit/carp diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index fbd5b33ad73..fedbd537c0b 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -5,7 +5,7 @@ name = "plasmaman suit" desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies." allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0, fire = 95, acid = 75) icon_state = "plasmaman_suit" item_state = "plasmaman_suit" var/next_extinguish = 0 diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 9aceb965f84..e16905ca28b 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -5,7 +5,7 @@ icon_state = "syndicate" item_state = "syndicate" desc = "Has a tag: Totally not property of an enemy corporation, honest." - armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) /obj/item/clothing/suit/space/syndicate name = "red space suit" @@ -14,7 +14,7 @@ desc = "Has a tag on it: Totally not property of of a hostile corporation, honest!" w_class = 3 allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) - armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) + armor = list(melee = 40, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) //Green syndicate space suit diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 5a77d9f2f7f..fa250b1222c 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 + resistance_flags = FIRE_PROOF + armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) /obj/item/clothing/suit/armor/vest name = "armor" @@ -15,7 +16,7 @@ icon_state = "armoralt" item_state = "armoralt" blood_overlay_type = "armor" - armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 75) dog_fashion = /datum/dog_fashion/back /obj/item/clothing/suit/armor/vest/alt @@ -33,7 +34,7 @@ icon_state = "hos" item_state = "greatcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 90) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS strip_delay = 80 @@ -55,7 +56,7 @@ cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 - burn_state = FLAMMABLE + resistance_flags = 0 dog_fashion = null /obj/item/clothing/suit/armor/vest/warden/alt @@ -79,7 +80,7 @@ icon_state = "capcarapace" item_state = "armor" body_parts_covered = CHEST|GROIN - armor = list(melee = 50, bullet = 40, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 50, bullet = 40, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 90, acid = 90) dog_fashion = null /obj/item/clothing/suit/armor/vest/capcarapace/alt @@ -96,7 +97,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) flags_inv = HIDEJUMPSUIT strip_delay = 80 put_on_delay = 60 @@ -107,7 +108,7 @@ icon_state = "bonearmor" item_state = "bonearmor" blood_overlay_type = "armor" - armor = list(melee = 35, bullet = 25, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 35, bullet = 25, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50) body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS /obj/item/clothing/suit/armor/bulletproof @@ -116,7 +117,7 @@ icon_state = "bulletproof" item_state = "armor" blood_overlay_type = "armor" - armor = list(melee = 15, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0) + armor = list(melee = 15, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0, fire = 50, acid = 50) strip_delay = 70 put_on_delay = 50 @@ -126,7 +127,7 @@ icon_state = "armor_reflec" item_state = "armor_reflec" blood_overlay_type = "armor" - armor = list(melee = 10, bullet = 10, laser = 60, energy = 50, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 10, laser = 60, energy = 50, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 50) var/hit_reflect_chance = 40 /obj/item/clothing/suit/armor/laserproof/IsReflect(def_zone) @@ -140,7 +141,7 @@ desc = "An armored vest with a detective's badge on it." icon_state = "detective-armor" allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder,/obj/item/weapon/melee/classic_baton/telescopic) - burn_state = FLAMMABLE + resistance_flags = 0 dog_fashion = null @@ -154,9 +155,9 @@ icon_state = "reactiveoff" item_state = "reactiveoff" blood_overlay_type = "armor" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) actions_types = list(/datum/action/item_action/toggle) - unacidable = 1 + resistance_flags = ACID_PROOF hit_reaction_chance = 50 @@ -340,7 +341,7 @@ min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 95, acid = 95) /obj/item/clothing/suit/armor/heavy name = "heavy armor" @@ -353,7 +354,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 3 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 90, acid = 90) /obj/item/clothing/suit/armor/tdome body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -361,7 +362,7 @@ flags = THICKMATERIAL cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 90, acid = 90) /obj/item/clothing/suit/armor/tdome/red name = "thunderdome suit" diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index d5d66b162c8..9a7c584f968 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -5,10 +5,9 @@ desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 flags = THICKMATERIAL - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20, fire = 30, acid = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE - unacidable = 1 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/bio_suit @@ -23,12 +22,11 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 1 allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/hypospray) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20, fire = 30, acid = 100) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT strip_delay = 70 put_on_delay = 70 - unacidable = 1 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF //Standard biosuit, orange stripe /obj/item/clothing/head/bio_hood/general @@ -48,11 +46,11 @@ //Security biosuit, grey with red stripe across the chest /obj/item/clothing/head/bio_hood/security - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 100, rad = 20) + armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 100, rad = 20, fire = 30, acid = 100) icon_state = "bio_security" /obj/item/clothing/suit/bio_suit/security - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 100, rad = 20) + armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 100, rad = 20, fire = 30, acid = 100) icon_state = "bio_security" diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index a021f5a244a..ca916f199c6 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -27,7 +27,7 @@ desc = "Worn by Securistan, ruling the station with an iron fist. It's slightly armored." icon_state = "hoscloak" allowed = list(/obj/item/weapon/gun/energy/gun/hos) - armor = list(melee = 30, bullet = 30, laser = 10, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 30, laser = 10, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 60) /obj/item/clothing/suit/cloak/qm name = "quartermaster's cloak" @@ -38,56 +38,56 @@ desc = "Worn by Meditopia, the valiant men and women keeping pestilence at bay. It's slightly shielded from contaminants." icon_state = "cmocloak" allowed = list(/obj/item/weapon/reagent_containers/hypospray/CMO) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 25, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 25, rad = 0, fire = 0, acid = 25) /obj/item/clothing/suit/cloak/ce name = "chief engineer's cloak" desc = "Worn by Engitopia, wielders of an unlimited power. It's slightly shielded against radiation." icon_state = "cecloak" allowed = list(/obj/item/weapon/rcd, /obj/item/weapon/pipe_dispenser) - armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10) + armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10, fire = 0, acid = 25) /obj/item/clothing/suit/cloak/rd name = "research director's cloak." desc = "Worn by Sciencia, thaumaturges and researchers of the universe. It's slightly shielded from contaminants." icon_state = "rdcloak" allowed = list(/obj/item/weapon/hand_tele, /obj/item/weapon/storage/part_replacer) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 25) /obj/item/clothing/suit/cloak/cap name = "captain's cloak" desc = "Worn by the commander of Space Station 13." icon_state = "capcloak" allowed = list(/obj/item/weapon/gun/energy/laser/captain) - armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 10, rad = 10) + armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 10, rad = 10, fire = 0, acid = 50) /obj/item/clothing/suit/hooded/cloak/drake name = "drake armour" icon_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake. " allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/pickaxe, /obj/item/weapon/twohanded/spear) - armor = list(melee = 70, bullet = 30, laser = 50, energy = 40, bomb = 70, bio = 60, rad = 50) + armor = list(melee = 70, bullet = 30, laser = 50, energy = 40, bomb = 70, bio = 60, rad = 50, fire = 50, acid = 100) hooded = 1 hoodtype = /obj/item/clothing/head/cloakhood/drake heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF /obj/item/clothing/head/cloakhood/drake name = "drake helm" icon_state = "dragon" desc = "The skull of a dragon." - armor = list(melee = 70, bullet = 30, laser = 50, energy = 40, bomb = 70, bio = 60, rad = 50) + armor = list(melee = 70, bullet = 30, laser = 50, energy = 40, bomb = 70, bio = 60, rad = 50, fire = 50, acid = 100) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT - unacidable = 1 + resistance_flags = ACID_PROOF /* //wip /obj/item/clothing/cloak/wizard //Not actually obtainable until proper balancing can be done name = "cloak of invisibility" desc = "A tattered old thing that apparently gifts the wearer with near-invisibility." - armor = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 10, bio = 10, rad = 10) + armor = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 10, bio = 10, rad = 10, fire = 10, acid = 10) action_button_name = "Flaunt Cloak" var/invisible = 0 diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 1032ae12431..ad821773ac7 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -82,7 +82,7 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder,/obj/item/weapon/melee/classic_baton/telescopic) - armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 45) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -100,7 +100,7 @@ item_state = "hazard" blood_overlay_type = "armor" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner,/obj/item/device/radio) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF //Lawyer /obj/item/clothing/suit/toggle/lawyer name = "blue suit jacket" diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 29708eadebf..3f19e7a86fc 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -6,7 +6,7 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/weapon/soap,/obj/item/device/sensor_device,/obj/item/weapon/tank/internals/emergency_oxygen) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 50, acid = 50) togglename = "buttons" pockets = /obj/item/weapon/storage/internal/pocket diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 98c4e5e2d7d..f19764bed15 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -16,7 +16,7 @@ blood_overlay_type = "armor" body_parts_covered = CHEST allowed = list (/obj/item/weapon/gun/energy/laser/bluetag) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/redtag name = "red laser tag armor" @@ -26,7 +26,7 @@ blood_overlay_type = "armor" body_parts_covered = CHEST allowed = list (/obj/item/weapon/gun/energy/laser/redtag) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /* * Costume @@ -89,7 +89,7 @@ w_class = 3 allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/hastur name = "\improper Hastur's robe" @@ -342,7 +342,7 @@ desc = "Pompadour not included." icon_state = "leatherjacket" item_state = "hostrench" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/weapon/gun/projectile/automatic/pistol,/obj/item/weapon/gun/projectile/revolver,/obj/item/weapon/gun/projectile/revolver/detective,/obj/item/device/radio) @@ -358,7 +358,7 @@ desc = "A thick jacket with a rubbery, water-resistant shell." icon_state = "pufferjacket" item_state = "hostrench" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 0, acid = 0) /obj/item/clothing/suit/jacket/puffer/vest name = "puffer vest" @@ -367,7 +367,7 @@ item_state = "armor" body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 30, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 30, rad = 0, fire = 0, acid = 0) /obj/item/clothing/suit/jacket/miljacket name = "military jacket" @@ -420,7 +420,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) hooded = 1 @@ -437,7 +437,7 @@ /obj/item/clothing/suit/hooded/wintercoat/captain name = "captain's winter coat" icon_state = "coatcaptain" - armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 50) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/winterhood/captain @@ -447,7 +447,7 @@ /obj/item/clothing/suit/hooded/wintercoat/security name = "security winter coat" icon_state = "coatsecurity" - armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 0, acid = 45) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/winterhood/security @@ -458,7 +458,7 @@ name = "medical winter coat" icon_state = "coatmedical" allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0, fire = 0, acid = 45) hoodtype = /obj/item/clothing/head/winterhood/medical /obj/item/clothing/head/winterhood/medical @@ -468,7 +468,7 @@ name = "science winter coat" icon_state = "coatscience" allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0) hoodtype = /obj/item/clothing/head/winterhood/science /obj/item/clothing/head/winterhood/science @@ -477,7 +477,7 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering name = "engineering winter coat" icon_state = "coatengineer" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20, fire = 30, acid = 45) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/pipe_dispenser) hoodtype = /obj/item/clothing/head/winterhood/engineering @@ -513,7 +513,7 @@ name = "mining winter coat" icon_state = "coatminer" allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) - armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) hoodtype = /obj/item/clothing/head/winterhood/miner /obj/item/clothing/head/winterhood/miner diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 7fa36f22b3e..bbca34cbf4f 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -28,7 +28,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" @@ -57,7 +57,7 @@ desc = "Use in case of bomb." icon_state = "bombsuit" flags = THICKMATERIAL - armor = list(melee = 20, bullet = 0, laser = 20,energy = 10, bomb = 100, bio = 0, rad = 0) + armor = list(melee = 20, bullet = 0, laser = 20,energy = 10, bomb = 100, bio = 0, rad = 0, fire = 25, acid = 50) flags_inv = HIDEFACE|HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT @@ -66,7 +66,8 @@ strip_delay = 70 put_on_delay = 70 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF + /obj/item/clothing/suit/bomb_suit name = "bomb suit" @@ -79,7 +80,7 @@ flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 2 - armor = list(melee = 20, bullet = 0, laser = 20,energy = 10, bomb = 100, bio = 0, rad = 0) + armor = list(melee = 20, bullet = 0, laser = 20,energy = 10, bomb = 100, bio = 0, rad = 0, fire = 25, acid = 50) flags_inv = HIDEJUMPSUIT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT @@ -87,7 +88,7 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT strip_delay = 70 put_on_delay = 70 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/head/bomb_hood/security @@ -109,11 +110,11 @@ desc = "A hood with radiation protective properties. The label reads, 'Made with lead. Please do not consume insulation.'" flags = THICKMATERIAL flags_inv = HIDEMASK|HIDEEARS|HIDEFACE|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) + 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 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/suit/radiation name = "radiation suit" @@ -127,8 +128,8 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/geiger_counter) slowdown = 1.5 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) + 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 flags_inv = HIDEJUMPSUIT - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 980c9603357..64b8b56add2 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -4,11 +4,10 @@ icon_state = "wizard" 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) + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) strip_delay = 50 put_on_delay = 50 - unacidable = 1 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF dog_fashion = /datum/dog_fashion/head/blue_wizard /obj/item/clothing/head/wizard/red @@ -35,7 +34,8 @@ icon_state = "wizard-fake" gas_transfer_coefficient = 1 permeability_coefficient = 1 - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + resistance_flags = 0 dog_fashion = /datum/dog_fashion/head/blue_wizard /obj/item/clothing/head/wizard/marisa @@ -66,13 +66,12 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20) + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) allowed = list(/obj/item/weapon/teleportation_scroll) flags_inv = HIDEJUMPSUIT strip_delay = 50 put_on_delay = 50 - unacidable = 1 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/suit/wizrobe/red name = "red wizard robe" @@ -124,9 +123,8 @@ item_state = "wizrobe" gas_transfer_coefficient = 1 permeability_coefficient = 1 - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - unacidable = 0 - burn_state = FLAMMABLE + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + resistance_flags = 0 /obj/item/clothing/head/wizard/marisa/fake name = "witch hat" @@ -134,9 +132,8 @@ icon_state = "marisa" gas_transfer_coefficient = 1 permeability_coefficient = 1 - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - unacidable = 0 - burn_state = FLAMMABLE + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + resistance_flags = 0 /obj/item/clothing/suit/wizrobe/marisa/fake name = "witch robe" @@ -145,12 +142,11 @@ item_state = "marisarobe" gas_transfer_coefficient = 1 permeability_coefficient = 1 - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - unacidable = 0 - burn_state = FLAMMABLE + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + resistance_flags = 0 /obj/item/clothing/suit/wizrobe/paper - name = "papier-mâché robe" + name = "papier-m?ch? robe" desc = "A robe held together by various bits of clear-tape and paste." icon_state = "wizard-paper" item_state = "wizrobe" @@ -198,9 +194,9 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20) - unacidable = 1 + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) slowdown = 0 + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard name = "battlemage helmet" @@ -209,9 +205,9 @@ item_state = "battlemage" min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20) - unacidable = 1 + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) actions_types = null //No inbuilt light + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard/attack_self(mob/user) return diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 16d994bde9c..7ac3b606184 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -14,7 +14,7 @@ icon_state = "black" item_state = "bl_suit" item_color = "black" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/color/grey name = "grey jumpsuit" diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 2f23d7a4eff..28b1a7f8e42 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -88,7 +88,7 @@ name = "janitor's jumpsuit" icon_state = "janitor" item_color = "janitor" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/lawyer diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 2d5518c2861..3ac2b59656d 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -5,8 +5,8 @@ icon_state = "chiefengineer" item_state = "gy_suit" item_color = "chief" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) - burn_state = FIRE_PROOF + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10, fire = 40, acid = 40) + resistance_flags = FIRE_PROOF /obj/item/clothing/under/rank/atmospheric_technician desc = "It's a jumpsuit worn by atmospheric technicians." @@ -14,7 +14,7 @@ icon_state = "atmos" item_state = "atmos_suit" item_color = "atmos" - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/rank/engineer desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding." @@ -22,7 +22,7 @@ icon_state = "engine" item_state = "engi_suit" item_color = "engine" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10, fire = 30, acid = 20) /obj/item/clothing/under/rank/roboticist desc = "It's a slimming black with reinforced seams; great for industrial work." diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 428633cdbd0..914f3eadec9 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -7,7 +7,7 @@ icon_state = "director" item_state = "lb_suit" item_color = "director" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 35) can_adjust = 0 /obj/item/clothing/under/rank/research_director/alt @@ -16,7 +16,7 @@ icon_state = "rdwhimsy" item_state = "rdwhimsy" item_color = "rdwhimsy" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 0) can_adjust = 1 alt_covers_chest = 1 @@ -26,7 +26,7 @@ icon_state = "rdturtle" item_state = "p_suit" item_color = "rdturtle" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 0) can_adjust = 1 alt_covers_chest = 1 @@ -37,7 +37,7 @@ item_state = "w_suit" item_color = "toxinswhite" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/rank/chemist @@ -47,7 +47,7 @@ item_state = "w_suit" item_color = "chemistrywhite" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 50, acid = 65) /* * Medical @@ -59,7 +59,7 @@ item_state = "w_suit" item_color = "cmo" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/rank/geneticist desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." @@ -68,7 +68,7 @@ item_state = "w_suit" item_color = "geneticswhite" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/rank/virologist desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." @@ -77,7 +77,7 @@ item_state = "w_suit" item_color = "virologywhite" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/rank/nursesuit desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." @@ -86,7 +86,7 @@ item_state = "w_suit" item_color = "nursesuit" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) fitted = NO_FEMALE_UNIFORM can_adjust = 0 @@ -97,7 +97,7 @@ item_state = "w_suit" item_color = "medical" permeability_coefficient = 0.50 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0) /obj/item/clothing/under/rank/medical/blue name = "medical scrubs" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 472e15dd446..3dc94b7eddf 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -15,7 +15,7 @@ icon_state = "rsecurity" item_state = "r_suit" item_color = "rsecurity" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 30, acid = 30) strip_delay = 50 alt_covers_chest = 1 @@ -30,7 +30,7 @@ icon_state = "rwarden" item_state = "r_suit" item_color = "rwarden" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 30, acid = 30) strip_delay = 50 alt_covers_chest = 1 @@ -48,7 +48,7 @@ icon_state = "detective" item_state = "det" item_color = "detective" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 30, acid = 30) strip_delay = 50 alt_covers_chest = 1 @@ -69,7 +69,7 @@ icon_state = "rhos" item_state = "r_suit" item_color = "rhos" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 50) strip_delay = 60 alt_covers_chest = 1 diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 6ee8b505403..f88d34d1ba7 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -37,7 +37,7 @@ item_state = "armor" can_adjust = 0 strip_delay = 100 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/waiter name = "waiter's outfit" @@ -125,7 +125,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT can_adjust = 0 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/acj name = "administrative cybernetic jumpsuit" @@ -136,13 +136,13 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) + armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT can_adjust = 0 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/under/owl name = "owl uniform" @@ -378,7 +378,7 @@ body_parts_covered = CHEST|GROIN|ARMS fitted = NO_FEMALE_UNIFORM can_adjust = 0 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/clothing/under/sundress name = "sundress" @@ -532,7 +532,7 @@ icon_state = "plasmaman" item_state = "plasmaman" item_color = "plasmaman" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 0, fire = 95, acid = 95) body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS can_adjust = 0 strip_delay = 80 diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 2aa229b2ede..4ae10c98d94 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -5,7 +5,7 @@ item_state = "bl_suit" item_color = "syndicate" has_sensor = 0 - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 40) alt_covers_chest = 1 /obj/item/clothing/under/syndicate/tacticool @@ -14,7 +14,7 @@ icon_state = "tactifool" item_state = "bl_suit" item_color = "tactifool" - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 40) /obj/item/clothing/under/syndicate/sniper name = "Tactical turtleneck suit" @@ -36,5 +36,5 @@ icon_state = "trackpants" item_color = "trackpants" can_adjust = 0 - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - burn_state = FIRE_PROOF \ No newline at end of file + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) + resistance_flags = FIRE_PROOF \ No newline at end of file diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index dbfec48dfb0..503e6c657b0 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -130,7 +130,7 @@ icon_state = "bronze" item_color = "bronze" materials = list(MAT_METAL=1000) - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF //Pinning medals on people /obj/item/clothing/tie/medal/attack(mob/living/carbon/human/M, mob/living/user) @@ -366,4 +366,4 @@ desc = "A hunter's talisman, some say the old gods smile on those who wear it." icon_state = "talisman" item_color = "talisman" - armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5) //Faith is the best armor. + armor = list(melee = 5, bullet = 5, laser = 5, energy = 5, bomb = 20, bio = 20, rad = 5, fire = 0, acid = 25) diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index 6a2aed8bc7a..b777312da78 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -19,7 +19,7 @@ icon_state = "trek_engsec" item_color = "trek_engsec" item_state = "r_suit" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //more sec than eng, but w/e. + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) //more sec than eng, but w/e. strip_delay = 50 /obj/item/clothing/under/trek/medsci diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index c94c4bf1edc..276e88d82a9 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -28,7 +28,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "sc_Ace of Hearts_syndicate" // shut up var/message = "A generic message of love or whatever." - burn_state = FLAMMABLE + resistance_flags = 0 w_class = 1 /obj/item/weapon/valentine/New() diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index ec21c483973..c6f6ed5c910 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -78,7 +78,7 @@ icon_state = "xmashat" desc = "A crappy paper hat that you are REQUIRED to wear." flags_inv = 0 - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0) /datum/round_event_control/santa name = "Santa is coming to town! (Christmas)" diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index a35e1d6c2dd..1f8827b1770 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -28,7 +28,7 @@ var/mob/living/last_holder var/mob/living/new_holder var/list/color_altered_mobs = list() - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF | ACID_PROOF var/quiet = FALSE /obj/item/weapon/greentext/New() @@ -69,7 +69,7 @@ new_holder.mind.objectives += O new_holder.attack_log += "\[[time_stamp()]\] Won with greentext!!!" color_altered_mobs -= new_holder - burn_state = ON_FIRE + resistance_flags |= ON_FIRE qdel(src) if(last_holder && last_holder != new_holder) //Somehow it was swiped without ever getting dropped @@ -78,7 +78,7 @@ last_holder = new_holder //long live the king /obj/item/weapon/greentext/Destroy(force) - if((burn_state != ON_FIRE) && (!force)) + if(!(resistance_flags & ON_FIRE) && !force) return QDEL_HINT_LETMELIVE . = ..() diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm index 709079c3a74..961671763ec 100644 --- a/code/modules/events/wizard/rpgloot.dm +++ b/code/modules/events/wizard/rpgloot.dm @@ -49,8 +49,8 @@ var/quality = target.force - initial(target.force) if(quality > 9 && prob((quality - 9)*10)) user << "[target] catches fire!" - if(target.burn_state < FLAMMABLE) - target.burn_state = FLAMMABLE + if(target.resistance_flags & (LAVA_PROOF|FIRE_PROOF)) + target.resistance_flags &= ~(LAVA_PROOF|FIRE_PROOF) target.fire_act() qdel(src) return diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index c600fe3e206..05a4b68164b 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -10,7 +10,7 @@ var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. possible_transfer_amounts = list(5,10,15,20,25,30,50) volume = 50 - burn_state = FIRE_PROOF + resistance_flags = FIRE_PROOF /obj/item/weapon/reagent_containers/food/drinks/New() ..() diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 7668bf14b7a..41473bcfc9f 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -7,7 +7,7 @@ amount_per_transfer_from_this = 10 volume = 50 materials = list(MAT_GLASS=500) - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 spillable = 1 diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 53afb299cf8..9905d061150 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -4,7 +4,7 @@ /obj/item/weapon/reagent_containers/food possible_transfer_amounts = list() volume = 50 //Sets the default container amount for all food items. - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/reagent_containers/food/New() ..() diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index ae777bcbcd1..f16532a9bf9 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -237,7 +237,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/steak/goliath name = "goliath steak" desc = "A delicious, lava cooked steak." - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF icon_state = "goliathsteak" trash = null diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 2f8e95e799c..fb8da24143e 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -125,7 +125,7 @@ var/blank = 0 var/list/cards = list() var/datum/html_interface/hi - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/hand/New(loc) . = ..() diff --git a/code/modules/holodeck/area_copy.dm b/code/modules/holodeck/area_copy.dm index 9d17d72f67e..3f31cddf91d 100644 --- a/code/modules/holodeck/area_copy.dm +++ b/code/modules/holodeck/area_copy.dm @@ -21,7 +21,7 @@ O.vars[V] = original.vars[V] if(istype(O)) - O.burn_state = FIRE_PROOF // holoitems do not burn + O.resistance_flags |= LAVA_PROOF | FIRE_PROOF | UNACIDABLE // holoitems do not burn if(nerf && istype(O,/obj/item)) var/obj/item/I = O I.damtype = STAMINA // thou shalt not diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 9c34f22ad3f..77f04b08ccc 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -14,7 +14,7 @@ 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 = 0 origin_tech = "biotech=1" /obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc, var/obj/item/seeds/new_seed = null) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 4eb2df03372..96b40353db3 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -104,7 +104,6 @@ anchored = TRUE buckle_lying = 0 var/burning = 0 - var/flame_strength = FLAMMABLE var/fire_stack_strength = 5 /obj/structure/bonfire/attackby(obj/item/W, mob/user, params) @@ -166,7 +165,7 @@ continue if(isobj(A)) var/obj/O = A - if(O.burn_state < flame_strength) + if(O.resistance_flags & FIRE_PROOF) continue O.fire_act() else if(isliving(A)) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 6cd064ac23d..4fe9efe83c6 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -5,7 +5,7 @@ /obj/item/weapon/grown // Grown weapons name = "grown_weapon" icon = 'icons/obj/hydroponics/harvest.dmi' - burn_state = FLAMMABLE + resistance_flags = 0 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/weapon/grown/New(newloc, var/obj/item/seeds/new_seed = null) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 5ad7aeafaae..51bdb5b7fb8 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 = 1 - burn_state = FLAMMABLE + resistance_flags = 0 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/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm index 03f62d84d2b..da9878dee05 100644 --- a/code/modules/library/lib_codex_gigas.dm +++ b/code/modules/library/lib_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 = 1 title = "The codex gigas" diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 43ca9d51012..abdd72df540 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -17,7 +17,7 @@ anchored = 0 density = 1 opacity = 0 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 var/state = 0 var/list/allowed_books = list(/obj/item/weapon/book, /obj/item/weapon/spellbook, /obj/item/weapon/storage/book) //Things allowed in the bookcase @@ -167,7 +167,7 @@ throw_range = 5 w_class = 3 //upped to three because books are, y'know, pretty big. (and you could hide them inside eachother recursively forever) attack_verb = list("bashed", "whacked", "educated") - burn_state = FLAMMABLE + resistance_flags = 0 var/dat //Actual page content var/due_date = 0 //Game time in 1/10th seconds var/author //Who wrote the thing, can be changed by pen or PC. It is not automatically assigned diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm index adcd2b4762c..1baf37ffcba 100644 --- a/code/modules/mining/equipment.dm +++ b/code/modules/mining/equipment.dm @@ -12,7 +12,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS hooded = 1 hoodtype = /obj/item/clothing/head/explorer - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50) + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/resonator, /obj/item/device/mining_scanner, /obj/item/device/t_scanner/adv_mining_scanner, /obj/item/weapon/gun/energy/kinetic_accelerator, /obj/item/weapon/pickaxe) /obj/item/clothing/head/explorer @@ -24,7 +24,7 @@ flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS 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) + armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 50, bio = 100, rad = 50, fire = 50, acid = 50) /obj/item/clothing/mask/gas/explorer name = "explorer gas mask" @@ -34,7 +34,7 @@ visor_flags_inv = HIDEFACIALHAIR visor_flags_cover = MASKCOVERSMOUTH actions_types = list(/datum/action/item_action/adjust) - armor = list(melee = 10, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 50, rad = 0) + armor = list(melee = 10, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 50, rad = 0, fire = 20, acid = 40) /obj/item/clothing/mask/gas/explorer/attack_self(mob/user) adjustmask(user) diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index eb9e319ee09..ae054817156 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -152,7 +152,7 @@ icon = 'icons/obj/lavaland/ash_flora.dmi' icon_state = "mushroom_shavings" w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 30 var/prepared = FALSE var/prepared_type = /obj/item/ash_flora/shavings @@ -240,7 +240,7 @@ icon = 'icons/obj/lavaland/ash_flora.dmi' icon_state = "mushroom_bowl" w_class = 2 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 40 //what you can craft with these things diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 2545d47892c..e97a66b7070 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -4,7 +4,7 @@ name = "necropolis chest" desc = "It's watching you closely." icon_state = "necrocrate" - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /obj/structure/closet/crate/necropolis/tendril desc = "It's watching you suspiciously." @@ -252,7 +252,7 @@ /obj/effect/immortality_talisman icon_state = "blank" icon = 'icons/effects/effects.dmi' - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/can_destroy = FALSE /obj/effect/immortality_talisman/attackby() @@ -355,7 +355,7 @@ icon_state = "goliath_boat" icon = 'icons/obj/lavaland/dragonboat.dmi' keytype = /obj/item/weapon/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) @@ -375,7 +375,7 @@ desc = "Not to be confused with the kind Research hassles you for." force = 12 w_class = 3 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF /datum/crafting_recipe/oar name = "goliath bone oar" @@ -633,7 +633,7 @@ w_class = 4 force = 25 damtype = BURN - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF hitsound = 'sound/weapons/sear.ogg' var/turf_type = /turf/open/floor/plating/lava/smooth var/transform_string = "lava" diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 1bd06bab451..4474a48fc0c 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -4,7 +4,6 @@ /obj/effect/light_emitter name = "Light emitter" anchored = 1 - unacidable = 1 invisibility = 101 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 3f4449a8256..d98a98b714c 100644 --- a/code/modules/mining/money_bag.dm +++ b/code/modules/mining/money_bag.dm @@ -5,7 +5,7 @@ icon_state = "moneybag" force = 10 throwforce = 0 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 20 w_class = 4 max_w_class = 3 diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index fd09b35a440..9f9b9fb5e30 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -6,7 +6,7 @@ density = 0 anchored = 1 invisibility = 60 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/effect/dummy/slaughter/relaymove(mob/user, direction) forceMove(get_step(src,direction)) diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index f05c74bc115..c9ef0237605 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -145,7 +145,7 @@ Doesn't work on other aliens/AI.*/ // OBJ CHECK if(isobj(target)) var/obj/I = target - if(I.unacidable) //So the aliens don't destroy energy fields/singularies/other aliens/etc with their acid. + if(I.resistance_flags & UNACIDABLE)//So the aliens don't destroy energy fields/singularies/other aliens/etc with their acid. user << "You cannot dissolve this object." return 0 // TURF CHECK diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index a3a7413932b..b0e2feb9fec 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -449,7 +449,7 @@ if(head) head_clothes = head if(head_clothes) - if(!head_clothes.unacidable) + if(!(head_clothes.resistance_flags & UNACIDABLE)) head_clothes.acid_act(acidpwr, acid_volume_left) acid_volume_left = max(acid_volume_left - acid_decay, 0) //We remove some of the acid volume. update_inv_glasses() @@ -471,7 +471,7 @@ if(wear_suit) chest_clothes = wear_suit if(chest_clothes) - if(!chest_clothes.unacidable) + if(!(chest_clothes.resistance_flags & UNACIDABLE)) chest_clothes.acid_act(acidpwr, acid_volume_left) acid_volume_left = max(acid_volume_left - acid_decay, 0) update_inv_w_uniform() @@ -501,7 +501,7 @@ if(wear_suit && (wear_suit.body_parts_covered & HANDS) || wear_suit && (wear_suit.body_parts_covered & ARMS)) arm_clothes = wear_suit if(arm_clothes) - if(!arm_clothes.unacidable) + if(!(arm_clothes.resistance_flags & UNACIDABLE)) arm_clothes.acid_act(acidpwr, acid_volume_left) acid_volume_left = max(acid_volume_left - acid_decay, 0) update_inv_gloves() @@ -527,7 +527,7 @@ if(wear_suit && (wear_suit.body_parts_covered & FEET) || wear_suit && (wear_suit.body_parts_covered & LEGS)) leg_clothes = wear_suit if(leg_clothes) - if(!leg_clothes.unacidable) + if(!(leg_clothes.resistance_flags & UNACIDABLE)) leg_clothes.acid_act(acidpwr, acid_volume_left) acid_volume_left = max(acid_volume_left - acid_decay, 0) update_inv_shoes() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 7a0cb8e246a..4d82003dadf 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -268,7 +268,7 @@ var/shredded if(!bomb) - if(burn_state != -1) + if(!(resistance_flags & FIRE_PROOF)) shredded = 1 //No heat protection, it burns else shredded = -1 //Heat protection = Fireproof diff --git a/code/modules/mob/living/carbon/monkey/monkey_defense.dm b/code/modules/mob/living/carbon/monkey/monkey_defense.dm index c3a1818b242..112999aff67 100644 --- a/code/modules/mob/living/carbon/monkey/monkey_defense.dm +++ b/code/modules/mob/living/carbon/monkey/monkey_defense.dm @@ -144,7 +144,7 @@ /mob/living/carbon/monkey/acid_act(acidpwr, toxpwr, acid_volume) if(wear_mask) - if(!wear_mask.unacidable) + if(!(wear_mask.resistance_flags & UNACIDABLE)) wear_mask.acid_act(acidpwr) update_inv_wear_mask() else diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 22719303693..83354cdfe63 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -274,7 +274,7 @@ Difficulty: Very Hard icon_off = "blackbox" luminosity = 8 max_n_of_items = INFINITY - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF pixel_y = -4 use_power = 0 var/memory_saved = FALSE @@ -366,7 +366,7 @@ Difficulty: Very Hard icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "anomaly_crystal" luminosity = 8 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF use_power = 0 density = 1 languages_spoken = ALL diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 942a114dc56..e8e09b4943a 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -35,6 +35,7 @@ var/broken_damage = 50 // Damage level at which the computer ceases to operate var/max_damage = 100 // Damage level at which the computer breaks apart. + armor = list(melee = 0, bullet = 20, laser = 20, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 0, acid = 0) // Important hardware (must be installed for computer to work) // Optional hardware (improves functionality, but is not critical for computer to work) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 75490674b9a..0218ba27db8 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -6,7 +6,7 @@ force = 40 throwforce = 20 armour_penetration = 50 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/datum/effect_system/spark_spread/spark_system /obj/item/weapon/katana/energy/afterattack(atom/target, mob/user, proximity_flag, click_parameters) diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index 5e441da8472..f4273460c7c 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -31,7 +31,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT strip_delay = 120 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/draining = 0 var/candrain = 0 var/mindrain = 200 diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index cb4921fd7df..7ada5de3ead 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -5,8 +5,8 @@ name = "ninja hood" icon_state = "s-ninja" item_state = "s-ninja_mask" - armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25) + armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25, fire = 100, acid = 100) strip_delay = 12 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF blockTracking = 1//Roughly the only unique thing about this helmet. flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR \ No newline at end of file diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index ca549aab8e6..81d37886ddf 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -16,4 +16,4 @@ Contents: icon_state = "s-ninja" item_state = "s-ninja_mask" strip_delay = 120 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index ca5761014bd..fa8013941ad 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -6,7 +6,7 @@ item_state = "secshoes" permeability_coefficient = 0.01 flags = NOSLIP - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) strip_delay = 120 cold_protection = FEET diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 65d10c3eb07..70c3a964374 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -18,7 +18,7 @@ Contents: item_state = "s-ninja_suit" allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals,/obj/item/weapon/stock_parts/cell) slowdown = 0 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) strip_delay = 12 diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index f9e66b606ee..b1ef1644340 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -10,7 +10,7 @@ var/obj/item/weapon/pen/haspen //The stored pen. var/obj/item/weapon/paper/toppaper //The topmost piece of paper. slot_flags = SLOT_BELT - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/clipboard/New() update_icon() diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 27ee45fe457..e27d1d9a3f0 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -55,7 +55,7 @@ /obj/item/weapon/paper/contract/infernal var/contractType = 0 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/datum/mind/owner icon_state = "paper_onfire" diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index e1a58fa4680..cec63a72253 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -5,7 +5,7 @@ icon_state = "folder" w_class = 2 pressure_resistance = 2 - burn_state = FLAMMABLE + resistance_flags = 0 /obj/item/weapon/folder/blue desc = "A blue folder." diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 87b424efbfb..64d0ad1ca6d 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -17,7 +17,7 @@ pressure_resistance = 0 slot_flags = SLOT_HEAD body_parts_covered = HEAD - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 dog_fashion = /datum/dog_fashion/head @@ -40,7 +40,7 @@ /obj/item/weapon/paper/update_icon() - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) icon_state = "paper_onfire" return if(info) @@ -283,7 +283,7 @@ /obj/item/weapon/paper/attackby(obj/item/weapon/P, mob/living/carbon/human/user, params) ..() - if(burn_state == ON_FIRE) + if(resistance_flags & ON_FIRE) return if(is_blind(user)) diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index d147fb85a14..487a7457a4c 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -106,7 +106,7 @@ desc = "A little slip of paper left over after a larger piece was cut. Whoa." icon_state = "paperslip" icon = 'icons/obj/bureaucracy.dmi' - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 3 /obj/item/weapon/paperslip/New() diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index f559e5bde98..4c9da27c069 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 7 pressure_resistance = 8 - burn_state = FLAMMABLE + resistance_flags = 0 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 dab3ef6cdb1..a5a72604e93 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -7,7 +7,7 @@ throw_speed = 1 throwforce = 0 w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 4 var/obj/item/weapon/paper/internalPaper diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 1ccf0aa5068..91521b27bba 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -251,7 +251,7 @@ if(copier_empty()) if(istype(O,/obj/item/weapon/paper/contract/infernal)) user << "The [src] smokes, smelling of brimstone!" - burn_state = ON_FIRE + resistance_flags |= ON_FIRE else if(!user.drop_item()) return diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 4007929f9a9..58fcfd4e639 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -17,7 +17,7 @@ icon_state = "film" item_state = "electropack" w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 /* * Photo @@ -28,7 +28,7 @@ icon_state = "photo" item_state = "paper" w_class = 1 - burn_state = FLAMMABLE + resistance_flags = 0 burntime = 5 var/icon/img //Big photo image var/scribble //Scribble on the back. @@ -94,7 +94,7 @@ icon_state = "album" item_state = "briefcase" can_hold = list(/obj/item/weapon/photo) - burn_state = FLAMMABLE + resistance_flags = 0 /* * Camera diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 80b96c18152..9409d20d415 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 = 0 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE var/sprite_number = 0 /obj/machinery/gravity_generator/ex_act(severity, target) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 08611b40c63..152c256b2d5 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -7,7 +7,7 @@ icon_state = "Contain_F" anchored = 1 density = 0 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE use_power = 0 luminosity = 4 layer = ABOVE_OBJ_LAYER diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index a3469c6b699..67833e0c461 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -9,7 +9,6 @@ density = 1 layer = MASSIVE_OBJ_LAYER luminosity = 6 - unacidable = 1 //Don't comment this out. appearance_flags = 0 var/current_size = 1 var/allowed_size = 1 @@ -27,7 +26,7 @@ var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing var/last_warning var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0) //CARN: admin-alert for chuckle-fuckery. diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index e5da7f76ca2..313e2814ccc 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -5,13 +5,12 @@ density = 0 anchored = 1 flags = ABSTRACT - unacidable = 1 pass_flags = PASSTABLE mouse_opacity = 0 hitsound = 'sound/weapons/pierce.ogg' var/hitsound_wall = "" - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE 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/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 2cb6f9312e8..e2431c24375 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -68,7 +68,6 @@ icon = 'icons/effects/effects.dmi' icon_state = "dragnetfield" anchored = 1 - unacidable = 1 /obj/effect/nettingportal/New() ..() diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index cc5f39f8672..938b9f83e7b 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -378,7 +378,7 @@ C.color = "#000080" C.max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_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) @@ -418,6 +418,7 @@ item_state = "golem" item_color = "golem" flags = ABSTRACT | NODROP + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE has_sensor = 0 /obj/item/clothing/suit/golem @@ -430,6 +431,7 @@ permeability_coefficient = 0.50 body_parts_covered = FULL_BODY flags_inv = HIDEGLOVES | HIDESHOES | HIDEJUMPSUIT + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE flags = ABSTRACT | NODROP /obj/item/clothing/shoes/golem @@ -437,6 +439,7 @@ desc = "sturdy adamantine feet" icon_state = "golem" item_state = null + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE flags = NOSLIP | ABSTRACT | NODROP @@ -446,7 +449,7 @@ icon_state = "golem" item_state = "golem" siemens_coefficient = 0 - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE flags = ABSTRACT | NODROP @@ -457,6 +460,7 @@ item_state = null siemens_coefficient = 0 flags = ABSTRACT | NODROP + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/item/clothing/head/space/golem @@ -465,7 +469,7 @@ item_color = "dermal" name = "golem's head" desc = "a golem's head" - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE flags = ABSTRACT | NODROP /obj/effect/golemrune @@ -474,7 +478,7 @@ name = "rune" icon = 'icons/obj/rune.dmi' icon_state = "golem" - unacidable = 1 + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE layer = TURF_LAYER /obj/effect/golemrune/New() @@ -541,7 +545,6 @@ layer = FLY_LAYER pixel_x = -64 pixel_y = -64 - unacidable = 1 mouse_opacity = 0 var/mob/living/immune = list() // the one who creates the timestop is immune var/list/stopped_atoms = list() diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm index 7795c1a81e0..71ee2153806 100644 --- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm +++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm @@ -10,7 +10,7 @@ bound_width = 96 bound_height = 96 pixel_x = -32 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF luminosity = 1 var/boss = FALSE var/is_anyone_home = FALSE diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index cb5999e88cd..76bc75f6128 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -8,7 +8,7 @@ //icon = 'icons/dirsquare.dmi' icon_state = "pinonfar" - unacidable = 1 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE anchored = 1 var/id diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 9a7ddfed202..f018168952c 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -185,7 +185,7 @@ // with CENTCOM_BARSTAFF) /obj/structure/table/wood/bar - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF flags = NODECONSTRUCT health = 1000 var/boot_dir = 1 diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 84cfcc108aa..5aba7f5b5c3 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -78,7 +78,7 @@ density = 0 anchored = 1 invisibility = 60 - burn_state = LAVA_PROOF + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE /obj/effect/dummy/spell_jaunt/Destroy() // Eject contents if deleted somehow diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 8077daf2371..7c153342226 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -307,7 +307,7 @@ for(var/Z in limb_list) . += regenerate_limb(Z, noheal) -/ + /mob/living/proc/regenerate_limb(limb_zone, noheal) return @@ -320,7 +320,8 @@ if(!noheal) L.brute_dam = 0 L.burn_dam = 0 - L.burn_state = 0 + L.brutestate = 0 + L.burnstate = 0 L.attach_limb(src, 1) return 1 diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 9cfed984f4c..c07e5208bef 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -84,7 +84,7 @@ holder = item holder.flags |= NODROP - holder.unacidable = 1 + holder.resistance_flags |= LAVA_PROOF | UNACIDABLE holder.slot_flags = null holder.w_class = 5 holder.materials = null