diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm index 032cc466ea2..996c06186c6 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_engioutpost.dmm @@ -755,15 +755,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, /turf/open/floor/engine/airless, /area/icemoon/surface/outdoors) -"dc" = ( -/obj/machinery/power/energy_accumulator/rad_collector, -/obj/structure/cable, -/turf/open/floor/plating/icemoon, -/area/icemoon/surface/outdoors) -"dd" = ( -/obj/machinery/power/energy_accumulator/rad_collector, -/turf/open/floor/plating/icemoon, -/area/icemoon/surface/outdoors) "de" = ( /obj/machinery/rnd/production/circuit_imprinter/offstation, /turf/open/floor/iron/icemoon, @@ -1068,7 +1059,7 @@ aa af cE ag -dc +ag al ae aa @@ -1110,7 +1101,7 @@ aa af af ag -dc +ag dp ae aa @@ -1131,7 +1122,7 @@ aa af ab ag -dd +al dq ak aa @@ -1152,7 +1143,7 @@ aa af cE ag -dc +ag al ak aa diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 8866df1aea7..4bc15d840e6 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -557,7 +557,6 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/power/energy_accumulator/rad_collector, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) "ee" = ( @@ -1175,7 +1174,6 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/power/energy_accumulator/rad_collector, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/cargo) "fa" = ( diff --git a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm index 4976ff3ee52..e51046332e1 100644 --- a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm +++ b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm @@ -9,7 +9,7 @@ /area/ruin/unpowered/no_grav) "ac" = ( /obj/machinery/porta_turret/syndicate/energy{ - armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100); + armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "fire" = 100, "acid" = 100); dir = 4; name = "Syndicate Ship Turret"; on = 0; @@ -121,7 +121,7 @@ "ay" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -453,7 +453,7 @@ "bw" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -636,7 +636,7 @@ "bY" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -675,7 +675,7 @@ "ce" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -695,7 +695,7 @@ "cg" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -718,7 +718,7 @@ /area/ruin/space/has_grav/syndicate_forgotten_ship) "ci" = ( /obj/machinery/porta_turret/syndicate/energy{ - armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100); + armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "fire" = 100, "acid" = 100); dir = 4; name = "Syndicate Ship Turret"; on = 0; @@ -762,7 +762,7 @@ /area/ruin/space/has_grav/syndicate_forgotten_ship) "cp" = ( /obj/machinery/door/window{ - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 70, "acid" = 100); + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "fire" = 70, "acid" = 100); name = "Control room"; req_one_access_txt = "150" }, @@ -1093,7 +1093,7 @@ "df" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -1110,7 +1110,7 @@ "dg" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -1151,7 +1151,7 @@ }, /obj/structure/fans/tiny, /obj/machinery/door/airlock/grunge{ - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 90); + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "fire" = 90, "acid" = 90); desc = "Vault airlock preventing air from going out."; name = "Syndicate Vault Airlock"; req_one_access_txt = "150" @@ -1215,7 +1215,7 @@ "kY" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; diff --git a/_maps/RandomRuins/SpaceRuins/medieval1.dmm b/_maps/RandomRuins/SpaceRuins/medieval1.dmm index 5a9b4319bf2..8ad3c2e59fa 100644 --- a/_maps/RandomRuins/SpaceRuins/medieval1.dmm +++ b/_maps/RandomRuins/SpaceRuins/medieval1.dmm @@ -22,7 +22,7 @@ /area/ruin/space) "hi" = ( /obj/item/clothing/head/helmet/knight{ - armor = list("melee" = 40, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 50); + armor = list("melee" = 40, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "fire" = 70, "acid" = 50); desc = "A metal helmet, worn down by time. Runes line the inner plating."; name = "Fool's Helm"; pixel_x = -10; diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index e122cdc8f27..bb936c2398c 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -2543,7 +2543,7 @@ /obj/effect/turf_decal/tile/blue, /obj/item/clothing/shoes/sneakers/brown, /obj/item/clothing/head/helmet/police{ - armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 20); + armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 15, "bio" = 0, "fire" = 20, "acid" = 20); desc = "I am the law!" }, /obj/structure/closet{ @@ -2551,7 +2551,7 @@ name = "uniform closet" }, /obj/item/clothing/under/rank/security/officer/spacepol{ - armor = list("melee" = 2, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 10); + armor = list("melee" = 2, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 10, "acid" = 10); desc = "Anyone enjoying their time while working in a megacorporation, planetary government, or band of pirates is under the jurisdiction of the fun police." }, /turf/open/floor/iron/dark, @@ -2907,7 +2907,7 @@ name = "Who" }, /obj/item/clothing/head/helmet/knight/yellow{ - armor = list("melee" = 11, "bullet" = 2, "laser" = 1, "energy" = 1, "bomb" = 5, "bio" = 2, "rad" = 0, "fire" = 0, "acid" = 10); + armor = list("melee" = 11, "bullet" = 2, "laser" = 1, "energy" = 1, "bomb" = 5, "bio" = 2, "fire" = 0, "acid" = 10); desc = "A classic metal helmet. The cold has made it unreliable though."; name = "old medieval helmet"; pixel_y = 7 @@ -4301,7 +4301,7 @@ name = "icy wind" }, /obj/item/clothing/head/helmet/skull{ - armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 10, "bio" = 5, "rad" = 20, "fire" = 20, "acid" = 20); + armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 10, "bio" = 5, "fire" = 20, "acid" = 20); desc = "It's not bloody for some reason. Dear god."; name = "human skull" }, diff --git a/_maps/RandomZLevels/mothership_astrum.dmm b/_maps/RandomZLevels/mothership_astrum.dmm index 10acd2d1c22..1617a2ec211 100644 --- a/_maps/RandomZLevels/mothership_astrum.dmm +++ b/_maps/RandomZLevels/mothership_astrum.dmm @@ -855,7 +855,7 @@ /obj/structure/table/wood, /obj/item/clothing/head/pirate/armored, /obj/item/clothing/suit/pirate/captain/armored{ - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75); + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 30, "bio" = 30, "fire" = 60, "acid" = 75); name = "improved captain coat" }, /turf/open/floor/wood, diff --git a/_maps/RandomZLevels/research2.dmm b/_maps/RandomZLevels/research2.dmm index b33e808d448..6cd04ad6223 100644 --- a/_maps/RandomZLevels/research2.dmm +++ b/_maps/RandomZLevels/research2.dmm @@ -153,7 +153,6 @@ /area/awaymission/research/interior/engineering) "aL" = ( /obj/structure/window/reinforced/plasma/spawner/west, -/obj/machinery/power/energy_accumulator/rad_collector/anchored, /obj/structure/cable, /turf/open/floor/engine, /area/awaymission/research/interior/engineering) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 97450afb94e..5cb56155210 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -35835,7 +35835,7 @@ /obj/item/folder/blue, /obj/item/clothing/under/rank/centcom/commander, /obj/item/clothing/head/centhat{ - 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); desc = "A replica hat of a Central Commander's attire. It has a small tag on it saying, 'It's good to be emperor.'"; name = "Replica CentCom hat" }, @@ -41373,7 +41373,7 @@ /obj/item/folder/red, /obj/item/toy/gun, /obj/item/clothing/head/beret/sec{ - 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); desc = "A replica beret resembling that of a special operations officer under Nanotrasen."; name = "replica officer's beret" }, diff --git a/_maps/shuttles/emergency_discoinferno.dmm b/_maps/shuttles/emergency_discoinferno.dmm index fb91dba3220..892bf4d02a4 100644 --- a/_maps/shuttles/emergency_discoinferno.dmm +++ b/_maps/shuttles/emergency_discoinferno.dmm @@ -106,7 +106,7 @@ name = "Disco Inferno" }, /obj/machinery/door/airlock/gold{ - armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100); + armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "fire" = 100, "acid" = 100); heat_proof = 1; resistance_flags = 2 }, diff --git a/code/__DEFINES/atmospherics/atmos_core.dm b/code/__DEFINES/atmospherics/atmos_core.dm index 2afb2079444..c278b5b0fa8 100644 --- a/code/__DEFINES/atmospherics/atmos_core.dm +++ b/code/__DEFINES/atmospherics/atmos_core.dm @@ -78,8 +78,6 @@ #define STOP_REACTIONS 2 //Fusion -///Max amount of radiation that can be emitted per reaction cycle -#define FUSION_RAD_MAX 5000 ///Maximum instability before the reaction goes endothermic #define FUSION_INSTABILITY_ENDOTHERMALITY 4 ///Maximum reachable fusion temperature diff --git a/code/__DEFINES/cleaning.dm b/code/__DEFINES/cleaning.dm index a0e19ebef16..24f42deff02 100644 --- a/code/__DEFINES/cleaning.dm +++ b/code/__DEFINES/cleaning.dm @@ -15,8 +15,6 @@ #define CLEAN_TYPE_RADIATION (1 << 4) /// Cleans diseases off of the cleanable atom. #define CLEAN_TYPE_DISEASE (1 << 5) -/// Special type, add this flag to make some cleaning processes non-instant. Currently only used for showers when removing radiation. -#define CLEAN_TYPE_WEAK (1 << 6) /// Cleans paint off of the cleanable atom. #define CLEAN_TYPE_PAINT (1 << 7) /// Cleans acid off of the cleanable atom. @@ -31,4 +29,4 @@ #define CLEAN_WASH (CLEAN_TYPE_BLOOD | CLEAN_TYPE_RUNES | CLEAN_TYPE_DISEASE | CLEAN_TYPE_ACID | CLEAN_TYPE_LIGHT_DECAL) #define CLEAN_SCRUB (CLEAN_WASH | CLEAN_TYPE_FINGERPRINTS | CLEAN_TYPE_FIBERS | CLEAN_TYPE_PAINT | CLEAN_TYPE_HARD_DECAL) #define CLEAN_RAD CLEAN_TYPE_RADIATION -#define CLEAN_ALL (ALL & ~CLEAN_TYPE_WEAK) +#define CLEAN_ALL ALL diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 5799c47f798..e9b104ada88 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -31,8 +31,6 @@ #define BOMB "bomb" /// Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin. #define BIO "bio" -/// Involves ionizing radiation. -#define RAD "rad" /// Involves fire or temperature extremes. #define FIRE "fire" /// Involves corrosive substances. @@ -58,7 +56,6 @@ #define EFFECT_UNCONSCIOUS "unconscious" #define EFFECT_PARALYZE "paralyze" #define EFFECT_IMMOBILIZE "immobilize" -#define EFFECT_IRRADIATE "irradiate" #define EFFECT_STUTTER "stutter" #define EFFECT_SLUR "slur" #define EFFECT_EYE_BLUR "eye_blur" diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 344ba936583..d0821f70d4a 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -182,8 +182,6 @@ #define COMSIG_ATOM_ACID_ACT "atom_acid_act" ///from base of atom/emag_act(): (/mob/user) #define COMSIG_ATOM_EMAG_ACT "atom_emag_act" -///from base of atom/rad_act(intensity) -#define COMSIG_ATOM_RAD_ACT "atom_rad_act" ///from base of atom/narsie_act(): () #define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" ///from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode) @@ -215,15 +213,6 @@ #define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del" ///from base of atom/has_gravity(): (turf/location, list/forced_gravities) #define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" -///from proc/get_rad_contents(): () -#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe" - #define COMPONENT_BLOCK_RADIATION (1<<0) -///from base of datum/radiation_wave/radiate(): (strength) -#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam" - #define COMPONENT_BLOCK_CONTAMINATION (1<<0) -///from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) -#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" - #define COMPONENT_RAD_WAVE_HANDLED (1<<0) ///from internal loop in atom/movable/proc/CanReach(): (list/next) #define COMSIG_ATOM_CANREACH "atom_can_reach" #define COMPONENT_ALLOW_REACH (1<<0) @@ -633,6 +622,10 @@ ///from base of mob/living/death(): (gibbed) #define COMSIG_LIVING_DEATH "living_death" +/// from /proc/healthscan(): (list/scan_results, advanced, mob/user, mode) +/// Consumers are allowed to mutate the scan_results list to add extra information +#define COMSIG_LIVING_HEALTHSCAN "living_healthscan" + ///sent from borg recharge stations: (amount, repairs) #define COMSIG_PROCESS_BORGCHARGER_OCCUPANT "living_charge" ///sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation) @@ -1543,6 +1536,29 @@ #define COMSIG_SAMPLE_GROWTH_COMPLETED "sample_growth_completed" #define SPARE_SAMPLE (1<<0) +// Radiation signals + +/// From the radiation subsystem, called before a potential irradiation. +/// This does not guarantee radiation can reach or will succeed, but merely that there's a radiation source within range. +/// (datum/radiation_pulse_information/pulse_information, insulation_to_target) +#define COMSIG_IN_RANGE_OF_IRRADIATION "in_range_of_irradiation" + +/// Fired when the target could be irradiated, right before the chance check is rolled. +/// (datum/radiation_pulse_information/pulse_information) +#define COMSIG_IN_THRESHOLD_OF_IRRADIATION "pre_potential_irradiation_within_range" + #define CANCEL_IRRADIATION (1 << 0) + + /// If this is flipped, then minimum exposure time will not be checked. + /// If it is not flipped, and the pulse information has a minimum exposure time, then + /// the countdown will begin. + #define SKIP_MINIMUM_EXPOSURE_TIME_CHECK (1 << 1) + +/// Fired when scanning something with a geiger counter. +/// (mob/user, obj/item/geiger_counter/geiger_counter) +#define COMSIG_GEIGER_COUNTER_SCAN "geiger_counter_scan" + /// If not flagged by any handler, will report the subject as being free of irradiation + #define COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL (1 << 0) + /// Called when a techweb design is researched (datum/design/researched_design, custom) #define COMSIG_TECHWEB_ADD_DESIGN "techweb_add_design" diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e8668200527..0ca630a65d4 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -42,10 +42,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define ADMIN_SPAWNED_1 (1<<10) /// should not get harmed if this gets caught by an explosion? #define PREVENT_CONTENTS_EXPLOSION_1 (1<<11) -/// should the contents of this atom be acted upon -#define RAD_PROTECT_CONTENTS_1 (1<<12) -/// should this object be allowed to be contaminated -#define RAD_NO_CONTAMINATE_1 (1<<13) /// Should this object be paintable with very dark colors? #define ALLOW_DARK_PAINTS_1 (1<<14) /// Should this object be unpaintable? diff --git a/code/__DEFINES/maths.dm b/code/__DEFINES/maths.dm index 0b978632549..fa8994ff6b9 100644 --- a/code/__DEFINES/maths.dm +++ b/code/__DEFINES/maths.dm @@ -84,11 +84,6 @@ // Returns the nth root of x. #define ROOT(n, x) ((x) ** (1 / (n))) -/// Low-pass filter a value to smooth out high frequent peaks. This can be thought of as a moving average filter as well. -/// delta_time is how many seconds since we last ran this command. RC is the filter constant, high RC means more smoothing -/// See https://en.wikipedia.org/wiki/Low-pass_filter#Simple_infinite_impulse_response_filter for the maths -#define LPFILTER(memory, signal, delta_time, RC) (delta_time / (RC + delta_time)) * signal + (1 - delta_time / (RC + delta_time)) * memory - // The quadratic formula. Returns a list with the solutions, or an empty list // if they are imaginary. /proc/SolveQuadratic(a, b, c) diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index d311765ed4a..ed6a4b547f7 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -1,48 +1,26 @@ /* These defines are the balancing points of various parts of the radiation system. Changes here can have widespread effects: make sure you test well. -Ask ninjanomnom if they're around +Ask Mothblocks if they're around */ -#define RAD_BACKGROUND_RADIATION 9 // How much radiation is harmless to a mob, this is also when radiation waves stop spreading - // WARNING: Lowering this value significantly increases SSradiation load - -// apply_effect((amount*RAD_MOB_COEFFICIENT)/max(1, (radiation**2)*RAD_OVERDOSE_REDUCTION), IRRADIATE, blocked) -#define RAD_MOB_COEFFICIENT 0.20 // Radiation applied is multiplied by this -#define RAD_MOB_SKIN_PROTECTION ((1/RAD_MOB_COEFFICIENT)+RAD_BACKGROUND_RADIATION) - -#define RAD_LOSS_PER_SECOND 0.25 -/// Toxin damage per second coefficient -#define RAD_TOX_COEFFICIENT 0.04 -#define RAD_OVERDOSE_REDUCTION 0.000001 // Coefficient to the reduction in applied rads once the thing, usualy mob, has too much radiation - // WARNING: This number is highly sensitive to change, graph is first for best results -#define RAD_BURN_THRESHOLD 1000 // Applied radiation must be over this to burn -//Holy shit test after you tweak anything it's said like 6 times in here -//You probably want to plot any tweaks you make so you can see the curves visually -#define RAD_BURN_LOG_BASE 1.1 -#define RAD_BURN_LOG_GRADIENT 10000 -#define RAD_BURN_CURVE(X) log(1+((X-RAD_BURN_THRESHOLD)/RAD_BURN_LOG_GRADIENT))/log(RAD_BURN_LOG_BASE) - -/// How much stored radiation in a mob with no ill effects -#define RAD_MOB_SAFE 500 - /// How much stored radiation to check for hair loss -#define RAD_MOB_HAIRLOSS 800 +#define RAD_MOB_HAIRLOSS (1 MINUTES) /// Chance of you hair starting to fall out every second when over threshold #define RAD_MOB_HAIRLOSS_PROB 7.5 /// How much stored radiation to check for mutation -#define RAD_MOB_MUTATE 1250 +#define RAD_MOB_MUTATE (2 MINUTES) /// Chance of randomly mutating every second when over threshold #define RAD_MOB_MUTATE_PROB 0.5 -/// The amount of radiation to check for vomitting -#define RAD_MOB_VOMIT 2000 +/// The time since irradiated before checking for vomitting +#define RAD_MOB_VOMIT (2 MINUTES) /// Chance per second of vomitting #define RAD_MOB_VOMIT_PROB 0.5 /// How much stored radiation to check for stunning -#define RAD_MOB_KNOCKDOWN 2000 +#define RAD_MOB_KNOCKDOWN (2 MINUTES) /// Chance of knockdown per second when over threshold #define RAD_MOB_KNOCKDOWN_PROB 0.5 /// Amount of knockdown when it occurs @@ -54,15 +32,23 @@ Ask ninjanomnom if they're around #define RAD_MEDIUM_INSULATION 0.7 // What common walls have #define RAD_HEAVY_INSULATION 0.6 // What reinforced walls have #define RAD_EXTREME_INSULATION 0.5 // What rad collectors have -#define RAD_FULL_INSULATION 0 // Unused +#define RAD_FULL_INSULATION 0 // Completely stops radiation from coming through -// WARNING: The defines below could have disastrous consequences if tweaked incorrectly. See: The great SM purge of Oct.6.2017 -// contamination_strength = (strength-RAD_MINIMUM_CONTAMINATION) * RAD_CONTAMINATION_STR_COEFFICIENT -#define RAD_MINIMUM_CONTAMINATION 350 // How strong does a radiation wave have to be to contaminate objects -#define RAD_CONTAMINATION_STR_COEFFICIENT 0.25 // Higher means higher strength scaling contamination strength -#define RAD_DISTANCE_COEFFICIENT 1 // Lower means further rad spread +/// The default chance something can be irradiated +#define DEFAULT_RADIATION_CHANCE 10 -#define RAD_HALF_LIFE 90 // The half-life of contaminated objects +/// The default chance for uranium structures to irradiate +#define URANIUM_IRRADIATION_CHANCE DEFAULT_RADIATION_CHANCE -#define RAD_GEIGER_RC 4 // RC-constant for the LP filter for geiger counters. See #define LPFILTER for more info. -#define RAD_GEIGER_GRACE_PERIOD 4 // How many seconds after we last detect a radiation pulse until we stop blipping +/// The minimum exposure time before uranium structures can irradiate +#define URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME (3 SECONDS) + +/// Return values of [proc/get_perceived_radiation_danger] +// If you change these, update /datum/looping_sound/geiger as well. +#define PERCEIVED_RADIATION_DANGER_LOW 1 +#define PERCEIVED_RADIATION_DANGER_MEDIUM 2 +#define PERCEIVED_RADIATION_DANGER_HIGH 3 +#define PERCEIVED_RADIATION_DANGER_EXTREME 4 + +/// The time before geiger counters reset back to normal without any radiation pulses +#define TIME_WITHOUT_RADIATION_BEFORE_RESET (5 SECONDS) diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 18289d0e7ed..b1bb4ef5f86 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -25,7 +25,6 @@ //tritium reaction #define TRITIUM_BURN_OXY_FACTOR 100 #define TRITIUM_BURN_TRIT_FACTOR 10 -#define TRITIUM_BURN_RADIOACTIVITY_FACTOR 50000 //The neutrons gotta go somewhere. Completely arbitrary number. #define TRITIUM_MINIMUM_RADIATION_ENERGY 0.1 //minimum 0.01 moles trit or 10 moles oxygen to start producing rads #define MINIMUM_TRIT_OXYBURN_ENERGY 2000000 //This is calculated to help prevent singlecap bombs(Overpowered tritium/oxygen single tank bombs) //hydrogen reaction diff --git a/code/__DEFINES/supermatter.dm b/code/__DEFINES/supermatter.dm index 91f058c0b3e..609abcb5ac8 100644 --- a/code/__DEFINES/supermatter.dm +++ b/code/__DEFINES/supermatter.dm @@ -70,9 +70,10 @@ #define MATTER_POWER_CONVERSION 10 //Crystal converts 1/this value of stored matter into energy. //These would be what you would get at point blank, decreases with distance -#define DETONATION_RADS 200 #define DETONATION_HALLUCINATION 600 +/// All humans within this range will be irradiated +#define DETONATION_RADIATION_RANGE 20 #define WARNING_DELAY 60 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 75a4792c7cb..80fdfe933b5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -751,3 +751,20 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// This human wants to see the color of their glasses, for some reason #define TRAIT_SEE_GLASS_COLORS "see_glass_colors" + +// Radiation defines + +/// Marks that this object is irradiated +#define TRAIT_IRRADIATED "iraddiated" + +/// Harmful radiation effects, the toxin damage and the burns, will not occur while this trait is active +#define TRAIT_HALT_RADIATION_EFFECTS "halt_radiation_effects" + +/// This clothing protects the user from radiation. +/// This should not be used on clothing_traits, but should be applied to the clothing itself. +#define TRAIT_RADIATION_PROTECTED_CLOTHING "radiation_protected_clothing" + +/// Whether or not this item will allow the radiation SS to go through standard +/// radiation processing as if this wasn't already irradiated. +/// Basically, without this, COMSIG_IN_RANGE_OF_IRRADIATION won't fire once the object is irradiated. +#define TRAIT_BYPASS_EARLY_IRRADIATED_CHECK "radiation_bypass_early_irradiated_check" diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index 137b2bc8bc2..87d53c152a1 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -88,7 +88,6 @@ #define VV_HK_TRIGGER_EMP "empulse" #define VV_HK_TRIGGER_EXPLOSION "explode" #define VV_HK_AUTO_RENAME "auto_rename" -#define VV_HK_RADIATE "radiate" #define VV_HK_EDIT_FILTERS "edit_filters" #define VV_HK_ADD_AI "add_ai" diff --git a/code/__HELPERS/radiation.dm b/code/__HELPERS/radiation.dm index 79001a47893..8c527ff8377 100644 --- a/code/__HELPERS/radiation.dm +++ b/code/__HELPERS/radiation.dm @@ -1,55 +1,66 @@ -// A special GetAllContents that doesn't search past things with rad insulation -// Components which return COMPONENT_BLOCK_RADIATION prevent further searching into that object's contents. The object itself will get returned still. -// The ignore list makes those objects never return at all -/proc/get_rad_contents(atom/location) - var/static/list/ignored_things = typecacheof(list( - /mob/dead, - /mob/camera, - /obj/effect, - /obj/docking_port, - /obj/projectile, - )) - var/list/processing_list = list(location) - . = list() - while(processing_list.len) - var/atom/thing = processing_list[1] - processing_list -= thing - if(ignored_things[thing.type]) - continue - . += thing - if((thing.flags_1 & RAD_PROTECT_CONTENTS_1) || (SEND_SIGNAL(thing, COMSIG_ATOM_RAD_PROBE) & COMPONENT_BLOCK_RADIATION)) - continue - processing_list += thing.contents +/// Whether or not it's possible for this atom to be irradiated +#define CAN_IRRADIATE(atom) (ishuman(##atom) || isitem(##atom)) -/proc/radiation_pulse(atom/source, intensity, range_modifier, log=FALSE, can_contaminate=TRUE) +/// Sends out a pulse of radiation, eminating from the source. +/// Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +/// then makes their way towards them. A number, starting at 1, is multiplied +/// by the insulation amounts of whatever is in the way (for example, walls lowering it down). +/// If this number hits equal or below the threshold, then the target can no longer be irradiated. +/// If the number is above the threshold, then the chance is the chance that the target will be irradiated. +/// As a consumer, this means that max_range going up usually means you want to lower the threshold too, +/// as well as the other way around. +/// If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +/// If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +/// and such in the way, can be irradiated. +/// You can also pass in a minimum exposure time. If this is set, then this radiation pulse +/// will not irradiate the source unless they have been around *any* radioactive source for that +/// period of time. +/proc/radiation_pulse( + atom/source, + max_range, + threshold, + chance = DEFAULT_RADIATION_CHANCE, + minimum_exposure_time = 0, +) if(!SSradiation.can_fire) return - for(var/dir in GLOB.cardinals) - new /datum/radiation_wave(source, dir, intensity, range_modifier, can_contaminate) - var/list/things = get_rad_contents(source) //copypasta because I don't want to put special code in waves to handle their origin - for(var/k in 1 to things.len) - var/atom/thing = things[k] - if(!thing) - continue - thing.rad_act(intensity) + var/datum/radiation_pulse_information/pulse_information = new + pulse_information.source_ref = WEAKREF(source) + pulse_information.max_range = max_range + pulse_information.threshold = threshold + pulse_information.chance = chance + pulse_information.minimum_exposure_time = minimum_exposure_time + + SSradiation.processing += pulse_information - var/static/last_huge_pulse = 0 - if(intensity > 3000 && world.time > last_huge_pulse + 200) - last_huge_pulse = world.time - log = TRUE - if(log) - var/turf/_source_T = isturf(source) ? source : get_turf(source) - log_game("Radiation pulse with intensity: [intensity] and range modifier: [range_modifier] in [loc_name(_source_T)] ") return TRUE -/proc/get_rad_contamination(atom/location) - var/rad_strength = 0 - for(var/i in get_rad_contents(location)) // Yes it's intentional that you can't detect radioactive things under rad protection. Gives traitors a way to hide their glowing green rocks. - var/atom/thing = i - if(!thing) - continue - var/datum/component/radioactive/radiation = thing.GetComponent(/datum/component/radioactive) - if(radiation && rad_strength < radiation.strength) - rad_strength = radiation.strength - return rad_strength +/datum/radiation_pulse_information + var/datum/weakref/source_ref + var/max_range + var/threshold + var/chance + var/minimum_exposure_time + +#define MEDIUM_RADIATION_THRESHOLD_RANGE 0.5 +#define EXTREME_RADIATION_CHANCE 30 + +/// Gets the perceived "danger" of radiation pulse, given the threshold to the target. +/// Returns a RADIATION_DANGER_* define, see [code/__DEFINES/radiation.dm] +/proc/get_perceived_radiation_danger(datum/radiation_pulse_information/pulse_information, insulation_to_target) + if (insulation_to_target > pulse_information.threshold) + // We could get irradiated! The only thing stopping us now is chance, so scale based on that. + if (pulse_information.chance >= EXTREME_RADIATION_CHANCE) + return PERCEIVED_RADIATION_DANGER_EXTREME + else + return PERCEIVED_RADIATION_DANGER_HIGH + else + // We're out of the threshold from being irradiated, but by how much? + if (insulation_to_target / pulse_information.threshold <= MEDIUM_RADIATION_THRESHOLD_RANGE) + return PERCEIVED_RADIATION_DANGER_MEDIUM + else + return PERCEIVED_RADIATION_DANGER_LOW + +#undef MEDIUM_RADIATION_THRESHOLD_RANGE +#undef EXTREME_RADIATION_CHANCE diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index f849ca56e8d..cdf7766fe90 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -125,8 +125,6 @@ DEFINE_BITFIELD(flags_1, list( "OVERLAY_QUEUED_1" = OVERLAY_QUEUED_1, "PREVENT_CLICK_UNDER_1" = PREVENT_CLICK_UNDER_1, "PREVENT_CONTENTS_EXPLOSION_1" = PREVENT_CONTENTS_EXPLOSION_1, - "RAD_NO_CONTAMINATE_1" = RAD_NO_CONTAMINATE_1, - "RAD_PROTECT_CONTENTS_1" = RAD_PROTECT_CONTENTS_1, "SHOCKED_1" = SHOCKED_1, "SUPERMATTER_IGNORES_1" = SUPERMATTER_IGNORES_1, "UNPAINTABLE_1" = UNPAINTABLE_1, diff --git a/code/controllers/subsystem/radiation.dm b/code/controllers/subsystem/radiation.dm index 2d764d84ddb..afd570ff31e 100644 --- a/code/controllers/subsystem/radiation.dm +++ b/code/controllers/subsystem/radiation.dm @@ -1,18 +1,118 @@ -PROCESSING_SUBSYSTEM_DEF(radiation) +SUBSYSTEM_DEF(radiation) name = "Radiation" - flags = SS_NO_INIT | SS_BACKGROUND - wait = 1 SECONDS + flags = SS_BACKGROUND | SS_NO_INIT - var/list/warned_atoms = list() + wait = 0.5 SECONDS -/datum/controller/subsystem/processing/radiation/proc/warn(datum/component/radioactive/contamination) - if(!contamination || QDELETED(contamination)) - return - var/ref = REF(contamination.parent) - if(warned_atoms[ref]) - return - warned_atoms[ref] = TRUE - var/atom/master = contamination.parent - SSblackbox.record_feedback("tally", "contaminated", 1, master.type) - var/msg = "has become contaminated with enough radiation to contaminate other objects. || Source: [contamination.source] || Strength: [contamination.strength]" - master.investigate_log(msg, INVESTIGATE_RADIATION) + /// A list of radiation sources (/datum/radiation_pulse_information) that have yet to process. + /// Do not interact with this directly, use `radiation_pulse` instead. + var/list/datum/radiation_pulse_information/processing = list() + +/datum/controller/subsystem/radiation/fire(resumed) + while (processing.len) + var/datum/radiation_pulse_information/pulse_information = popleft(processing) + + var/datum/weakref/source_ref = pulse_information.source_ref + var/atom/source = source_ref.resolve() + if (isnull(source)) + continue + + pulse(source, pulse_information) + + if (MC_TICK_CHECK) + return + +/datum/controller/subsystem/radiation/stat_entry(msg) + msg = "[msg] | Pulses: [processing.len]" + return ..() + +/datum/controller/subsystem/radiation/proc/pulse(atom/source, datum/radiation_pulse_information/pulse_information) + var/list/cached_rad_insulations = list() + + for (var/atom/movable/target in range(pulse_information.max_range, source)) + if (!can_irradiate_basic(target)) + continue + + var/current_insulation = 1 + + for (var/turf/turf_in_between in get_line(source, target) - get_turf(source)) + var/insulation = cached_rad_insulations[turf_in_between] + if (isnull(insulation)) + insulation = turf_in_between.rad_insulation + for (var/atom/on_turf as anything in turf_in_between.contents) + insulation *= on_turf.rad_insulation + cached_rad_insulations[turf_in_between] = insulation + + current_insulation *= insulation + + if (current_insulation <= pulse_information.threshold) + break + + SEND_SIGNAL(target, COMSIG_IN_RANGE_OF_IRRADIATION, pulse_information, current_insulation) + + // Check a second time, because of TRAIT_BYPASS_EARLY_IRRADIATED_CHECK + if (HAS_TRAIT(target, TRAIT_IRRADIATED)) + continue + + if (current_insulation <= pulse_information.threshold) + continue + + var/irradiation_result = SEND_SIGNAL(target, COMSIG_IN_THRESHOLD_OF_IRRADIATION, pulse_information) + if (irradiation_result & CANCEL_IRRADIATION) + continue + + if (pulse_information.minimum_exposure_time && !(irradiation_result & SKIP_MINIMUM_EXPOSURE_TIME_CHECK)) + target.AddComponent(/datum/component/radiation_countdown, pulse_information.minimum_exposure_time) + continue + + if (!prob(pulse_information.chance)) + continue + + if (irradiate_after_basic_checks(target)) + target.investigate_log("was irradiated by [source].", INVESTIGATE_RADIATION) + +/// Will attempt to irradiate the given target, limited through IC means, such as radiation protected clothing. +/datum/controller/subsystem/radiation/proc/irradiate(atom/target) + if (!can_irradiate_basic(target)) + return FALSE + + irradiate_after_basic_checks() + return TRUE + +/datum/controller/subsystem/radiation/proc/irradiate_after_basic_checks(atom/target) + PRIVATE_PROC(TRUE) + + if (ishuman(target) && wearing_rad_protected_clothing(target)) + return FALSE + + target.AddComponent(/datum/component/irradiated) + return TRUE + +/// Returns whether or not the target can be irradiated by any means. +/// Does not check for clothing. +/datum/controller/subsystem/radiation/proc/can_irradiate_basic(atom/target) + if (!CAN_IRRADIATE(target)) + return FALSE + + if (HAS_TRAIT(target, TRAIT_IRRADIATED) && !HAS_TRAIT(target, TRAIT_BYPASS_EARLY_IRRADIATED_CHECK)) + return FALSE + + if (HAS_TRAIT(target, TRAIT_RADIMMUNE)) + return FALSE + + return TRUE + +/// Returns whether or not the human is covered head to toe in rad-protected clothing. +/datum/controller/subsystem/radiation/proc/wearing_rad_protected_clothing(mob/living/carbon/human/human) + for (var/obj/item/bodypart/limb as anything in human.bodyparts) + var/protected = FALSE + + for (var/obj/item/clothing as anything in human.clothingonpart(limb)) + if (HAS_TRAIT(clothing, TRAIT_RADIATION_PROTECTED_CLOTHING)) + protected = TRUE + break + + if (!protected) + return FALSE + + return TRUE diff --git a/code/datums/armor.dm b/code/datums/armor.dm index 4a15b35b440..5be5d462f5f 100644 --- a/code/datums/armor.dm +++ b/code/datums/armor.dm @@ -1,9 +1,9 @@ -#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[rad]-[fire]-[acid]-[magic]-[wound]" +#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[fire]-[acid]-[magic]-[wound]" -/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, wound = 0) +/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0) . = locate(ARMORID) if (!.) - . = new /datum/armor(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic, wound) + . = new /datum/armor(melee, bullet, laser, energy, bomb, bio, fire, acid, magic, wound) /datum/armor datum_flags = DF_USE_TAG @@ -13,21 +13,19 @@ var/energy var/bomb var/bio - var/rad var/fire var/acid var/magic var/wound var/consume -/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, wound = 0) +/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0) src.melee = melee src.bullet = bullet src.laser = laser src.energy = energy src.bomb = bomb src.bio = bio - src.rad = rad src.fire = fire src.acid = acid src.magic = magic @@ -35,20 +33,19 @@ src.consume = melee tag = ARMORID -/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, wound = 0) - return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.rad+rad, src.fire+fire, src.acid+acid, src.magic+magic, src.wound+wound) +/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, fire = 0, acid = 0, magic = 0, wound = 0) + return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.fire+fire, src.acid+acid, src.magic+magic, src.wound+wound) /datum/armor/proc/modifyAllRatings(modifier = 0) - return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, rad+modifier, fire+modifier, acid+modifier, magic+modifier, wound+modifier) + return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, fire+modifier, acid+modifier, magic+modifier, wound+modifier) -/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic, wound) +/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, fire, acid, magic, wound) return getArmor((isnull(melee) ? src.melee : melee),\ (isnull(bullet) ? src.bullet : bullet),\ (isnull(laser) ? src.laser : laser),\ (isnull(energy) ? src.energy : energy),\ (isnull(bomb) ? src.bomb : bomb),\ (isnull(bio) ? src.bio : bio),\ - (isnull(rad) ? src.rad : rad),\ (isnull(fire) ? src.fire : fire),\ (isnull(acid) ? src.acid : acid),\ (isnull(magic) ? src.magic : magic),\ @@ -58,13 +55,13 @@ return vars[rating] /datum/armor/proc/getList() - return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, RAD = rad, FIRE = fire, ACID = acid, MAGIC = magic, WOUND = wound) + return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, FIRE = fire, ACID = acid, MAGIC = magic, WOUND = wound) /datum/armor/proc/attachArmor(datum/armor/AA) - return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, rad+AA.rad, fire+AA.fire, acid+AA.acid, magic+AA.magic, wound+AA.wound) + return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, fire+AA.fire, acid+AA.acid, magic+AA.magic, wound+AA.wound) /datum/armor/proc/detachArmor(datum/armor/AA) - return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, rad-AA.rad, fire-AA.fire, acid-AA.acid, magic-AA.magic, wound-AA.wound) + return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, fire-AA.fire, acid-AA.acid, magic-AA.magic, wound-AA.wound) /datum/armor/vv_edit_var(var_name, var_value) if (var_name == NAMEOF(src, tag)) diff --git a/code/datums/components/connect_loc_behalf.dm b/code/datums/components/connect_loc_behalf.dm index 7ab338fe33d..90f414def78 100644 --- a/code/datums/components/connect_loc_behalf.dm +++ b/code/datums/components/connect_loc_behalf.dm @@ -1,6 +1,6 @@ /// This component behaves similar to connect_loc, hooking into a signal on a tracked object's turf /// It has the ability to react to that signal on behalf of a seperate listener however -/// This has great use, primarially for components, but it carries with it some overhead +/// This has great use, primarily for components, but it carries with it some overhead /// So we do it seperately as it needs to hold state which is very likely to lead to bugs if it remains as an element. /datum/component/connect_loc_behalf dupe_mode = COMPONENT_DUPE_UNIQUE diff --git a/code/datums/components/geiger_sound.dm b/code/datums/components/geiger_sound.dm new file mode 100644 index 00000000000..30e879b6668 --- /dev/null +++ b/code/datums/components/geiger_sound.dm @@ -0,0 +1,92 @@ +/// Atoms with this component will play sounds depending on nearby radiation +/datum/component/geiger_sound + var/datum/looping_sound/geiger/sound + + var/last_parent = null + +/datum/component/geiger_sound/Initialize(...) + if (!isatom(parent)) + return COMPONENT_INCOMPATIBLE + +/datum/component/geiger_sound/Destroy(force, silent) + QDEL_NULL(sound) + + if (!isnull(last_parent)) + UnregisterSignal(last_parent, COMSIG_IN_RANGE_OF_IRRADIATION) + + last_parent = null + + return ..() + +/datum/component/geiger_sound/RegisterWithParent() + sound = new(parent) + + RegisterSignal(parent, COMSIG_IN_RANGE_OF_IRRADIATION, .proc/on_pre_potential_irradiation) + + ADD_TRAIT(parent, TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, REF(src)) + + if (isitem(parent)) + var/atom/atom_parent = parent + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved) + register_to_loc(atom_parent.loc) + +/datum/component/geiger_sound/UnregisterFromParent() + UnregisterSignal(parent, list( + COMSIG_MOVABLE_MOVED, + COMSIG_IN_RANGE_OF_IRRADIATION, + )) + + REMOVE_TRAIT(parent, TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, REF(src)) + +/datum/component/geiger_sound/proc/on_pre_potential_irradiation(datum/source, datum/radiation_pulse_information/pulse_information, insulation_to_target) + SIGNAL_HANDLER + + sound.last_insulation_to_target = insulation_to_target + sound.last_radiation_pulse = pulse_information + sound.start() + + addtimer(CALLBACK(sound, /datum/looping_sound/proc/stop), TIME_WITHOUT_RADIATION_BEFORE_RESET, TIMER_UNIQUE | TIMER_OVERRIDE) + +/datum/component/geiger_sound/proc/on_moved(atom/source) + SIGNAL_HANDLER + register_to_loc(source.loc) + +/datum/component/geiger_sound/proc/register_to_loc(new_loc) + if (last_parent == new_loc) + return + + if (!isnull(last_parent)) + UnregisterSignal(last_parent, COMSIG_IN_RANGE_OF_IRRADIATION) + + last_parent = new_loc + + if (!isnull(new_loc)) + RegisterSignal(new_loc, COMSIG_IN_RANGE_OF_IRRADIATION, .proc/on_pre_potential_irradiation) + +/datum/looping_sound/geiger + mid_sounds = list( + list('sound/items/geiger/low1.ogg'=1, 'sound/items/geiger/low2.ogg'=1, 'sound/items/geiger/low3.ogg'=1, 'sound/items/geiger/low4.ogg'=1), + list('sound/items/geiger/med1.ogg'=1, 'sound/items/geiger/med2.ogg'=1, 'sound/items/geiger/med3.ogg'=1, 'sound/items/geiger/med4.ogg'=1), + list('sound/items/geiger/high1.ogg'=1, 'sound/items/geiger/high2.ogg'=1, 'sound/items/geiger/high3.ogg'=1, 'sound/items/geiger/high4.ogg'=1), + list('sound/items/geiger/ext1.ogg'=1, 'sound/items/geiger/ext2.ogg'=1, 'sound/items/geiger/ext3.ogg'=1, 'sound/items/geiger/ext4.ogg'=1) + ) + mid_length = 2 + volume = 25 + + var/datum/radiation_pulse_information/last_radiation_pulse + var/last_insulation_to_target + +/datum/looping_sound/geiger/Destroy() + last_radiation_pulse = null + return ..() + +/datum/looping_sound/geiger/get_sound(starttime) + if (isnull(last_radiation_pulse)) + return null + + return ..(starttime, mid_sounds[get_perceived_radiation_danger(last_radiation_pulse, last_insulation_to_target)]) + +/datum/looping_sound/geiger/stop() + . = ..() + + last_radiation_pulse = null diff --git a/code/datums/components/genetic_damage.dm b/code/datums/components/genetic_damage.dm new file mode 100644 index 00000000000..1092f444b65 --- /dev/null +++ b/code/datums/components/genetic_damage.dm @@ -0,0 +1,72 @@ +#define GORILLA_MUTATION_CHANCE_PER_SECOND 0.25 +#define GORILLA_MUTATION_MINIMUM_DAMAGE 2500 + +/// Genetic damage, given by DNA consoles, will start to deal toxin damage +/// past a certain threshold, and will go down consistently. +/// Adding multiple of this component will increase the total damage. +/// Can turn monkeys into gorillas. +/datum/component/genetic_damage + dupe_mode = COMPONENT_DUPE_UNIQUE + + /// The total genetic damage on the mob + var/total_damage = 0 + + /// The amount of genetic damage a mob can sustain before taking damage + var/minimum_before_damage = 500 + + /// The amount of genetic damage to remove per second + var/remove_per_second = 1 / 3 + + /// The amount of toxin damage to deal per second, if over the minimum before taking damage + var/toxin_damage_per_second = 1 / 3 + +/datum/component/genetic_damage/Initialize(genetic_damage) + if (!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + src.total_damage = genetic_damage + + START_PROCESSING(SSprocessing, src) + +/datum/component/genetic_damage/RegisterWithParent() + RegisterSignal(parent, COMSIG_LIVING_HEALTHSCAN, .proc/on_healthscan) + +/datum/component/genetic_damage/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_LIVING_HEALTHSCAN) + +/datum/component/genetic_damage/Destroy(force, silent) + STOP_PROCESSING(SSprocessing, src) + + return ..() + +/datum/component/genetic_damage/InheritComponent(datum/component/genetic_damage/old_component) + total_damage += old_component.total_damage + +/datum/component/genetic_damage/process(delta_time) + if (ismonkey(parent) && total_damage >= GORILLA_MUTATION_MINIMUM_DAMAGE && DT_PROB(GORILLA_MUTATION_CHANCE_PER_SECOND, delta_time)) + var/mob/living/carbon/carbon_parent = parent + carbon_parent.gorillize() + qdel(src) + return PROCESS_KILL + + if (total_damage >= minimum_before_damage) + var/mob/living/living_mob = parent + living_mob.adjustToxLoss(toxin_damage_per_second * delta_time) + + total_damage -= remove_per_second * delta_time + if (total_damage <= 0) + qdel(src) + return PROCESS_KILL + +/datum/component/genetic_damage/proc/on_healthscan(datum/source, list/render_list, advanced) + SIGNAL_HANDLER + + if (advanced) + render_list += "Genetic damage: [round(total_damage / minimum_before_damage * 100, 0.1)]%\n" + else if (total_damage >= minimum_before_damage) + render_list += "Severe genetic damage detected.\n" + else + render_list += "Minor genetic damage detected.\n" + +#undef GORILLA_MUTATION_CHANCE_PER_SECOND +#undef GORILLA_MUTATION_MINIMUM_DAMAGE diff --git a/code/datums/components/irradiated.dm b/code/datums/components/irradiated.dm new file mode 100644 index 00000000000..63a9379b9c1 --- /dev/null +++ b/code/datums/components/irradiated.dm @@ -0,0 +1,201 @@ +#define RADIATION_IMMEDIATE_TOX_DAMAGE 10 + +#define RADIATION_TOX_DAMAGE_PER_INTERVAL 2 +#define RADIATION_TOX_INTERVAL (25 SECONDS) + +#define RADIATION_BURN_SPLOTCH_DAMAGE 11 +#define RADIATION_BURN_INTERVAL_MIN (30 SECONDS) +#define RADIATION_BURN_INTERVAL_MAX (60 SECONDS) + +// Showers process on SSmachines +#define RADIATION_CLEAN_IMMUNITY_TIME (SSMACHINES_DT + (1 SECONDS)) + +/// This atom is irradiated, and will glow green. +/// Humans will take toxin damage until all their toxin damage is cleared. +/// Items will attempt to irradiate whoever is holding them, as well as whatever they are inside. +/datum/component/irradiated + dupe_mode = COMPONENT_DUPE_UNIQUE + + var/beginning_of_irradiation + + var/burn_splotch_timer_id + + COOLDOWN_DECLARE(clean_cooldown) + COOLDOWN_DECLARE(last_tox_damage) + +/datum/component/irradiated/Initialize() + if (!CAN_IRRADIATE(parent)) + return COMPONENT_INCOMPATIBLE + + // This isn't incompatible, it's just wrong + if (HAS_TRAIT(parent, TRAIT_RADIMMUNE)) + qdel(src) + return + + ADD_TRAIT(parent, TRAIT_IRRADIATED, REF(src)) + + create_glow() + + beginning_of_irradiation = world.time + + if (ishuman(parent)) + var/mob/living/carbon/human/human_parent = parent + human_parent.apply_damage(RADIATION_IMMEDIATE_TOX_DAMAGE, TOX) + START_PROCESSING(SSobj, src) + + COOLDOWN_START(src, last_tox_damage, RADIATION_TOX_INTERVAL) + + start_burn_splotch_timer() + + human_parent.throw_alert("irradiated", /atom/movable/screen/alert/irradiated) + +/datum/component/irradiated/RegisterWithParent() + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/on_clean) + RegisterSignal(parent, COMSIG_GEIGER_COUNTER_SCAN, .proc/on_geiger_counter_scan) + +/datum/component/irradiated/UnregisterFromParent() + UnregisterSignal(parent, list( + COMSIG_COMPONENT_CLEAN_ACT, + COMSIG_GEIGER_COUNTER_SCAN, + )) + +/datum/component/irradiated/Destroy(force, silent) + var/atom/movable/parent_movable = parent + if (istype(parent_movable)) + parent_movable.remove_filter("rad_glow") + + var/mob/living/carbon/human/human_parent = parent + if (istype(human_parent)) + human_parent.clear_alert("irradiated") + + REMOVE_TRAIT(parent, TRAIT_IRRADIATED, REF(src)) + + deltimer(burn_splotch_timer_id) + STOP_PROCESSING(SSobj, src) + + return ..() + +/datum/component/irradiated/process(delta_time) + if (!ishuman(parent)) + return PROCESS_KILL + + if (HAS_TRAIT(parent, TRAIT_RADIMMUNE)) + qdel(src) + return PROCESS_KILL + + var/mob/living/carbon/human/human_parent = parent + if (human_parent.getToxLoss() == 0) + qdel(src) + return PROCESS_KILL + + if (should_halt_effects(parent)) + return + + if (human_parent.stat > DEAD) + human_parent.dna?.species?.handle_radiation(human_parent, world.time - beginning_of_irradiation, delta_time) + + process_tox_damage(human_parent, delta_time) + +/datum/component/irradiated/proc/should_halt_effects(mob/living/carbon/human/target) + if (IS_IN_STASIS(target)) + return TRUE + + if (HAS_TRAIT(target, TRAIT_HALT_RADIATION_EFFECTS)) + return TRUE + + if (!COOLDOWN_FINISHED(src, clean_cooldown)) + return TRUE + + return FALSE + +/datum/component/irradiated/proc/process_tox_damage(mob/living/carbon/human/target, delta_time) + if (!COOLDOWN_FINISHED(src, last_tox_damage)) + return + + target.apply_damage(RADIATION_TOX_DAMAGE_PER_INTERVAL, TOX) + COOLDOWN_START(src, last_tox_damage, RADIATION_TOX_INTERVAL) + +/datum/component/irradiated/proc/start_burn_splotch_timer() + addtimer(CALLBACK(src, .proc/give_burn_splotches), rand(RADIATION_BURN_INTERVAL_MIN, RADIATION_BURN_INTERVAL_MAX), TIMER_STOPPABLE) + +/datum/component/irradiated/proc/give_burn_splotches() + // This shouldn't be possible, but just in case. + if (QDELETED(src)) + return + + start_burn_splotch_timer() + + var/mob/living/carbon/human/human_parent = parent + + if (should_halt_effects(parent)) + return + + var/obj/affected_limb = human_parent.get_bodypart(ran_zone()) + human_parent.visible_message( + span_boldwarning("[human_parent]'s [affected_limb.name] bubbles unnaturally, then bursts into blisters!"), + span_boldwarning("Your [affected_limb.name] bubbles unnaturally, then bursts into blisters!"), + ) + + if (human_parent.is_blind()) + to_chat(human_parent, span_boldwarning("Your [affected_limb.name] feels like it's bubbling, then burns like hell!")) + + human_parent.apply_damage(RADIATION_BURN_SPLOTCH_DAMAGE, BURN, affected_limb) + playsound( + human_parent, + pick('sound/effects/wounds/sizzle1.ogg', 'sound/effects/wounds/sizzle2.ogg'), + 50, + vary = TRUE, + ) + +/datum/component/irradiated/proc/create_glow() + var/atom/movable/parent_movable = parent + if (!istype(parent_movable)) + return + + parent_movable.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) + addtimer(CALLBACK(src, .proc/start_glow_loop, parent_movable), rand(0.1 SECONDS, 1.9 SECONDS)) // Things should look uneven + +/datum/component/irradiated/proc/start_glow_loop(atom/movable/parent_movable) + var/filter = parent_movable.get_filter("rad_glow") + if (!filter) + return + + animate(filter, alpha = 110, time = 1.5 SECONDS, loop = -1) + animate(alpha = 40, time = 2.5 SECONDS) + +/datum/component/irradiated/proc/on_clean(datum/source, clean_types) + SIGNAL_HANDLER + + if (!(clean_types & CLEAN_TYPE_RADIATION)) + return + + if (isitem(parent)) + qdel(src) + return COMPONENT_CLEANED + + COOLDOWN_START(src, clean_cooldown, RADIATION_CLEAN_IMMUNITY_TIME) + +/datum/component/irradiated/proc/on_geiger_counter_scan(datum/source, mob/user, obj/item/geiger_counter/geiger_counter) + SIGNAL_HANDLER + + if (isliving(source)) + var/mob/living/living_source = source + to_chat(user, span_boldannounce("[icon2html(geiger_counter, user)] Subject is irradiated. Contamination traces back to roughly [DisplayTimeText(world.time - beginning_of_irradiation, 5)] ago. Current toxin levels: [living_source.getToxLoss()].")) + else + // In case the green wasn't obvious enough... + to_chat(user, span_boldannounce("[icon2html(geiger_counter, user)] Target is irradiated.")) + + return COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL + +/atom/movable/screen/alert/irradiated + name = "Irradiated" + desc = "You're irradiated! Heal your toxins quick, and stand under a shower to halt the incoming damage." + icon_state = "irradiated" + +#undef RADIATION_BURN_SPLOTCH_DAMAGE +#undef RADIATION_BURN_INTERVAL_MIN +#undef RADIATION_BURN_INTERVAL_MAX +#undef RADIATION_CLEAN_IMMUNITY_TIME +#undef RADIATION_IMMEDIATE_TOX_DAMAGE +#undef RADIATION_TOX_INTERVAL +#undef RADIATION_TOX_DAMAGE_PER_INTERVAL diff --git a/code/datums/components/radiation_countdown.dm b/code/datums/components/radiation_countdown.dm new file mode 100644 index 00000000000..dfb77d360af --- /dev/null +++ b/code/datums/components/radiation_countdown.dm @@ -0,0 +1,55 @@ +// Should be more than any minimum exposure time coming in +#define TIME_UNTIL_DELETION (10 SECONDS) + +/// Begins the countdown before a target can be irradiated. +/// Added by the radiation subsystem when a pulse information has a minimum exposure time. +/// Will clear itself out after a while. +/datum/component/radiation_countdown + /// The time this component was added + var/time_added + + /// The shortest minimum time before being irradiated. + /// If the source has an attempted irradiation again outside this timeframe, it will go through. + var/minimum_exposure_time + +/datum/component/radiation_countdown/Initialize(minimum_exposure_time) + if (!CAN_IRRADIATE(parent)) + return COMPONENT_INCOMPATIBLE + + src.minimum_exposure_time = minimum_exposure_time + + time_added = world.time + + to_chat(parent, span_userdanger("The air around you feels warm...perhaps you should go somewhere else.")) + + start_deletion_timer() + +/datum/component/radiation_countdown/proc/start_deletion_timer() + addtimer(CALLBACK(src, .proc/remove_self), TIME_UNTIL_DELETION, TIMER_UNIQUE | TIMER_OVERRIDE) + +/datum/component/radiation_countdown/proc/remove_self() + if (!HAS_TRAIT(parent, TRAIT_IRRADIATED)) + to_chat(parent, span_notice("The air here feels safer.")) + + qdel(src) + +/datum/component/radiation_countdown/RegisterWithParent() + RegisterSignal(parent, COMSIG_IN_THRESHOLD_OF_IRRADIATION, .proc/on_pre_potential_irradiation_within_range) + +/datum/component/radiation_countdown/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_IN_THRESHOLD_OF_IRRADIATION) + +/datum/component/radiation_countdown/proc/on_pre_potential_irradiation_within_range(datum/source, datum/radiation_pulse_information/pulse_information) + SIGNAL_HANDLER + + minimum_exposure_time = min(minimum_exposure_time, pulse_information.minimum_exposure_time) + + start_deletion_timer() + + // Played with fire, now you might be getting irradiated. + if (world.time - time_added >= minimum_exposure_time) + return SKIP_MINIMUM_EXPOSURE_TIME_CHECK + + return CANCEL_IRRADIATION + +#undef TIME_UNTIL_DELETION diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm deleted file mode 100644 index 39b19bd183a..00000000000 --- a/code/datums/components/radioactive.dm +++ /dev/null @@ -1,122 +0,0 @@ -#define RAD_AMOUNT_LOW 50 -#define RAD_AMOUNT_MEDIUM 200 -#define RAD_AMOUNT_HIGH 500 -#define RAD_AMOUNT_EXTREME 1000 - -/datum/component/radioactive - dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS - - var/source - var/hl3_release_date //the half-life measured in ticks - var/strength - var/can_contaminate - -/datum/component/radioactive/Initialize(_strength=0, _source, _half_life=RAD_HALF_LIFE, _can_contaminate=TRUE) - strength = _strength - source = _source - hl3_release_date = _half_life - can_contaminate = _can_contaminate - if(istype(parent, /atom)) - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/rad_examine) - RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/rad_clean) - if(istype(parent, /obj/item)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/rad_attack) - RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack) - else - return COMPONENT_INCOMPATIBLE - if(strength > RAD_MINIMUM_CONTAMINATION) - SSradiation.warn(src) - //Let's make er glow - //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS - var/atom/movable/master = parent - master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) - addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19))//Things should look uneven - START_PROCESSING(SSradiation, src) - -/datum/component/radioactive/Destroy() - STOP_PROCESSING(SSradiation, src) - var/atom/movable/master = parent - master.remove_filter("rad_glow") - return ..() - -/datum/component/radioactive/process(delta_time) - if(!DT_PROB(50, delta_time)) - return - radiation_pulse(parent, strength, RAD_DISTANCE_COEFFICIENT*2, FALSE, can_contaminate) - if(!hl3_release_date) - return - strength -= strength / hl3_release_date - if(strength <= RAD_BACKGROUND_RADIATION) - qdel(src) - return PROCESS_KILL - -/datum/component/radioactive/proc/glow_loop(atom/movable/master) - var/filter = master.get_filter("rad_glow") - if(filter) - animate(filter, alpha = 110, time = 15, loop = -1) - animate(alpha = 40, time = 25) - -/datum/component/radioactive/InheritComponent(datum/component/C, i_am_original, _strength, _source, _half_life, _can_contaminate) - if(!i_am_original) - return - if(!hl3_release_date) // Permanently radioactive things don't get to grow stronger - return - if(C) - var/datum/component/radioactive/other = C - strength = max(strength, other.strength) - else - strength = max(strength, _strength) - -/datum/component/radioactive/proc/rad_examine(datum/source, mob/user, list/out) - SIGNAL_HANDLER - - var/atom/master = parent - - var/list/fragments = list() - if(get_dist(master, user) <= 1) - fragments += "The air around [master] feels warm" - switch(strength) - if(0 to RAD_AMOUNT_LOW) - if(length(fragments)) - fragments += "." - if(RAD_AMOUNT_LOW to RAD_AMOUNT_MEDIUM) - fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]feel[master.p_s()] weird to look at." - if(RAD_AMOUNT_MEDIUM to RAD_AMOUNT_HIGH) - fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]seem[master.p_s()] to be glowing a bit." - if(RAD_AMOUNT_HIGH to INFINITY) //At this level the object can contaminate other objects - fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]hurt[master.p_s()] to look at." - - if(length(fragments)) - out += span_warning("[fragments.Join()]") - -/datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user) - SIGNAL_HANDLER - - radiation_pulse(parent, strength/20) - target.rad_act(strength/2) - if(!hl3_release_date) - return - strength -= strength / hl3_release_date - -/datum/component/radioactive/proc/rad_clean(datum/source, clean_types) - SIGNAL_HANDLER - - if(QDELETED(src)) - return COMPONENT_CLEANED - - if(!(clean_types & CLEAN_TYPE_RADIATION)) - return COMPONENT_CLEANED - - if(!(clean_types & CLEAN_TYPE_WEAK)) - qdel(src) - return COMPONENT_CLEANED - - strength = max(0, (strength - (RAD_BACKGROUND_RADIATION * 2))) - if(strength <= RAD_BACKGROUND_RADIATION) - qdel(src) - return COMPONENT_CLEANED - -#undef RAD_AMOUNT_LOW -#undef RAD_AMOUNT_MEDIUM -#undef RAD_AMOUNT_HIGH -#undef RAD_AMOUNT_EXTREME diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 06f1426b957..69a53d50cd5 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -529,20 +529,7 @@ cellular_damage = TRUE /datum/symptom/heal/radiation/CanHeal(datum/disease/advance/A) - var/mob/living/M = A.affected_mob - switch(M.radiation) - if(0) - return FALSE - if(1 to RAD_MOB_SAFE) - return 0.25 - if(RAD_MOB_SAFE to RAD_BURN_THRESHOLD) - return 0.5 - if(RAD_BURN_THRESHOLD to RAD_MOB_MUTATE) - return 0.75 - if(RAD_MOB_MUTATE to RAD_MOB_KNOCKDOWN) - return 1 - else - return 1.5 + return HAS_TRAIT(A.affected_mob, TRAIT_IRRADIATED) ? power : 0 /datum/symptom/heal/radiation/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = actual_power diff --git a/code/datums/elements/rad_insulation.dm b/code/datums/elements/rad_insulation.dm deleted file mode 100644 index d8b44936d94..00000000000 --- a/code/datums/elements/rad_insulation.dm +++ /dev/null @@ -1,34 +0,0 @@ -/datum/element/rad_insulation - element_flags = ELEMENT_DETACH | ELEMENT_BESPOKE - id_arg_index = 2 - var/amount // Multiplier for radiation strength passing through - -/datum/element/rad_insulation/Attach(datum/target, _amount=RAD_MEDIUM_INSULATION, protects=TRUE, contamination_proof=TRUE) - . = ..() - if(!isatom(target)) - return COMPONENT_INCOMPATIBLE - - if(protects) // Does this protect things in its contents from being affected? - RegisterSignal(target, COMSIG_ATOM_RAD_PROBE, .proc/rad_probe_react) - if(contamination_proof) // Can this object be contaminated? - RegisterSignal(target, COMSIG_ATOM_RAD_CONTAMINATING, .proc/rad_contaminating) - if(_amount != 1) // If it's 1 it won't have any impact on radiation passing through anyway - RegisterSignal(target, COMSIG_ATOM_RAD_WAVE_PASSING, .proc/rad_pass) - - amount = _amount - -/datum/element/rad_insulation/proc/rad_probe_react(datum/source) - SIGNAL_HANDLER - - return COMPONENT_BLOCK_RADIATION - -/datum/element/rad_insulation/proc/rad_contaminating(datum/source, strength) - SIGNAL_HANDLER - - return COMPONENT_BLOCK_CONTAMINATION - -/datum/element/rad_insulation/proc/rad_pass(datum/source, datum/radiation_wave/wave, width) - SIGNAL_HANDLER - - wave.intensity = wave.intensity*(1-((1-amount)/width)) // The further out the rad wave goes the less it's affected by insulation (larger width) - return COMPONENT_RAD_WAVE_HANDLED diff --git a/code/datums/elements/radiation_protected_clothing.dm b/code/datums/elements/radiation_protected_clothing.dm new file mode 100644 index 00000000000..152ed26e269 --- /dev/null +++ b/code/datums/elements/radiation_protected_clothing.dm @@ -0,0 +1,25 @@ +/// Marks the item as being radiation protected. +/// Adds the TRAIT_RADIATION_PROTECTED_CLOTHING trait, as well as adding an +/// extra bit to the examine descrpition. +/datum/element/radiation_protected_clothing + element_flags = ELEMENT_DETACH + +/datum/element/radiation_protected_clothing/Attach(datum/target) + . = ..() + + if (!isclothing(target)) + return ELEMENT_INCOMPATIBLE + + ADD_TRAIT(target, TRAIT_RADIATION_PROTECTED_CLOTHING, REF(src)) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) + +/datum/element/radiation_protected_clothing/Detach(datum/source, ...) + REMOVE_TRAIT(source, TRAIT_RADIATION_PROTECTED_CLOTHING, REF(src)) + UnregisterSignal(source, COMSIG_PARENT_EXAMINE) + + return ..() + +/datum/element/radiation_protected_clothing/proc/on_examine(datum/source, mob/user, list/examine_text) + SIGNAL_HANDLER + + examine_text += span_notice("A patch with a hazmat sign on the side suggests it would protect you from radiation.") diff --git a/code/datums/elements/radioactive.dm b/code/datums/elements/radioactive.dm new file mode 100644 index 00000000000..b1a68a314a1 --- /dev/null +++ b/code/datums/elements/radioactive.dm @@ -0,0 +1,38 @@ +#define DELAY_BETWEEN_RADIATION_PULSES (3 SECONDS) + +/// This atom will regularly pulse radiation. +/// As this is only applied on uranium objects for now, this defaults to uranium constants. +/datum/element/radioactive + element_flags = ELEMENT_DETACH + + var/list/radioactive_objects = list() + +/datum/element/radioactive/New() + START_PROCESSING(SSdcs, src) + +/datum/element/radioactive/Attach(datum/target) + . = ..() + + radioactive_objects[target] = world.time + +/datum/element/radioactive/Detach(datum/source, ...) + radioactive_objects -= source + + return ..() + +/datum/element/radioactive/process(delta_time) + for (var/radioactive_object in radioactive_objects) + if (world.time - radioactive_objects[radioactive_object] < DELAY_BETWEEN_RADIATION_PULSES) + continue + + radiation_pulse( + radioactive_object, + max_range = 3, + threshold = RAD_LIGHT_INSULATION, + chance = URANIUM_IRRADIATION_CHANCE, + minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME, + ) + + radioactive_objects[radioactive_object] = world.time + +#undef DELAY_BETWEEN_RADIATION_PULSES diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm index de8eadaf05c..49c92b59f97 100644 --- a/code/datums/looping_sounds/item_sounds.dm +++ b/code/datums/looping_sounds/item_sounds.dm @@ -1,41 +1,3 @@ -#define RAD_GEIGER_LOW 100 // Geiger counter sound thresholds -#define RAD_GEIGER_MEDIUM 500 -#define RAD_GEIGER_HIGH 1000 - -/datum/looping_sound/geiger - mid_sounds = list( - list('sound/items/geiger/low1.ogg'=1, 'sound/items/geiger/low2.ogg'=1, 'sound/items/geiger/low3.ogg'=1, 'sound/items/geiger/low4.ogg'=1), - list('sound/items/geiger/med1.ogg'=1, 'sound/items/geiger/med2.ogg'=1, 'sound/items/geiger/med3.ogg'=1, 'sound/items/geiger/med4.ogg'=1), - list('sound/items/geiger/high1.ogg'=1, 'sound/items/geiger/high2.ogg'=1, 'sound/items/geiger/high3.ogg'=1, 'sound/items/geiger/high4.ogg'=1), - list('sound/items/geiger/ext1.ogg'=1, 'sound/items/geiger/ext2.ogg'=1, 'sound/items/geiger/ext3.ogg'=1, 'sound/items/geiger/ext4.ogg'=1) - ) - mid_length = 2 - volume = 25 - var/last_radiation - -/datum/looping_sound/geiger/get_sound(starttime) - var/danger - switch(last_radiation) - if(RAD_BACKGROUND_RADIATION to RAD_GEIGER_LOW) - danger = 1 - if(RAD_GEIGER_LOW to RAD_GEIGER_MEDIUM) - danger = 2 - if(RAD_GEIGER_MEDIUM to RAD_GEIGER_HIGH) - danger = 3 - if(RAD_GEIGER_HIGH to INFINITY) - danger = 4 - else - return null - return ..(starttime, mid_sounds[danger]) - -/datum/looping_sound/geiger/stop() - . = ..() - last_radiation = 0 - -#undef RAD_GEIGER_LOW -#undef RAD_GEIGER_MEDIUM -#undef RAD_GEIGER_HIGH - /datum/looping_sound/reverse_bear_trap mid_sounds = list('sound/effects/clock_tick.ogg') mid_length = 3.5 diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index b9c42600876..eab1900cda8 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -216,4 +216,4 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm index 7a59ddcbf4c..c743561a2ad 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -33,7 +33,7 @@ Simple datum which is instanced once per type and is used for every object of sa ///This is the amount of value per 1 unit of the material var/value_per_unit = 0 ///Armor modifiers, multiplies an items normal armor vars by these amounts. - var/armor_modifiers = list(MELEE = 1, BULLET = 1, LASER = 1, ENERGY = 1, BOMB = 1, BIO = 1, RAD = 1, FIRE = 1, ACID = 1) + var/armor_modifiers = list(MELEE = 1, BULLET = 1, LASER = 1, ENERGY = 1, BOMB = 1, BIO = 1, FIRE = 1, ACID = 1) ///How beautiful is this material per unit. var/beauty_modifier = 0 ///Can be used to override the sound items make, lets add some SLOSHing. diff --git a/code/datums/materials/alloys.dm b/code/datums/materials/alloys.dm index 96ab370d640..f92df020843 100644 --- a/code/datums/materials/alloys.dm +++ b/code/datums/materials/alloys.dm @@ -36,7 +36,7 @@ value_per_unit = 0.135 strength_modifier = 1.25 integrity_modifier = 1.5 // Heavy duty. - armor_modifiers = list(MELEE = 1.4, BULLET = 1.4, LASER = 1.1, ENERGY = 1.1, BOMB = 1.5, BIO = 1, RAD = 1.5, FIRE = 1.1, ACID = 1) + armor_modifiers = list(MELEE = 1.4, BULLET = 1.4, LASER = 1.1, ENERGY = 1.1, BOMB = 1.5, BIO = 1, FIRE = 1.1, ACID = 1) sheet_type = /obj/item/stack/sheet/plasteel categories = list(MAT_CATEGORY_RIGID=TRUE, MAT_CATEGORY_BASE_RECIPES=TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) composition = list(/datum/material/iron=1, /datum/material/plasma=1) @@ -69,7 +69,7 @@ value_per_unit = 0.225 strength_modifier = 0.9 // It's a lightweight alloy. integrity_modifier = 1.3 - armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.4, ENERGY = 1.4, BOMB = 1.1, BIO = 1.2, RAD = 1.1, FIRE = 1.5, ACID = 1) + armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.4, ENERGY = 1.4, BOMB = 1.1, BIO = 1.2, FIRE = 1.5, ACID = 1) sheet_type = /obj/item/stack/sheet/mineral/plastitanium categories = list(MAT_CATEGORY_RIGID=TRUE, MAT_CATEGORY_BASE_RECIPES=TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) composition = list(/datum/material/titanium=1, /datum/material/plasma=1) @@ -86,7 +86,7 @@ alpha = 150 init_flags = MATERIAL_INIT_MAPLOAD integrity_modifier = 0.5 - armor_modifiers = list(MELEE = 0.8, BULLET = 0.8, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 1.2, RAD = 1, FIRE = 2, ACID = 2) + armor_modifiers = list(MELEE = 0.8, BULLET = 0.8, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 1.2, FIRE = 2, ACID = 2) sheet_type = /obj/item/stack/sheet/plasmaglass shard_type = /obj/item/shard/plasma value_per_unit = 0.075 @@ -104,7 +104,7 @@ greyscale_colors = "#cfbee0" alpha = 150 init_flags = MATERIAL_INIT_MAPLOAD - armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 0.8, ENERGY = 0.8, BOMB = 0.5, BIO = 1.2, RAD = 1, FIRE = 0.8, ACID = 2) + armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 0.8, ENERGY = 0.8, BOMB = 0.5, BIO = 1.2, FIRE = 0.8, ACID = 2) sheet_type = /obj/item/stack/sheet/titaniumglass shard_type = /obj/item/shard value_per_unit = 0.04 @@ -123,7 +123,7 @@ alpha = 150 init_flags = MATERIAL_INIT_MAPLOAD integrity_modifier = 1.1 - armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 1.2, ENERGY = 1.2, BOMB = 0.5, BIO = 1.2, RAD = 1, FIRE = 2, ACID = 2) + armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 1.2, ENERGY = 1.2, BOMB = 0.5, BIO = 1.2, FIRE = 2, ACID = 2) sheet_type = /obj/item/stack/sheet/plastitaniumglass shard_type = /obj/item/shard/plasma value_per_unit = 0.125 @@ -144,7 +144,7 @@ init_flags = MATERIAL_INIT_MAPLOAD strength_modifier = 1.5 // It's twice the density of plasteel and just as durable. Getting hit with it is going to HURT. integrity_modifier = 1.5 - armor_modifiers = list(MELEE = 1.4, BULLET = 1.4, LASER = 1.2, ENERGY = 1.2, BOMB = 1.5, BIO = 1.2, RAD = 1.5, FIRE = 1.2, ACID = 1.2) + armor_modifiers = list(MELEE = 1.4, BULLET = 1.4, LASER = 1.2, ENERGY = 1.2, BOMB = 1.5, BIO = 1.2, FIRE = 1.2, ACID = 1.2) sheet_type = /obj/item/stack/sheet/mineral/abductor value_per_unit = 0.4 categories = list(MAT_CATEGORY_RIGID=TRUE, MAT_CATEGORY_BASE_RECIPES=TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm index dde92886869..85db9694c56 100644 --- a/code/datums/materials/basemats.dm +++ b/code/datums/materials/basemats.dm @@ -25,7 +25,7 @@ shard_type = /obj/item/shard value_per_unit = 0.0025 beauty_modifier = 0.05 - armor_modifiers = list(MELEE = 0.2, BULLET = 0.2, LASER = 0, ENERGY = 1, BOMB = 0, BIO = 0.2, RAD = 0.2, FIRE = 1, ACID = 0.2) + armor_modifiers = list(MELEE = 0.2, BULLET = 0.2, LASER = 0, ENERGY = 1, BOMB = 0, BIO = 0.2, FIRE = 1, ACID = 0.2) /datum/material/glass/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5, sharpness = TRUE) //cronch @@ -62,7 +62,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/gold value_per_unit = 0.0625 beauty_modifier = 0.15 - armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1.1) + armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, FIRE = 0.7, ACID = 1.1) /datum/material/gold/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) @@ -79,7 +79,7 @@ Unless you know what you're doing, only use the first three numbers. They're in alpha = 132 value_per_unit = 0.25 beauty_modifier = 0.3 - armor_modifiers = list(MELEE = 1.3, BULLET = 1.3, LASER = 0.6, ENERGY = 1, BOMB = 1.2, BIO = 1, RAD = 1, FIRE = 1, ACID = 1) + armor_modifiers = list(MELEE = 1.3, BULLET = 1.3, LASER = 0.6, ENERGY = 1, BOMB = 1.2, BIO = 1, FIRE = 1, ACID = 1) /datum/material/diamond/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) @@ -95,15 +95,25 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/uranium value_per_unit = 0.05 beauty_modifier = 0.3 //It shines so beautiful - armor_modifiers = list(MELEE = 1.5, BULLET = 1.4, LASER = 0.5, ENERGY = 0.5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 1, ACID = 1) + armor_modifiers = list(MELEE = 1.5, BULLET = 1.4, LASER = 0.5, ENERGY = 0.5, BOMB = 0, BIO = 0, FIRE = 1, ACID = 1) /datum/material/uranium/on_applied(atom/source, amount, material_flags) . = ..() - source.AddComponent(/datum/component/radioactive, amount / 50, source, 0) //half-life of 0 because we keep on going. amount / 50 means 40 radiation per sheet. + + // Uranium structures should irradiate, but not items, because item irradiation is a lot more annoying. + // For example, consider picking up uranium as a miner. + if (isitem(source)) + return + + source.AddElement(/datum/element/radioactive) /datum/material/uranium/on_removed(atom/source, amount, material_flags) . = ..() - qdel(source.GetComponent(/datum/component/radioactive)) + + if (isitem(source)) + return + + source.RemoveElement(/datum/element/radioactive) /datum/material/uranium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.reagents.add_reagent(/datum/reagent/uranium, rand(4, 6)) @@ -121,7 +131,7 @@ Unless you know what you're doing, only use the first three numbers. They're in shard_type = /obj/item/shard/plasma value_per_unit = 0.1 beauty_modifier = 0.15 - armor_modifiers = list(MELEE = 1.4, BULLET = 0.7, LASER = 0, ENERGY = 1.2, BOMB = 0, BIO = 1.2, RAD = 1, FIRE = 0, ACID = 0.5) + armor_modifiers = list(MELEE = 1.4, BULLET = 0.7, LASER = 0, ENERGY = 1.2, BOMB = 0, BIO = 1.2, FIRE = 0, ACID = 0.5) /datum/material/plasma/on_applied(atom/source, amount, material_flags) . = ..() @@ -166,7 +176,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/bananium value_per_unit = 0.5 beauty_modifier = 0.5 - armor_modifiers = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 100, BIO = 0, RAD = 0, FIRE = 10, ACID = 0) //Clowns cant be blown away. + armor_modifiers = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 100, BIO = 0, FIRE = 10, ACID = 0) //Clowns cant be blown away. /datum/material/bananium/on_applied(atom/source, amount, material_flags) . = ..() @@ -194,7 +204,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/titanium value_per_unit = 0.0625 beauty_modifier = 0.05 - armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 1.25, BIO = 1, RAD = 1, FIRE = 0.7, ACID = 1) + armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 1.25, BIO = 1, FIRE = 0.7, ACID = 1) /datum/material/titanium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) @@ -210,7 +220,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/runite value_per_unit = 0.3 beauty_modifier = 0.5 - armor_modifiers = list(MELEE = 1.35, BULLET = 2, LASER = 0.5, ENERGY = 1.25, BOMB = 1.25, BIO = 1, RAD = 1, FIRE = 1.4, ACID = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle. + armor_modifiers = list(MELEE = 1.35, BULLET = 2, LASER = 0.5, ENERGY = 1.25, BOMB = 1.25, BIO = 1, FIRE = 1.4, ACID = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle. /datum/material/runite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) @@ -227,7 +237,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) value_per_unit = 0.0125 beauty_modifier = -0.01 - armor_modifiers = list(MELEE = 1.5, BULLET = 1.1, LASER = 0.3, ENERGY = 0.5, BOMB = 1, BIO = 1, RAD = 1, FIRE = 1.1, ACID = 1) + armor_modifiers = list(MELEE = 1.5, BULLET = 1.1, LASER = 0.3, ENERGY = 0.5, BOMB = 1, BIO = 1, FIRE = 1.1, ACID = 1) /datum/material/plastic/on_accidental_mat_consumption(mob/living/carbon/eater, obj/item/food) eater.reagents.add_reagent(/datum/reagent/plastic_polymers, rand(6, 8)) @@ -253,7 +263,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) value_per_unit = 0.01 beauty_modifier = 0.1 - armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 0.4, ENERGY = 0.4, BOMB = 1, BIO = 0.2, RAD = 0, FIRE = 0, ACID = 0.3) + armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 0.4, ENERGY = 0.4, BOMB = 1, BIO = 0.2, FIRE = 0, ACID = 0.3) texture_layer_icon_state = "woodgrain" /datum/material/wood/on_applied_obj(obj/source, amount, material_flags) @@ -286,7 +296,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/adamantine value_per_unit = 0.25 beauty_modifier = 0.4 - armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.3, ENERGY = 1.3, BOMB = 1, BIO = 1, RAD = 1, FIRE = 2.5, ACID = 1) + armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.3, ENERGY = 1.3, BOMB = 1, BIO = 1, FIRE = 2.5, ACID = 1) /datum/material/adamantine/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(20, BRUTE, BODY_ZONE_HEAD, wound_bonus = 10) @@ -302,7 +312,7 @@ Unless you know what you're doing, only use the first three numbers. They're in sheet_type = /obj/item/stack/sheet/mineral/mythril value_per_unit = 0.75 strength_modifier = 1.2 - armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.5, ENERGY = 1.5, BOMB = 1.5, BIO = 1.5, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 1.5, BULLET = 1.5, LASER = 1.5, ENERGY = 1.5, BOMB = 1.5, BIO = 1.5, FIRE = 1.5, ACID = 1.5) beauty_modifier = 0.5 /datum/material/mythril/on_applied_obj(atom/source, amount, material_flags) @@ -355,7 +365,7 @@ Unless you know what you're doing, only use the first three numbers. They're in value_per_unit = 0.35 beauty_modifier = 0.35 strength_modifier = 1.2 - armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 0.7, BIO = 1, RAD = 1, FIRE = 1.3, ACID = 1) + armor_modifiers = list(MELEE = 1.35, BULLET = 1.3, LASER = 1.3, ENERGY = 1.25, BOMB = 0.7, BIO = 1, FIRE = 1.3, ACID = 1) /datum/material/metalhydrogen/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) victim.apply_damage(15, BRUTE, BODY_ZONE_HEAD, wound_bonus = 7) @@ -372,7 +382,7 @@ Unless you know what you're doing, only use the first three numbers. They're in value_per_unit = 0.001 strength_modifier = 0.5 integrity_modifier = 0.1 - armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 1.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 1.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, FIRE = 1.5, ACID = 1.5) beauty_modifier = 0.25 turf_sound_override = FOOTSTEP_SAND texture_layer_icon_state = "sand" @@ -390,7 +400,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/mineral/sandstone value_per_unit = 0.0025 - armor_modifiers = list(MELEE = 0.5, BULLET = 0.5, LASER = 1.25, ENERGY = 0.5, BOMB = 0.5, BIO = 0.25, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 0.5, BULLET = 0.5, LASER = 1.25, ENERGY = 0.5, BOMB = 0.5, BIO = 0.25, FIRE = 1.5, ACID = 1.5) beauty_modifier = 0.3 turf_sound_override = FOOTSTEP_WOOD texture_layer_icon_state = "brick" @@ -403,7 +413,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/mineral/snow value_per_unit = 0.0025 - armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 0.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, RAD = 1.5, FIRE = 0.25, ACID = 1.5) + armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 0.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, FIRE = 0.25, ACID = 1.5) beauty_modifier = 0.3 turf_sound_override = FOOTSTEP_SAND texture_layer_icon_state = "sand" @@ -420,7 +430,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/runed_metal value_per_unit = 0.75 - armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 1, ENERGY = 1, BOMB = 1.2, BIO = 1.2, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 1.2, BULLET = 1.2, LASER = 1, ENERGY = 1, BOMB = 1.2, BIO = 1.2, FIRE = 1.5, ACID = 1.5) beauty_modifier = -0.15 texture_layer_icon_state = "runed" @@ -437,7 +447,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/bronze value_per_unit = 0.025 - armor_modifiers = list(MELEE = 1, BULLET = 1, LASER = 1, ENERGY = 1, BOMB = 1, BIO = 1, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 1, BULLET = 1, LASER = 1, ENERGY = 1, BOMB = 1, BIO = 1, FIRE = 1.5, ACID = 1.5) beauty_modifier = 0.2 /datum/material/paper @@ -448,7 +458,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/paperframes value_per_unit = 0.0025 - armor_modifiers = list(MELEE = 0.1, BULLET = 0.1, LASER = 0.1, ENERGY = 0.1, BOMB = 0.1, BIO = 0.1, RAD = 1.5, FIRE = 0, ACID = 1.5) + armor_modifiers = list(MELEE = 0.1, BULLET = 0.1, LASER = 0.1, ENERGY = 0.1, BOMB = 0.1, BIO = 0.1, FIRE = 0, ACID = 1.5) beauty_modifier = 0.3 turf_sound_override = FOOTSTEP_SAND texture_layer_icon_state = "paper" @@ -474,7 +484,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/cardboard value_per_unit = 0.003 - armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 0.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, RAD = 1.5, FIRE = 0, ACID = 1.5) + armor_modifiers = list(MELEE = 0.25, BULLET = 0.25, LASER = 0.25, ENERGY = 0.25, BOMB = 0.25, BIO = 0.25, FIRE = 0, ACID = 1.5) beauty_modifier = -0.1 /datum/material/cardboard/on_applied_obj(obj/source, amount, material_flags) @@ -498,7 +508,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/bone value_per_unit = 0.05 - armor_modifiers = list(MELEE = 1.2, BULLET = 0.75, LASER = 0.75, ENERGY = 1.2, BOMB = 1, BIO = 1, RAD = 1.5, FIRE = 1.5, ACID = 1.5) + armor_modifiers = list(MELEE = 1.2, BULLET = 0.75, LASER = 0.75, ENERGY = 1.2, BOMB = 1, BIO = 1, FIRE = 1.5, ACID = 1.5) beauty_modifier = -0.2 /datum/material/bamboo @@ -509,7 +519,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/mineral/bamboo value_per_unit = 0.0025 - armor_modifiers = list(MELEE = 0.5, BULLET = 0.5, LASER = 0.5, ENERGY = 0.5, BOMB = 0.5, BIO = 0.51, RAD = 1.5, FIRE = 0.5, ACID = 1.5) + armor_modifiers = list(MELEE = 0.5, BULLET = 0.5, LASER = 0.5, ENERGY = 0.5, BOMB = 0.5, BIO = 0.51, FIRE = 0.5, ACID = 1.5) beauty_modifier = 0.2 turf_sound_override = FOOTSTEP_WOOD texture_layer_icon_state = "bamboo" @@ -522,7 +532,7 @@ Unless you know what you're doing, only use the first three numbers. They're in categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_ITEM_MATERIAL=TRUE) sheet_type = /obj/item/stack/sheet/mineral/zaukerite value_per_unit = 0.45 - armor_modifiers = list(MELEE = 0.9, BULLET = 0.9, LASER = 1.75, ENERGY = 1.75, BOMB = 0.5, BIO = 1, RAD = 1.75, FIRE = 0.1, ACID = 1) + armor_modifiers = list(MELEE = 0.9, BULLET = 0.9, LASER = 1.75, ENERGY = 1.75, BOMB = 0.5, BIO = 1, FIRE = 0.1, ACID = 1) beauty_modifier = 0.001 /datum/material/zaukerite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) diff --git a/code/datums/materials/hauntium.dm b/code/datums/materials/hauntium.dm index 44e96b36d03..431b96f188d 100644 --- a/code/datums/materials/hauntium.dm +++ b/code/datums/materials/hauntium.dm @@ -10,7 +10,7 @@ beauty_modifier = 0.25 //pretty good but only the undead can actually make use of these modifiers strength_modifier = 1.2 - armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, RAD = 1, FIRE = 1, ACID = 0.7) + armor_modifiers = list(MELEE = 1.1, BULLET = 1.1, LASER = 1.15, ENERGY = 1.15, BOMB = 1, BIO = 1, FIRE = 1, ACID = 0.7) /datum/material/hauntium/on_applied_obj(obj/o, amount, material_flags) . = ..() diff --git a/code/datums/materials/meat.dm b/code/datums/materials/meat.dm index c020eafe9f7..8419277667a 100644 --- a/code/datums/materials/meat.dm +++ b/code/datums/materials/meat.dm @@ -10,7 +10,7 @@ value_per_unit = 0.05 beauty_modifier = -0.3 strength_modifier = 0.7 - armor_modifiers = list(MELEE = 0.3, BULLET = 0.3, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 0, RAD = 0.7, FIRE = 1, ACID = 1) + armor_modifiers = list(MELEE = 0.3, BULLET = 0.3, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 0, FIRE = 1, ACID = 1) item_sound_override = 'sound/effects/meatslap.ogg' turf_sound_override = FOOTSTEP_MEAT texture_layer_icon_state = "meat" diff --git a/code/datums/materials/pizza.dm b/code/datums/materials/pizza.dm index dcd140d1ea3..0d796774497 100644 --- a/code/datums/materials/pizza.dm +++ b/code/datums/materials/pizza.dm @@ -10,7 +10,7 @@ value_per_unit = 0.05 beauty_modifier = 0.1 strength_modifier = 0.7 - armor_modifiers = list(MELEE = 0.3, BULLET = 0.3, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 0, RAD = 0.7, FIRE = 1, ACID = 1) + armor_modifiers = list(MELEE = 0.3, BULLET = 0.3, LASER = 1.2, ENERGY = 1.2, BOMB = 0.3, BIO = 0, FIRE = 1, ACID = 1) item_sound_override = 'sound/effects/meatslap.ogg' turf_sound_override = FOOTSTEP_MEAT texture_layer_icon_state = "pizza" diff --git a/code/datums/mutations/radioactive.dm b/code/datums/mutations/radioactive.dm index 516220925da..cd61e0d2a66 100644 --- a/code/datums/mutations/radioactive.dm +++ b/code/datums/mutations/radioactive.dm @@ -8,9 +8,18 @@ difficulty = 8 power_coeff = 1 + COOLDOWN_DECLARE(last_radioactive_pulse) /datum/mutation/human/radioactive/on_life(delta_time, times_fired) - radiation_pulse(owner, 10 * GET_MUTATION_POWER(src) * delta_time) + if (!COOLDOWN_FINISHED(src, last_radioactive_pulse)) + return + + COOLDOWN_START(src, last_radioactive_pulse, 5 SECONDS) + radiation_pulse( + owner, + max_range = 1 * (GET_MUTATION_POWER(src) * 2), + threshold = RAD_MEDIUM_INSULATION, + ) /datum/mutation/human/radioactive/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() diff --git a/code/datums/radiation_wave.dm b/code/datums/radiation_wave.dm deleted file mode 100644 index 74319aa3dd1..00000000000 --- a/code/datums/radiation_wave.dm +++ /dev/null @@ -1,141 +0,0 @@ -/datum/radiation_wave - /// The thing that spawned this radiation wave - var/source - /// The center of the wave - var/turf/master_turf - /// How far we've moved - var/steps=0 - /// How strong it was originaly - var/intensity - /// How much contaminated material it still has - var/remaining_contam - /// Higher than 1 makes it drop off faster, 0.5 makes it drop off half etc - var/range_modifier - /// The direction of movement - var/move_dir - /// The directions to the side of the wave, stored for easy looping - var/list/__dirs - /// Whether or not this radiation wave can create contaminated objects - var/can_contaminate - -/datum/radiation_wave/New(atom/_source, dir, _intensity=0, _range_modifier=RAD_DISTANCE_COEFFICIENT, _can_contaminate=TRUE) - - source = "[_source] \[[REF(_source)]\]" - - master_turf = get_turf(_source) - - move_dir = dir - __dirs = list() - __dirs+=turn(dir, 90) - __dirs+=turn(dir, -90) - - intensity = _intensity - remaining_contam = intensity - range_modifier = _range_modifier - can_contaminate = _can_contaminate - - START_PROCESSING(SSradiation, src) - -/datum/radiation_wave/Destroy() - . = QDEL_HINT_IWILLGC - STOP_PROCESSING(SSradiation, src) - ..() - -/datum/radiation_wave/process(delta_time) - master_turf = get_step(master_turf, move_dir) - if(!master_turf) - qdel(src) - return - steps += delta_time - var/list/atoms = get_rad_atoms() - - var/strength - if(steps>1) - strength = INVERSE_SQUARE(intensity, max(range_modifier*steps, 1), 1) - else - strength = intensity - - if(strength= RAD_MINIMUM_CONTAMINATION - var/contamination_strength = (strength-RAD_MINIMUM_CONTAMINATION) * RAD_CONTAMINATION_STR_COEFFICIENT - contamination_strength = max(contamination_strength, RAD_BACKGROUND_RADIATION) - // It'll never reach 100% chance but the further out it gets the more likely it'll contaminate - var/contamination_chance = 100 - (90 / (1 + steps * 0.1)) - for(var/k in atoms) - var/atom/thing = k - if(QDELETED(thing)) - continue - thing.rad_act(strength) - - // This list should only be for types which don't get contaminated but you want to look in their contents - // If you don't want to look in their contents and you don't want to rad_act them: - // modify the ignored_things list in __HELPERS/radiation.dm instead - var/static/list/blacklisted = typecacheof(list( - /turf, - /obj/structure/cable, - /obj/machinery/atmospherics, - /obj/item/ammo_casing, - /obj/item/implant, - /obj/singularity, - /obj/energy_ball, - /obj/narsie, - )) - if(!can_contaminate || !can_contam || blacklisted[thing.type]) - continue - if(thing.flags_1 & RAD_NO_CONTAMINATE_1 || SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION) - continue - - if(contamination_strength > remaining_contam) - contamination_strength = remaining_contam - if(!prob(contamination_chance)) - continue - if(SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION) - continue - remaining_contam -= contamination_strength - if(remaining_contam < RAD_BACKGROUND_RADIATION) - can_contaminate = FALSE - thing.AddComponent(/datum/component/radioactive, contamination_strength, source) diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index 544bb00fcb1..91c912256bc 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -29,21 +29,28 @@ /datum/weather/rad_storm/weather_act(mob/living/L) - var/resist = L.getarmor(null, RAD) - if(prob(40)) - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if(H.dna && !HAS_TRAIT(H, TRAIT_GENELESS)) - if(prob(max(0,100-resist))) - H.random_mutate_unique_identity() - H.random_mutate_unique_features() - if(prob(50)) - if(prob(90)) - H.easy_random_mutate(NEGATIVE+MINOR_NEGATIVE) - else - H.easy_random_mutate(POSITIVE) - H.domutcheck() - L.rad_act(20) + if(!prob(40)) + return + + if(!ishuman(L)) + return + + var/mob/living/carbon/human/H = L + if(!H.dna || HAS_TRAIT(H, TRAIT_GENELESS)) + return + + if (SSradiation.wearing_rad_protected_clothing(H)) + return + + H.random_mutate_unique_identity() + H.random_mutate_unique_features() + + if(prob(50)) + if(prob(90)) + H.easy_random_mutate(NEGATIVE+MINOR_NEGATIVE) + else + H.easy_random_mutate(POSITIVE) + H.domutcheck() /datum/weather/rad_storm/end() if(..()) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 12ae08306ad..016bf6a2855 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -936,14 +936,6 @@ /atom/proc/emag_act(mob/user, obj/item/card/emag/emag_card) SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT, user, emag_card) -/** - * Respond to a radioactive wave hitting this atom - * - * Default behaviour is to send [COMSIG_ATOM_RAD_ACT] and return - */ -/atom/proc/rad_act(strength) - SEND_SIGNAL(src, COMSIG_ATOM_RAD_ACT, strength) - /** * Respond to narsie eating our atom * @@ -1221,7 +1213,6 @@ VV_DROPDOWN_OPTION(VV_HK_ADD_REAGENT, "Add Reagent") VV_DROPDOWN_OPTION(VV_HK_TRIGGER_EMP, "EMP Pulse") VV_DROPDOWN_OPTION(VV_HK_TRIGGER_EXPLOSION, "Explosion") - VV_DROPDOWN_OPTION(VV_HK_RADIATE, "Radiate") VV_DROPDOWN_OPTION(VV_HK_EDIT_FILTERS, "Edit Filters") VV_DROPDOWN_OPTION(VV_HK_ADD_AI, "Add AI controller") if(greyscale_colors) @@ -1269,11 +1260,6 @@ if(href_list[VV_HK_TRIGGER_EMP] && check_rights(R_FUN)) usr.client.cmd_admin_emp(src) - if(href_list[VV_HK_RADIATE] && check_rights(R_FUN)) - var/strength = input(usr, "Choose the radiation strength.", "Choose the strength.") as num|null - if(!isnull(strength)) - AddComponent(/datum/component/radioactive, strength, src) - if(href_list[VV_HK_SHOW_HIDDENPRINTS] && check_rights(R_ADMIN)) usr.client.cmd_show_hiddenprints(src) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 7e04aee2660..a4c9ed4cd41 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -146,7 +146,7 @@ /obj/machinery/Initialize(mapload) if(!armor) - armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 70) + armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) . = ..() GLOB.machines += src diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 947255d4ecf..2a28d35cb95 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -7,7 +7,7 @@ layer = PROJECTILE_HIT_THRESHHOLD_LAYER plane = FLOOR_PLANE max_integrity = 200 - armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) var/uses = 20 var/cooldown = 0 diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index d1c86e48452..b003b40958b 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -10,7 +10,7 @@ var/device_type = null var/id = null var/initialized_button = 0 - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, RAD = 100, FIRE = 90, ACID = 70) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, FIRE = 90, ACID = 70) use_power = IDLE_POWER_USE idle_power_usage = 2 resistance_flags = LAVA_PROOF | FIRE_PROOF diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index a30361160fa..dea59b8e612 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -13,7 +13,7 @@ layer = WALL_OBJ_LAYER resistance_flags = FIRE_PROOF damage_deflection = 12 - armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 50) + armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 90, ACID = 50) max_integrity = 100 integrity_failure = 0.5 var/default_camera_icon = "camera" //the camera's base icon used by update_appearance - icon_state is primarily used for mapping display purposes. diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 1c2f627413b..ca9e62879e5 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -8,7 +8,7 @@ active_power_usage = 300 max_integrity = 200 integrity_failure = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 40, ACID = 20) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 40, ACID = 20) var/brightness_on = 1 var/icon_keyboard = "generic_key" var/icon_screen = "generic" diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index eb5cc990f5c..0817eb3f095 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -9,21 +9,21 @@ /// How much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT #define JOKER_UPGRADE 3000 -/// Maximum value for radiaton strength when pulsing enzymes -#define RADIATION_STRENGTH_MAX 15 +/// Maximum value for genetic damage strength when pulsing enzymes +#define GENETIC_DAMAGE_STRENGTH_MAX 15 /// Larger multipliers will affect the range of values when pulsing enzymes -#define RADIATION_STRENGTH_MULTIPLIER 1 +#define GENETIC_DAMAGE_STRENGTH_MULTIPLIER 1 -/// Maximum value for the radiation pulse duration when pulsing enzymes -#define RADIATION_DURATION_MAX 30 +/// Maximum value for the genetic damage pulse duration when pulsing enzymes +#define GENETIC_DAMAGE_DURATION_MAX 30 /// Large values reduce pulse accuracy and may pulse other enzymes than selected -#define RADIATION_ACCURACY_MULTIPLIER 3 +#define GENETIC_DAMAGE_ACCURACY_MULTIPLIER 3 /// Special status indicating a scanner occupant is transforming eg. from monkey to human #define STATUS_TRANSFORMING 4 -/// Multiplier for how much radiation received from DNA Console functionality -#define RADIATION_IRRADIATION_MULTIPLIER 1 +/// Multiplier for how much genetic damage received from DNA Console functionality +#define GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIER 1 /// Flag for the mutation ref search system. Search will include scanner occupant #define SEARCH_OCCUPANT 1 @@ -37,8 +37,8 @@ /// The base cooldown of the ability to copy enzymes and genetic makeup to people. #define ENZYME_COPY_BASE_COOLDOWN (60 SECONDS) -#define RAD_PULSE_UNIQUE_IDENTITY "ui" -#define RAD_PULSE_UNIQUE_FEATURES "uf" +#define GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY "ui" +#define GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES "uf" /obj/machinery/computer/scan_consolenew name = "DNA Console" @@ -55,10 +55,10 @@ /// Link to the techweb's stored research. Used to retrieve stored mutations var/datum/techweb/stored_research - /// Duration for enzyme radiation pulses - var/radduration = 2 - /// Strength for enzyme radiation pulses - var/radstrength = 1 + /// Duration for enzyme genetic damage pulses + var/pulse_duration = 2 + /// Strength for enzyme genetic damage pulses + var/pulse_strength = 1 /// Maximum number of enzymes we can store var/list/genetic_makeup_buffer[NUMBER_OF_BUFFERS] /// List of all mutations stored on the DNA Console @@ -88,11 +88,11 @@ var/list/delayed_action = null /// Index of the enzyme being modified during delayed enzyme pulse operations - var/rad_pulse_index = 0 + var/genetic_damage_pulse_index = 0 /// World time when the enzyme pulse should complete - var/rad_pulse_timer = 0 + var/genetic_damage_pulse_timer = 0 /// Which dna string to edit with the pulse - var/rad_pulse_type + var/genetic_damage_pulse_type /// Cooldown for the genetic makeup transfer actions. COOLDOWN_DECLARE(enzyme_copy_timer) @@ -109,7 +109,7 @@ /// Used for setting tgui data - Is CRISPR ready? var/is_crispr_ready = FALSE /// Used for setting tgui data - Wheher an enzyme pulse operation is ongoing - var/is_pulsing_rads = FALSE + var/is_pulsing = FALSE /// Used for setting tgui data - Time until scramble is ready var/time_to_scramble = 0 /// Used for setting tgui data - Time until joker is ready @@ -147,10 +147,10 @@ /obj/machinery/computer/scan_consolenew/process() . = ..() - // This is for pulsing the UI element with radiation as part of genetic makeup - // If rad_pulse_index > 0 then it means we're attempting a rad pulse - if((rad_pulse_index > 0) && (rad_pulse_timer <= world.time) && (rad_pulse_type == RAD_PULSE_UNIQUE_IDENTITY || rad_pulse_type == RAD_PULSE_UNIQUE_FEATURES)) - rad_pulse() + // This is for pulsing the UI element with genetic damage as part of genetic makeup + // If genetic_damage_pulse_index > 0 then it means we're attempting a pulse + if((genetic_damage_pulse_index > 0) && (genetic_damage_pulse_timer <= world.time) && (genetic_damage_pulse_type == GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY || genetic_damage_pulse_type == GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES)) + genetic_damage_pulse() return /obj/machinery/computer/scan_consolenew/attackby(obj/item/I, mob/user, params) @@ -264,8 +264,8 @@ is_injector_ready = (injectorready < world.time) time_to_injector = round((injectorready - world.time)/10) - is_pulsing_rads = ((rad_pulse_index > 0) && (rad_pulse_timer > world.time)) - time_to_pulse = round((rad_pulse_timer - world.time)/10) + is_pulsing = ((genetic_damage_pulse_index > 0) && (genetic_damage_pulse_timer > world.time)) + time_to_pulse = round((genetic_damage_pulse_timer - world.time)/10) is_crispr_ready = (crispr_charges > 0) @@ -292,10 +292,10 @@ if(can_use_scanner) data["scannerOpen"] = connected_scanner.state_open data["scannerLocked"] = connected_scanner.locked - data["radStrength"] = radstrength - data["radDuration"] = radduration - data["stdDevStr"] = radstrength * RADIATION_STRENGTH_MULTIPLIER - switch(RADIATION_ACCURACY_MULTIPLIER / (radduration + (connected_scanner.precision_coeff ** 2))) //hardcoded values from a z-table for a normal distribution + data["pulseStrength"] = pulse_strength + data["pulseDuration"] = pulse_duration + data["stdDevStr"] = pulse_strength * GENETIC_DAMAGE_STRENGTH_MULTIPLIER + switch(GENETIC_DAMAGE_ACCURACY_MULTIPLIER / (pulse_duration + (connected_scanner.precision_coeff ** 2))) //hardcoded values from a z-table for a normal distribution if(0 to 0.25) data["stdDevAcc"] = ">95 %" if(0.25 to 0.5) @@ -313,20 +313,20 @@ else data["subjectStatus"] = scanner_occupant.stat data["subjectHealth"] = scanner_occupant.health - data["subjectRads"] = scanner_occupant.radiation/(RAD_MOB_SAFE/100) data["subjectEnzymes"] = scanner_occupant.dna.unique_enzymes data["isMonkey"] = ismonkey(scanner_occupant) data["subjectUNI"] = scanner_occupant.dna.unique_identity data["subjectUF"] = scanner_occupant.dna.unique_features data["storage"]["occupant"] = tgui_occupant_mutations - //data["subjectMutations"] = tgui_occupant_mutations + + var/datum/component/genetic_damage/genetic_damage = scanner_occupant.GetComponent(/datum/component/genetic_damage) + data["subjectDamage"] = genetic_damage ? round((genetic_damage.total_damage / genetic_damage.minimum_before_damage) * 100, 0.1) : 0 else data["subjectName"] = null data["subjectStatus"] = null data["subjectHealth"] = null - data["subjectRads"] = null + data["subjectDamage"] = null data["subjectEnzymes"] = null - //data["subjectMutations"] = null data["storage"]["occupant"] = null data["hasDelayedAction"] = (delayed_action != null) @@ -338,8 +338,8 @@ data["scrambleSeconds"] = time_to_scramble data["jokerSeconds"] = time_to_joker data["injectorSeconds"] = time_to_injector - data["isPulsingRads"] = is_pulsing_rads - data["radPulseSeconds"] = time_to_pulse + data["isPulsing"] = is_pulsing + data["timeToPulse"] = time_to_pulse data["geneticMakeupCooldown"] = COOLDOWN_TIMELEFT(src, enzyme_copy_timer) / 10 if(diskette != null) @@ -418,7 +418,7 @@ scanner_occupant.dna.generate_dna_blocks() scrambleready = world.time + SCRAMBLE_TIMEOUT to_chat(usr,span_notice("DNA scrambled.")) - scanner_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER*50/(connected_scanner.damage_coeff ** 2) + scanner_occupant.AddComponent(/datum/component/genetic_damage, GENETIC_DAMAGE_STRENGTH_MULTIPLIER*50/(connected_scanner.damage_coeff ** 2)) return // Check whether a specific mutation is eligible for discovery within the @@ -523,10 +523,10 @@ scanner_occupant.dna.default_mutation_genes[path] = defaultseq // Copy genome to scanner occupant and do some basic mutation checks as - // we've increased the occupant rads + // we've increased the occupant genetic damage sequence = copytext(sequence, 1, genepos) + newgene + copytext(sequence, genepos + 1) scanner_occupant.dna.mutation_index[path] = sequence - scanner_occupant.radiation += RADIATION_STRENGTH_MULTIPLIER/connected_scanner.damage_coeff + scanner_occupant.AddComponent(/datum/component/genetic_damage, GENETIC_DAMAGE_STRENGTH_MULTIPLIER/connected_scanner.damage_coeff) scanner_occupant.domutcheck() // GUARD CHECK - Modifying genetics can lead to edge cases where the @@ -774,7 +774,7 @@ I.name = "[HM.name] activator" I.research = TRUE // If there's an operational connected scanner, we can use its upgrades - // to improve our injector's radiation generation + // to improve our injector's genetic damage generation if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff*4 injectorready = world.time + INJECTOR_TIMEOUT * (1 - 0.1 * connected_scanner.precision_coeff) @@ -784,7 +784,7 @@ I.name = "[HM.name] mutator" I.doitanyway = TRUE // If there's an operational connected scanner, we can use its upgrades - // to improve our injector's radiation generation + // to improve our injector's genetic damage generation if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff injectorready = world.time + INJECTOR_TIMEOUT * 5 * (1 - 0.1 * connected_scanner.precision_coeff) @@ -1071,7 +1071,7 @@ // later on in code if("set_pulse_strength") var/value = round(text2num(params["val"])) - radstrength = WRAP(value, 1, RADIATION_STRENGTH_MAX+1) + pulse_strength = WRAP(value, 1, GENETIC_DAMAGE_STRENGTH_MAX+1) return // Sets the Genetic Makeup pulse duration @@ -1080,7 +1080,7 @@ // later on in code if("set_pulse_duration") var/value = round(text2num(params["val"])) - radduration = WRAP(value, 1, RADIATION_DURATION_MAX+1) + pulse_duration = WRAP(value, 1, GENETIC_DAMAGE_DURATION_MAX+1) return // Saves Genetic Makeup information to disk @@ -1245,7 +1245,7 @@ I.fields = list("UI"=buffer_slot["UI"]) // If there is a connected scanner, we can use its upgrades to reduce - // the radiation generated by this injector + // the genetic damage generated by this injector if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff if("ue") @@ -1260,7 +1260,7 @@ I.fields = list("name"=buffer_slot["name"], "UE"=buffer_slot["UE"], "blood_type"=buffer_slot["blood_type"]) // If there is a connected scanner, we can use its upgrades to reduce - // the radiation generated by this injector + // the genetic damage generated by this injector if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff if("uf") @@ -1275,7 +1275,7 @@ I.fields = list("name"=buffer_slot["name"], "UF"=buffer_slot["UF"]) // If there is a connected scanner, we can use its upgrades to reduce - // the radiation generated by this injector + // the genetic damage generated by this injector if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff if("mixed") @@ -1290,7 +1290,7 @@ I.fields = list("UI"=buffer_slot["UI"],"name"=buffer_slot["name"], "UE"=buffer_slot["UE"], "UF"=buffer_slot["UF"], "blood_type"=buffer_slot["blood_type"]) // If there is a connected scanner, we can use its upgrades to reduce - // the radiation generated by this injector + // the genetic damage generated by this injector if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff @@ -1390,19 +1390,19 @@ // Set the appropriate timer, string, and index to pulse. This is then managed // later on in process() var/type = params["type"] - rad_pulse_type = type + genetic_damage_pulse_type = type var/len switch(type) if("ui") len = length(scanner_occupant.dna.unique_identity) if("uf") len = length(scanner_occupant.dna.unique_features) - rad_pulse_timer = world.time + (radduration*10) - rad_pulse_index = WRAP(text2num(params["index"]), 1, len+1) + genetic_damage_pulse_timer = world.time + (pulse_duration*10) + genetic_damage_pulse_index = WRAP(text2num(params["index"]), 1, len+1) begin_processing() return - // Cancels the delayed action - In this context it is not the radiation + // Cancels the delayed action - In this context it is not the genetic damage // pulse from "makeup_pulse", which can not be cancelled. It is instead // the delayed genetic transfer from "makeup_delay" if("cancel_delay") @@ -1484,7 +1484,7 @@ I.name = "Advanced [inj_name] injector" // If there's an operational connected scanner, we can use its upgrades - // to improve our injector's radiation generation + // to improve our injector's genetic damage generation if(scanner_operational()) I.damage_coeff = connected_scanner.damage_coeff injectorready = world.time + INJECTOR_TIMEOUT * 8 * (1 - 0.1 * connected_scanner.precision_coeff) @@ -1609,9 +1609,9 @@ // necessary occupant guard checks. If you call this code yourself, please // apply can_modify_occupant() or equivalent checks first. - // Pre-calc the rad increase since we'll be using it in all the possible + // Pre-calc the damage increase since we'll be using it in all the possible // operations - var/rad_increase = rand(100/(connected_scanner.damage_coeff ** 2),250/(connected_scanner.damage_coeff ** 2)) + var/damage_increase = rand(100/(connected_scanner.damage_coeff ** 2),250/(connected_scanner.damage_coeff ** 2)) switch(type) if("ui") @@ -1624,7 +1624,7 @@ COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.dna.unique_identity = buffer_slot["UI"] scanner_occupant.updateappearance(mutations_overlay_update=1) - scanner_occupant.radiation += rad_increase + scanner_occupant.AddComponent(/datum/component/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE if("uf") @@ -1637,7 +1637,7 @@ COOLDOWN_START(src, enzyme_copy_timer, ENZYME_COPY_BASE_COOLDOWN) scanner_occupant.dna.unique_features = buffer_slot["UF"] scanner_occupant.updateappearance(mutcolor_update=1, mutations_overlay_update=1) - scanner_occupant.radiation += rad_increase + scanner_occupant.AddComponent(/datum/component/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE if("ue") @@ -1652,7 +1652,7 @@ scanner_occupant.name = buffer_slot["name"] scanner_occupant.dna.unique_enzymes = buffer_slot["UE"] scanner_occupant.dna.blood_type = buffer_slot["blood_type"] - scanner_occupant.radiation += rad_increase + scanner_occupant.AddComponent(/datum/component/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE if("mixed") @@ -1670,7 +1670,7 @@ scanner_occupant.name = buffer_slot["name"] scanner_occupant.dna.unique_enzymes = buffer_slot["UE"] scanner_occupant.dna.blood_type = buffer_slot["blood_type"] - scanner_occupant.radiation += rad_increase + scanner_occupant.AddComponent(/datum/component/genetic_damage, damage_increase) scanner_occupant.domutcheck() return TRUE @@ -1704,7 +1704,7 @@ // DNA Modification: // requires DNA // this DNA can not be bad - // is done via radiation bursts, so radiation immune carbons are not viable + // is done via genetic damage bursts, so genetic damage immune carbons are not viable // And the DNA Scanner itself must have a valid scan level if(scanner_occupant.has_dna() && !HAS_TRAIT(scanner_occupant, TRAIT_GENELESS) && !HAS_TRAIT(scanner_occupant, TRAIT_BADDNA) || (connected_scanner.scan_level == 3)) return TRUE @@ -1772,10 +1772,10 @@ * scanner occupant var. */ /obj/machinery/computer/scan_consolenew/proc/on_scanner_open() - // If we had a radiation pulse action ongoing, we want to stop this. + // If we had a genetic damage pulse action ongoing, we want to stop this. // Imagine it being like a microwave stopping when you open the door. - rad_pulse_index = 0 - rad_pulse_timer = 0 + genetic_damage_pulse_index = 0 + genetic_damage_pulse_timer = 0 end_processing() scanner_occupant = null @@ -2115,11 +2115,11 @@ * * Arguments: * * position - Index of the intended enzyme element to pulse - * * radduration - Duration of intended radiation pulse + * * pulse_duration - Duration of intended genetic damage pulse * * number_of_blocks - Number of individual data blocks in the pulsed enzyme */ -/obj/machinery/computer/scan_consolenew/proc/randomize_radiation_accuracy(position, radduration, number_of_blocks) - var/val = round(gaussian(0, RADIATION_ACCURACY_MULTIPLIER/radduration) + position, 1) +/obj/machinery/computer/scan_consolenew/proc/randomize_GENETIC_DAMAGE_accuracy(position, pulse_duration, number_of_blocks) + var/val = round(gaussian(0, GENETIC_DAMAGE_ACCURACY_MULTIPLIER/pulse_duration) + position, 1) return WRAP(val, 1, number_of_blocks+1) /** @@ -2129,11 +2129,11 @@ * * Arguments: * * input - Enzyme identity element to scramble, expected hex value - * * rs - Strength of radiation pulse, increases the range of possible outcomes + * * rs - Strength of genetic damage pulse, increases the range of possible outcomes */ /obj/machinery/computer/scan_consolenew/proc/scramble(input,rs) var/length = length(input) - var/ran = gaussian(0, rs*RADIATION_STRENGTH_MULTIPLIER) + var/ran = gaussian(0, rs*GENETIC_DAMAGE_STRENGTH_MULTIPLIER) if(ran == 0) ran = pick(-1,1) //hacky, statistically should almost never happen. 0-chance makes people mad though else if(ran < 0) @@ -2143,47 +2143,47 @@ return num2hex(WRAP(hex2num(input)+ran, 0, 16**length), length) /** - * Performs the enzyme radiation pulse. + * Performs the enzyme genetic damage pulse. * * Donor code from previous DNA Console iteration. Called from process() when - * there is a radiation pulse in progress. Ends processing. + * there is a genetic damage pulse in progress. Ends processing. */ -/obj/machinery/computer/scan_consolenew/proc/rad_pulse() +/obj/machinery/computer/scan_consolenew/proc/genetic_damage_pulse() // GUARD CHECK - Can we genetically modify the occupant? Includes scanner // operational guard checks. // If we can't, abort the procedure. - if(!can_modify_occupant() || (rad_pulse_type != RAD_PULSE_UNIQUE_IDENTITY && rad_pulse_type != RAD_PULSE_UNIQUE_FEATURES)) - rad_pulse_index = 0 + if(!can_modify_occupant() || (genetic_damage_pulse_type != GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY && genetic_damage_pulse_type != GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES)) + genetic_damage_pulse_index = 0 end_processing() return var/len - switch(rad_pulse_type) - if(RAD_PULSE_UNIQUE_IDENTITY) + switch(genetic_damage_pulse_type) + if(GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY) len = length(scanner_occupant.dna.unique_identity) - if(RAD_PULSE_UNIQUE_FEATURES) + if(GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES) len = length(scanner_occupant.dna.unique_features) - var/num = randomize_radiation_accuracy(rad_pulse_index, radduration + (connected_scanner.precision_coeff ** 2), len) //Each manipulator level above 1 makes randomization as accurate as selected time + manipulator lvl^2 //Value is this high for the same reason as with laser - not worth the hassle of upgrading if the bonus is low + var/num = randomize_GENETIC_DAMAGE_accuracy(genetic_damage_pulse_index, pulse_duration + (connected_scanner.precision_coeff ** 2), len) //Each manipulator level above 1 makes randomization as accurate as selected time + manipulator lvl^2 //Value is this high for the same reason as with laser - not worth the hassle of upgrading if the bonus is low var/hex - switch(rad_pulse_type) - if(RAD_PULSE_UNIQUE_IDENTITY) + switch(genetic_damage_pulse_type) + if(GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY) hex = copytext(scanner_occupant.dna.unique_identity, num, num+1) - if(RAD_PULSE_UNIQUE_FEATURES) + if(GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES) hex = copytext(scanner_occupant.dna.unique_features, num, num+1) - hex = scramble(hex, radstrength, radduration) + hex = scramble(hex, pulse_strength, pulse_duration) - switch(rad_pulse_type) - if(RAD_PULSE_UNIQUE_IDENTITY) + switch(genetic_damage_pulse_type) + if(GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY) scanner_occupant.dna.unique_identity = copytext(scanner_occupant.dna.unique_identity, 1, num) + hex + copytext(scanner_occupant.dna.unique_identity, num + 1) - if(RAD_PULSE_UNIQUE_FEATURES) + if(GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES) scanner_occupant.dna.unique_features = copytext(scanner_occupant.dna.unique_features, 1, num) + hex + copytext(scanner_occupant.dna.unique_features, num + 1) scanner_occupant.updateappearance(mutcolor_update=1, mutations_overlay_update=1) - rad_pulse_index = 0 - rad_pulse_type = null + genetic_damage_pulse_index = 0 + genetic_damage_pulse_type = null end_processing() return @@ -2241,13 +2241,13 @@ #undef JOKER_TIMEOUT #undef JOKER_UPGRADE -#undef RADIATION_STRENGTH_MAX -#undef RADIATION_STRENGTH_MULTIPLIER +#undef GENETIC_DAMAGE_STRENGTH_MAX +#undef GENETIC_DAMAGE_STRENGTH_MULTIPLIER -#undef RADIATION_DURATION_MAX -#undef RADIATION_ACCURACY_MULTIPLIER +#undef GENETIC_DAMAGE_DURATION_MAX +#undef GENETIC_DAMAGE_ACCURACY_MULTIPLIER -#undef RADIATION_IRRADIATION_MULTIPLIER +#undef GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIER #undef STATUS_TRANSFORMING diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 867790cd885..f63edfb3353 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -124,7 +124,7 @@ anchored = FALSE max_integrity = 180 proj_pass_rate = 20 - armor = list(MELEE = 10, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, RAD = 100, FIRE = 10, ACID = 0) + armor = list(MELEE = 10, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, FIRE = 10, ACID = 0) var/deploy_time = 40 var/deploy_message = TRUE diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 6406667640d..2b1a295693e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -139,7 +139,7 @@ var/air_tight = FALSE //TRUE means density will be set as soon as the door begins to close var/prying_so_hard = FALSE - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 | HTML_USE_INITAL_ICON_1 + flags_1 = HTML_USE_INITAL_ICON_1 rad_insulation = RAD_MEDIUM_INSULATION network_id = NETWORK_DOOR_AIRLOCKS diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index e74c4e5a9ec..e70ade04dee 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -205,8 +205,13 @@ ..() /obj/machinery/door/airlock/uranium/proc/radiate() - radiation_pulse(get_turf(src), 150) - return + radiation_pulse( + src, + max_range = 2, + threshold = RAD_LIGHT_INSULATION, + chance = URANIUM_IRRADIATION_CHANCE, + minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME, + ) /obj/machinery/door/airlock/uranium/glass opacity = FALSE @@ -606,7 +611,7 @@ desc = "An airlock hastily corrupted by blood magic, it is unusually brittle in this state." normal_integrity = 150 damage_deflection = 5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) ////////////////////////////////// /* diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index c78d3b2106d..e1510aafec5 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -12,7 +12,7 @@ power_channel = AREA_USAGE_ENVIRON pass_flags_self = PASSDOORS max_integrity = 350 - armor = list(MELEE = 30, BULLET = 30, LASER = 20, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 100, FIRE = 80, ACID = 70) + armor = list(MELEE = 30, BULLET = 30, LASER = 20, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 80, ACID = 70) can_atmos_pass = ATMOS_PASS_DENSITY flags_1 = PREVENT_CLICK_UNDER_1 receive_ricochet_chance_mod = 0.8 diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 43580586f34..00b83dc1e47 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -19,7 +19,7 @@ layer = BELOW_OPEN_DOOR_LAYER closingLayer = CLOSED_FIREDOOR_LAYER assemblytype = /obj/structure/firelock_frame - armor = list(MELEE = 10, BULLET = 30, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 100, RAD = 100, FIRE = 95, ACID = 70) + armor = list(MELEE = 10, BULLET = 30, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 100, FIRE = 95, ACID = 70) interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN var/nextstate = null var/boltslocked = TRUE diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index 543ddbc4768..e0c250582ee 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -6,7 +6,7 @@ explosion_block = 3 heat_proof = TRUE max_integrity = 600 - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF damage_deflection = 70 var/password = "Swordfish" diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index b3319311084..67d3ced6d56 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -11,7 +11,7 @@ heat_proof = TRUE safe = FALSE max_integrity = 600 - armor = list(MELEE = 50, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 70) + armor = list(MELEE = 50, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 50, BIO = 100, FIRE = 100, ACID = 70) resistance_flags = FIRE_PROOF damage_deflection = 70 var/datum/crafting_recipe/recipe_type = /datum/crafting_recipe/blast_doors diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 0775b9a0412..df4cefc44ea 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -6,7 +6,7 @@ layer = SHUTTER_LAYER closingLayer = SHUTTER_LAYER damage_deflection = 20 - armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 75, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 75, BOMB = 25, BIO = 100, FIRE = 100, ACID = 70) max_integrity = 100 recipe_type = /datum/crafting_recipe/shutters diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index f6e0c8c3331..3d2a3ba2911 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -9,7 +9,7 @@ var/base_state = "left" max_integrity = 150 //If you change this, consider changing ../door/window/brigdoor/ max_integrity at the bottom of this .dm file integrity_failure = 0 - armor = list(MELEE = 20, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, RAD = 100, FIRE = 70, ACID = 100) + armor = list(MELEE = 20, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, FIRE = 70, ACID = 100) visible = FALSE flags_1 = ON_BORDER_1 opacity = FALSE diff --git a/code/game/machinery/electrolyzer.dm b/code/game/machinery/electrolyzer.dm index bb10b380fa6..c8660d72cb0 100644 --- a/code/game/machinery/electrolyzer.dm +++ b/code/game/machinery/electrolyzer.dm @@ -10,7 +10,7 @@ name = "space electrolyzer" desc = "Thanks to the fast and dynamic response of our electrolyzers, on-site hydrogen production is guaranteed. Warranty void if used by clowns" max_integrity = 250 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 80, ACID = 10) circuit = /obj/item/circuitboard/machine/electrolyzer /// We don't use area power, we always use the cell use_power = NO_POWER_USE diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 3c97d8eaa0b..30bef2ddf04 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -18,7 +18,7 @@ icon_state = "fire0" max_integrity = 250 integrity_failure = 0.4 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 90, ACID = 30) use_power = IDLE_POWER_USE idle_power_usage = 2 active_power_usage = 6 diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index bbd0e5e3660..110625e5aa9 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -39,7 +39,7 @@ Possible to do for anyone motivated enough: idle_power_usage = 5 active_power_usage = 100 max_integrity = 300 - armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0) + armor = list(MELEE = 50, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0) circuit = /obj/item/circuitboard/machine/holopad /// List of living mobs that use the holopad var/list/masters diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index eba35b006b9..453c205d5e7 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -9,7 +9,7 @@ idle_power_usage = 2 active_power_usage = 4 max_integrity = 300 - armor = list(MELEE = 50, BULLET = 30, LASER = 70, ENERGY = 50, BOMB = 20, BIO = 0, RAD = 0, FIRE = 100, ACID = 70) + armor = list(MELEE = 50, BULLET = 30, LASER = 70, ENERGY = 50, BOMB = 20, BIO = 0, FIRE = 100, ACID = 70) resistance_flags = FIRE_PROOF var/id = null var/on = FALSE diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index d1b57a4d1e3..1761d979ad0 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -222,11 +222,6 @@ blood_warning = " Patient has DANGEROUSLY low blood levels. Seek a blood transfusion, iron supplements, or saline glucose immedietly. Ignoring treatment may lead to death!" blood_status = "Patient blood levels are currently reading [blood_percent]%. Patient has [ blood_type] type blood. [blood_warning]" - var/rad_sickness_value = altPatient.radiation - var/rad_sickness_status = "Target within normal-low radiation levels." - var/rad_contamination_value = get_rad_contamination(altPatient) - var/rad_contamination_status = "Target clothes and person not radioactive" - var/trauma_status = "Patient is free of unique brain trauma." var/clone_loss = altPatient.getCloneLoss() var/brain_loss = altPatient.getOrganLoss(ORGAN_SLOT_BRAIN) @@ -298,21 +293,6 @@ else if((brain_loss) >= 1) brain_status = "Mild brain damage detected." //You may have a miiiild case of severe brain damage. - if(rad_sickness_value >= 1000) // - rad_sickness_status = "Patient is suffering from extreme radiation poisoning, high toxen damage expected. Suggested treatment: Repeated dosages of Pentetic Acid or high amounts of Cold Seiver and anti-toxen" - else if(rad_sickness_value >= 300) - rad_sickness_status = "Patient is suffering from alarming radiation poisoning. Suggested treatment: Take Cold Seiver or Potassium Iodine, watch the toxin levels." - else if(rad_sickness_value >= 100) - rad_sickness_status = "Patient has moderate radioactive signatures. Symptoms will subside in a few minutes" - - if(rad_contamination_value >= 400) // - rad_contamination_status = "Patient is wearing extremely radioactive clothing. Suggested treatment: Isolation of patient and shower, remove all clothing and objects immediatly and place in a washing machine" - else if(rad_contamination_value >= 150) - rad_contamination_status = "Patient is wearing alarming radioactive clothing. Suggested treatment: Scan for contaminated objects and wash them with soap and water" - else if(rad_contamination_value >= 50) - rad_contamination_status = "Patient has moderate radioactive clothing. Maintain a social distance for a few minutes" - - if(pandemonium == TRUE) chaos_modifier = 1 else if (user.hallucinating()) @@ -329,10 +309,6 @@ data["brain_health"] = brain_status data["brain_damage"] = brain_loss+(chaos_modifier * (rand(1,30))) data["patient_status"] = patient_status - data["rad_sickness_value"] = rad_sickness_value+(chaos_modifier * (rand(1,500))) - data["rad_sickness_status"] = rad_sickness_status - data["rad_contamination_value"] = rad_contamination_value+(chaos_modifier * (rand(1,500))) - data["rad_contamination_status"] = rad_contamination_status data["trauma_status"] = trauma_status data["patient_illness"] = sickness data["illness_info"] = sickness_data diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index 1f53d4f70f0..e04ef94505b 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -10,7 +10,7 @@ desc = "A radio beacon used for bot navigation and crew wayfinding." layer = LOW_OBJ_LAYER max_integrity = 500 - armor = list(MELEE = 70, BULLET = 70, LASER = 70, ENERGY = 70, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 70, BULLET = 70, LASER = 70, ENERGY = 70, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) var/open = FALSE // true if cover is open var/locked = TRUE // true if controls are locked diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index bb04c33d6ea..3108ba0d3a4 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -204,7 +204,7 @@ GLOBAL_LIST_EMPTY(allCasters) 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 = 50, ACID = 30) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) max_integrity = 200 integrity_failure = 0.25 var/screen = 0 diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 75dfc414a6d..b6f2650b053 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -39,7 +39,7 @@ DEFINE_BITFIELD(turret_flags, list( power_channel = AREA_USAGE_EQUIP //drains power from the EQUIPMENT channel max_integrity = 160 //the turret's health integrity_failure = 0.5 - armor = list(MELEE = 50, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 50, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 90, ACID = 90) base_icon_state = "standard" blocks_emissive = EMISSIVE_BLOCK_UNIQUE @@ -768,7 +768,7 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/bullet/p50/penetrator/shuttle lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - armor = list(MELEE = 50, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 80, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 50, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 80, BIO = 0, FIRE = 90, ACID = 90) /obj/machinery/porta_turret/syndicate/shuttle/target(atom/movable/target) if(target) @@ -903,7 +903,7 @@ DEFINE_BITFIELD(turret_flags, list( for(var/obj/machinery/porta_turret/T in control_area) turrets |= WEAKREF(T) - + /obj/machinery/turretid/examine(mob/user) . += ..() if(issilicon(user) && !(machine_stat & BROKEN)) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 77bc292c310..d7f794a6832 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -68,7 +68,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) var/emergency //If an emergency has been called by this device. Acts as both a cooldown and lets the responder know where it the emergency was triggered from var/receive_ore_updates = FALSE //If ore redemption machines will send an update when it receives new ores. max_integrity = 300 - armor = list(MELEE = 70, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 70, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 0, BIO = 0, FIRE = 90, ACID = 90) /obj/machinery/requests_console/directional/north dir = SOUTH diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 7f2a144f196..9097a219f87 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -29,7 +29,7 @@ idle_power_usage = 10 active_power_usage = 100 max_integrity = 500 - armor = list(MELEE = 45, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 10, BIO = 30, RAD = 30, FIRE = 30, ACID = 30) + armor = list(MELEE = 45, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 10, BIO = 30, FIRE = 30, ACID = 30) var/static/list/numbers = list("0" = "green", "1" = "red", "3" = "red", "5" = "red", "7" = "red", "9" = "red", "12" = "red", "14" = "red", "16" = "red",\ "18" = "red", "19" = "red", "21" = "red", "23" = "red", "25" = "red", "27" = "red", "30" = "red", "32" = "red", "34" = "red", "36" = "red",\ "2" = "black", "4" = "black", "6" = "black", "8" = "black", "10" = "black", "11" = "black", "13" = "black", "15" = "black", "17" = "black", "20" = "black",\ diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index b4e05cbbec0..8fb2d6e5cfb 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -13,7 +13,7 @@ name = "space heater" desc = "Made by Space Amish using traditional space techniques, this heater/cooler is guaranteed not to set the station on fire. Warranty void if used in engines." max_integrity = 250 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 80, ACID = 10) circuit = /obj/item/circuitboard/machine/space_heater //We don't use area power, we always use the cell use_power = NO_POWER_USE diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index c0ea68b17c4..0ba59198aaa 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -398,7 +398,7 @@ visible_message(span_notice("[src]'s door slides open. The glowing yellow lights dim to a gentle green.")) else visible_message(span_warning("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.")) - mob_occupant.radiation = 0 + qdel(mob_occupant.GetComponent(/datum/component/irradiated)) playsound(src, 'sound/machines/airlockclose.ogg', 25, TRUE) var/list/things_to_clear = list() //Done this way since using GetAllContents on the SSU itself would include circuitry and such. if(suit) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index e4d424f5caf..737680ea4f6 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -14,7 +14,7 @@ use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 100 - armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 70) + armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) var/obj/item/stored /obj/machinery/blackbox_recorder/Initialize(mapload) diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index f7567ff6514..6b75950b48c 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -91,10 +91,9 @@ human.set_species(species_to_transform) log_game("[human] ([key_name(human)]) was turned into a [initial(species_to_transform.name)] through [src].") - human.apply_effect((rand(120 - accuracy * 40, 180 - accuracy * 60)), EFFECT_IRRADIATE, 0) */ //SKYRAT EDIT REMOVAL END //SKRYAT EDIT CHANGE BEGIN - to_chat(human, "Your limbs lose molecular cohesion as you teleport!") + to_chat(human, span_danger("Your limbs lose molecular cohesion as you teleport!")) var/list/bodyparts_dismember = list() var/rad_mod = 0 for(var/obj/item/bodypart/BP in human.bodyparts) @@ -109,7 +108,6 @@ BP.dismember() bodyparts_dismember.Remove(BP) //GC optimisation qdel(BP) - human.apply_effect((rand(480 + rad_mod - accuracy * 40, 880 + rad_mod - accuracy * 60)), EFFECT_IRRADIATE, 0) //SKYRAT EDIT CHANGE END calibrated = FALSE return diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 8e5456c4f9a..70b2b12ea30 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -24,7 +24,7 @@ RLD w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=100000) req_access_txt = "11" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF var/datum/effect_system/spark_spread/spark_system var/matter = 0 diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 3e4d9bdecaf..2425e533778 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -196,7 +196,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=75000, /datum/material/glass=37500) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF ///Sparks system used when changing device in the UI var/datum/effect_system/spark_spread/spark_system diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 074280b356a..45e464c7aad 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -20,7 +20,7 @@ RSF density = FALSE anchored = FALSE item_flags = NOBLUDGEON - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) ///The current matter count var/matter = 0 ///The max amount of matter in the device diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index fcb2c751b5c..f1111fd7ade 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -80,7 +80,7 @@ lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' slot_flags = ITEM_SLOT_ID - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF /// Cached icon that has been built for this card. Intended for use in chat. diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 40b48e63b00..2e0075f9174 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -38,7 +38,7 @@ icon = 'icons/obj/money_machine.dmi' icon_state = "bogdanoff" layer = LARGE_MOB_LAYER - armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 60, BOMB = 90, BIO = 0, RAD = 0, FIRE = 100, ACID = 80) + armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 60, BOMB = 90, BIO = 0, FIRE = 100, ACID = 80) density = TRUE pixel_z = -8 max_integrity = 5000 diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index c65e15ceae1..89539cfcad4 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -16,7 +16,7 @@ throwforce = 6 w_class = WEIGHT_CLASS_BULKY actions_types = list(/datum/action/item_action/toggle_paddles) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) var/obj/item/shockpaddles/paddle_type = /obj/item/shockpaddles var/on = FALSE //if the paddles are equipped (1) or on the defib (0) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 3e9a0eb2093..00452badabb 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -7,7 +7,6 @@ GLOBAL_LIST_EMPTY(PDAs) #define PDA_SCANNER_MEDICAL 1 #define PDA_SCANNER_FORENSICS 2 //unused #define PDA_SCANNER_REAGENT 3 -#define PDA_SCANNER_HALOGEN 4 #define PDA_SCANNER_GAS 5 #define PDA_SPAM_DELAY 2 MINUTES @@ -26,7 +25,7 @@ GLOBAL_LIST_EMPTY(PDAs) w_class = WEIGHT_CLASS_TINY slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT actions_types = list(/datum/action/item_action/toggle_light) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 2.3 @@ -322,8 +321,6 @@ GLOBAL_LIST_EMPTY(PDAs) dat += "
  • [PDAIMG(notes)]Newscaster Access
  • " if (cartridge.access & CART_REAGENT_SCANNER) dat += "
  • [PDAIMG(reagent)][scanmode == 3 ? "Disable" : "Enable"] Reagent Scanner
  • " - if (cartridge.access & CART_ENGINE) - dat += "
  • [PDAIMG(reagent)][scanmode == 4 ? "Disable" : "Enable"] Halogen Counter
  • " if (cartridge.access & CART_ATMOS) dat += "
  • [PDAIMG(reagent)][scanmode == 5 ? "Disable" : "Enable"] Gas Scanner
  • " if (cartridge.access & CART_REMOTE_DOOR) @@ -571,13 +568,6 @@ GLOBAL_LIST_EMPTY(PDAs) scanmode = PDA_SCANNER_NONE else if((!isnull(cartridge)) && (cartridge.access & CART_REAGENT_SCANNER)) scanmode = PDA_SCANNER_REAGENT - if("Halogen Counter") - if(scanmode == PDA_SCANNER_HALOGEN) - scanmode = PDA_SCANNER_NONE - else if((!isnull(cartridge)) && (cartridge.access & CART_ENGINE)) - scanmode = PDA_SCANNER_HALOGEN - if(!silent) - playsound(src, 'sound/machines/terminal_select.ogg', 15, TRUE) if("Honk") if ( !(last_noise && world.time < last_noise + 20) ) playsound(src, 'sound/items/bikehorn.ogg', 50, TRUE) @@ -1108,15 +1098,6 @@ GLOBAL_LIST_EMPTY(PDAs) healthscan(user, C, 1) add_fingerprint(user) - if(PDA_SCANNER_HALOGEN) - C.visible_message(span_notice("[user] analyzes [C]'s radiation levels.")) - - user.show_message(span_notice("Analyzing Results for [C]:")) - if(C.radiation) - user.show_message("\green Radiation Level: \black [C.radiation]") - else - user.show_message(span_notice("No radiation detected.")) - /obj/item/pda/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) . = ..() if(!proximity) @@ -1293,6 +1274,5 @@ GLOBAL_LIST_EMPTY(PDAs) #undef PDA_SCANNER_MEDICAL #undef PDA_SCANNER_FORENSICS #undef PDA_SCANNER_REAGENT -#undef PDA_SCANNER_HALOGEN #undef PDA_SCANNER_GAS #undef PDA_SPAM_DELAY diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm index 8a5b14d2a3d..148074a501c 100644 --- a/code/game/objects/items/devices/forcefieldprojector.dm +++ b/code/game/objects/items/devices/forcefieldprojector.dm @@ -103,7 +103,7 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE resistance_flags = INDESTRUCTIBLE can_atmos_pass = ATMOS_PASS_DENSITY - armor = list(MELEE = 0, BULLET = 25, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 25, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 100, FIRE = 100, ACID = 100) var/obj/item/forcefield_projector/generator /obj/structure/projected_forcefield/Initialize(mapload, obj/item/forcefield_projector/origin) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 9f622916f5f..8d1d05f4dd6 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -1,10 +1,4 @@ -#define RAD_LEVEL_NORMAL 9 -#define RAD_LEVEL_MODERATE 100 -#define RAD_LEVEL_HIGH 400 -#define RAD_LEVEL_VERY_HIGH 800 -#define RAD_LEVEL_CRITICAL 1500 - -/obj/item/geiger_counter //DISCLAIMER: I know nothing about how real-life Geiger counters work. This will not be realistic. ~Xhuis//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/geiger_counter //DISCLAIMER: I know nothing about how real-life Geiger counters work. This will not be realistic. ~Xhuis name = "\improper Geiger counter" desc = "A handheld device used for detecting and measuring radiation pulses." icon = 'icons/obj/device.dmi' @@ -18,158 +12,102 @@ item_flags = NOBLUDGEON custom_materials = list(/datum/material/iron = 150, /datum/material/glass = 150) - var/grace = RAD_GEIGER_GRACE_PERIOD - var/datum/looping_sound/geiger/soundloop + var/last_perceived_radiation_danger = null var/scanning = FALSE - var/radiation_count = 0 - var/current_tick_amount = 0 - var/last_tick_amount = 0 - var/fail_to_receive = 0 - var/current_warning = 1 /obj/item/geiger_counter/Initialize(mapload) . = ..() - START_PROCESSING(SSobj, src) - soundloop = new(src, FALSE) - -/obj/item/geiger_counter/Destroy() - STOP_PROCESSING(SSobj, src) - QDEL_NULL(soundloop) - - return ..() - -/obj/item/geiger_counter/process(delta_time) - if(scanning) - radiation_count = LPFILTER(radiation_count, current_tick_amount, delta_time, RAD_GEIGER_RC) - - if(current_tick_amount) - grace = RAD_GEIGER_GRACE_PERIOD - last_tick_amount = current_tick_amount - - else if(!(obj_flags & EMAGGED)) - grace -= delta_time - if(grace <= 0) - radiation_count = 0 - - current_tick_amount = 0 - - update_appearance() - update_sound() + RegisterSignal(src, COMSIG_IN_RANGE_OF_IRRADIATION, .proc/on_pre_potential_irradiation) /obj/item/geiger_counter/examine(mob/user) . = ..() if(!scanning) return . += span_info("Alt-click it to clear stored radiation levels.") - if(obj_flags & EMAGGED) - . += span_warning("The display seems to be incomprehensible.") - return - switch(radiation_count) - if(-INFINITY to RAD_LEVEL_NORMAL) + switch(last_perceived_radiation_danger) + if(null) . += span_notice("Ambient radiation level count reports that all is well.") - if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) + if(PERCEIVED_RADIATION_DANGER_LOW) . += span_alert("Ambient radiation levels slightly above average.") - if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) + if(PERCEIVED_RADIATION_DANGER_MEDIUM) . += span_warning("Ambient radiation levels above average.") - if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) + if(PERCEIVED_RADIATION_DANGER_HIGH) . += span_danger("Ambient radiation levels highly above average.") - if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - . += span_suicide("Ambient radiation levels nearing critical level.") - if(RAD_LEVEL_CRITICAL + 1 to INFINITY) - . += span_boldannounce("Ambient radiation levels above critical level!") - - . += span_notice("The last radiation amount detected was [last_tick_amount]") + if(PERCEIVED_RADIATION_DANGER_EXTREME) + . += span_suicide("Ambient radiation levels reaching critical level!") /obj/item/geiger_counter/update_icon_state() if(!scanning) icon_state = "geiger_off" return ..() - if(obj_flags & EMAGGED) - icon_state = "geiger_on_emag" - return ..() - switch(radiation_count) - if(-INFINITY to RAD_LEVEL_NORMAL) + switch(last_perceived_radiation_danger) + if(null) icon_state = "geiger_on_1" - if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE) + if(PERCEIVED_RADIATION_DANGER_LOW) icon_state = "geiger_on_2" - if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH) + if(PERCEIVED_RADIATION_DANGER_MEDIUM) icon_state = "geiger_on_3" - if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH) + if(PERCEIVED_RADIATION_DANGER_HIGH) icon_state = "geiger_on_4" - if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL) - icon_state = "geiger_on_4" - if(RAD_LEVEL_CRITICAL + 1 to INFINITY) + if(PERCEIVED_RADIATION_DANGER_EXTREME) icon_state = "geiger_on_5" return ..() -/obj/item/geiger_counter/proc/update_sound() - var/datum/looping_sound/geiger/loop = soundloop - if(!scanning) - loop.stop() - return - if(!radiation_count) - loop.stop() - return - loop.last_radiation = radiation_count - loop.start() - -/obj/item/geiger_counter/rad_act(amount) - . = ..() - if(amount <= RAD_BACKGROUND_RADIATION || !scanning) - return - current_tick_amount += amount - update_appearance() - /obj/item/geiger_counter/attack_self(mob/user) scanning = !scanning - update_appearance() + + if (scanning) + AddComponent(/datum/component/geiger_sound) + else + qdel(GetComponent(/datum/component/geiger_sound)) + + update_appearance(UPDATE_ICON) to_chat(user, span_notice("[icon2html(src, user)] You switch [scanning ? "on" : "off"] [src].")) /obj/item/geiger_counter/afterattack(atom/target, mob/living/user, params) . = ..() - if(!user.combat_mode) - if(!(obj_flags & EMAGGED)) - user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]...")) - addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents - else - user.visible_message(span_notice("[user] scans [target] with [src]."), span_danger("You project [src]'s stored radiation into [target]!")) - target.rad_act(radiation_count) - radiation_count = 0 - return TRUE -/obj/item/geiger_counter/proc/scan(atom/A, mob/user) - var/rad_strength = get_rad_contamination(A) + if (user.combat_mode) + return - if(isliving(A)) - var/mob/living/M = A - if(!M.radiation) - to_chat(user, span_notice("[icon2html(src, user)] Radiation levels within normal boundaries.")) - else - to_chat(user, span_boldannounce("[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation].")) + if (!CAN_IRRADIATE(target)) + return - if(rad_strength) - to_chat(user, span_boldannounce("[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]")) - else - to_chat(user, span_notice("[icon2html(src, user)] Target is free of radioactive contamination.")) + user.visible_message(span_notice("[user] scans [target] with [src]."), span_notice("You scan [target]'s radiation levels with [src]...")) + addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents -/obj/item/geiger_counter/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED)) - if(scanning) - to_chat(user, span_warning("Turn off [src] before you perform this action!")) - return FALSE - user.visible_message(span_notice("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards..."), span_notice("You begin resetting [src]...")) - if(!I.use_tool(src, user, 40, volume=50)) - return FALSE - user.visible_message(span_notice("[user] refastens [src]'s maintenance panel!"), span_notice("You reset [src] to its factory settings!")) - obj_flags &= ~EMAGGED - radiation_count = 0 - update_appearance() - return TRUE - else - return ..() +/obj/item/geiger_counter/equipped(mob/user, slot, initial) + . = ..() + + RegisterSignal(user, COMSIG_IN_RANGE_OF_IRRADIATION, .proc/on_pre_potential_irradiation) + +/obj/item/geiger_counter/dropped(mob/user, silent = FALSE) + . = ..() + + UnregisterSignal(user, COMSIG_IN_RANGE_OF_IRRADIATION, .proc/on_pre_potential_irradiation) + +/obj/item/geiger_counter/proc/on_pre_potential_irradiation(datum/source, datum/radiation_pulse_information/pulse_information, insulation_to_target) + SIGNAL_HANDLER + + last_perceived_radiation_danger = get_perceived_radiation_danger(pulse_information, insulation_to_target) + addtimer(CALLBACK(src, .proc/reset_perceived_danger), TIME_WITHOUT_RADIATION_BEFORE_RESET, TIMER_UNIQUE | TIMER_OVERRIDE) + + if (scanning) + update_appearance(UPDATE_ICON) + +/obj/item/geiger_counter/proc/reset_perceived_danger() + last_perceived_radiation_danger = null + if (scanning) + update_appearance(UPDATE_ICON) + +/obj/item/geiger_counter/proc/scan(atom/target, mob/user) + if (SEND_SIGNAL(target, COMSIG_GEIGER_COUNTER_SCAN, user, src) & COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL) + return + + to_chat(user, span_notice("[icon2html(src, user)] [isliving(target) ? "Subject" : "Target"] is free of radioactive contamination.")) /obj/item/geiger_counter/AltClick(mob/living/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE)) @@ -177,50 +115,6 @@ if(!scanning) to_chat(usr, span_warning("[src] must be on to reset its radiation level!")) return - radiation_count = 0 to_chat(usr, span_notice("You flush [src]'s radiation counts, resetting it to normal.")) - update_appearance() - -/obj/item/geiger_counter/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - if(scanning) - to_chat(user, span_warning("Turn off [src] before you perform this action!")) - return - to_chat(user, span_warning("You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")) - obj_flags |= EMAGGED - - - -/obj/item/geiger_counter/cyborg - var/mob/listeningTo - -/obj/item/geiger_counter/cyborg/cyborg_unequip(mob/user) - if(!scanning) - return - scanning = FALSE - update_appearance() - -/obj/item/geiger_counter/cyborg/equipped(mob/user) - . = ..() - if(listeningTo == user) - return - if(listeningTo) - UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - RegisterSignal(user, COMSIG_ATOM_RAD_ACT, .proc/redirect_rad_act) - listeningTo = user - -/obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount) - SIGNAL_HANDLER - rad_act(amount) - -/obj/item/geiger_counter/cyborg/dropped() - . = ..() - if(listeningTo) - UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - -#undef RAD_LEVEL_NORMAL -#undef RAD_LEVEL_MODERATE -#undef RAD_LEVEL_HIGH -#undef RAD_LEVEL_VERY_HIGH -#undef RAD_LEVEL_CRITICAL + last_perceived_radiation_danger = null + update_appearance(UPDATE_ICON) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 8c1d72ce830..a14f33f8df8 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -188,6 +188,8 @@ GENE SCANNER render_list += "[span_info("Analyzing results for [M]:")]\nOverall status: [mob_status]\n" + SEND_SIGNAL(M, COMSIG_LIVING_HEALTHSCAN, render_list, advanced, user, mode) + // Husk detection if(advanced && HAS_TRAIT_FROM(M, TRAIT_HUSK, BURN)) render_list += "Subject has been husked by severe burns.\n" @@ -256,10 +258,8 @@ GENE SCANNER if(advanced) render_list += "Brain Activity Level: [(200 - M.getOrganLoss(ORGAN_SLOT_BRAIN))/2]%.\n" - if (M.radiation) - render_list += "Subject is irradiated.\n" - if(advanced) - render_list += "Radiation Level: [M.radiation]%.\n" + if (HAS_TRAIT(M, TRAIT_IRRADIATED)) + render_list += "Subject is irradiated. Supply toxin healing.\n" if(advanced && M.hallucinating()) render_list += "Subject is hallucinating.\n" diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 0a6f40c9f8a..1f81f52f2a2 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -99,7 +99,6 @@ effective or pretty fucking useless. return if(passed_intensity >= 5) M.apply_effect(round(passed_intensity/0.075), EFFECT_UNCONSCIOUS) //to save you some math, this is a round(intensity * (4/3)) second long knockout - M.rad_act(passed_intensity*10) /obj/item/healthanalyzer/rad_laser/proc/get_cooldown() return round(max(10, (stealth*30 + intensity*5 - wavelength/4))) diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 4c791c1d67c..5d85c5077b2 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -22,7 +22,6 @@ /obj/item/dnainjector/proc/inject(mob/living/carbon/M, mob/user) if(M.has_dna() && !HAS_TRAIT(M, TRAIT_GENELESS) && !HAS_TRAIT(M, TRAIT_BADDNA)) - M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" for(var/HM in remove_mutations) M.dna.remove_mutation(HM) @@ -461,7 +460,6 @@ return FALSE if(M.has_dna() && !(HAS_TRAIT(M, TRAIT_BADDNA))) - M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" var/endtime = world.time+duration for(var/mutation in remove_mutations) @@ -530,7 +528,6 @@ /obj/item/dnainjector/activator/inject(mob/living/carbon/M, mob/user) if(M.has_dna() && !HAS_TRAIT(M, TRAIT_GENELESS) && !HAS_TRAIT(M, TRAIT_BADDNA)) - M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" var/pref = "" var/suff = "" diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 72513ae33e8..f42945aba84 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -24,7 +24,7 @@ attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_chance = 75 max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 70) resistance_flags = FIRE_PROOF wound_bonus = -10 bare_wound_bonus = 20 diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index 8ecda7486f0..c2d45fc00ba 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -17,7 +17,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' sharpness = SHARP_EDGED max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30) resistance_flags = FIRE_PROOF wound_bonus = -15 bare_wound_bonus = 20 diff --git a/code/game/objects/items/grenades/syndieminibomb.dm b/code/game/objects/items/grenades/syndieminibomb.dm index e7f1784a576..ed2349db92b 100644 --- a/code/game/objects/items/grenades/syndieminibomb.dm +++ b/code/game/objects/items/grenades/syndieminibomb.dm @@ -51,19 +51,19 @@ icon_state = "bluefrag" inhand_icon_state = "flashbang" var/freeze_range = 4 - var/rad_damage = 350 + var/rad_range = 4 + var/rad_threshold = RAD_EXTREME_INSULATION var/stamina_damage = 30 + var/temp_adjust = -230 /obj/item/grenade/gluon/detonate(mob/living/lanced_by) . = ..() update_mob() playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE) - radiation_pulse(src, rad_damage) - for(var/turf/T in view(freeze_range,loc)) - if(isfloorturf(T)) - var/turf/open/floor/F = T - F.MakeSlippery(TURF_WET_PERMAFROST, 6 MINUTES) - for(var/mob/living/carbon/L in T) - L.adjustStaminaLoss(stamina_damage) - L.adjust_bodytemperature(-230) + radiation_pulse(src, max_range = rad_range, threshold = rad_threshold, chance = 100) + for (var/turf/open/floor/floor in view(freeze_range, loc)) + floor.MakeSlippery(TURF_WET_PERMAFROST, 6 MINUTES) + for(var/mob/living/carbon/victim in floor) + victim.adjustStaminaLoss(stamina_damage) + victim.adjust_bodytemperature(temp_adjust) qdel(src) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 3d75e5d1411..f7758535bdf 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -39,7 +39,7 @@ throw_range = 5 custom_materials = list(/datum/material/iron=500) breakouttime = 1 MINUTES - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) custom_price = PAYCHECK_HARD * 0.35 ///Sound that plays when starting to put handcuffs on someone var/cuffsound = 'sound/weapons/handcuffs.ogg' diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 4541edae392..8da9a776535 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -5,7 +5,7 @@ desc = "It has the unyielding gaze of a god eternally forgotten." icon_state = "clockwork_helmet" inhand_icon_state = "clockwork_helmet_inhand" - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH strip_delay = 8 SECONDS @@ -25,7 +25,7 @@ desc = "Deus Vult." icon_state = "knight_templar" inhand_icon_state = "knight_templar" - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH strip_delay = 80 diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 53762614034..4ba0d0b3b77 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -31,7 +31,7 @@ attack_verb_continuous = list("attacks", "stabs", "pokes") attack_verb_simple = list("attack", "stab", "poke") hitsound = 'sound/weapons/bladeslice.ogg' - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) sharpness = SHARP_POINTY var/datum/reagent/forkload //used to eat omelette custom_price = PAYCHECK_PRISONER @@ -130,7 +130,7 @@ throw_range = 5 attack_verb_simple = list("whack", "spoon", "tap") attack_verb_continuous = list("whacks", "spoons", "taps") - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) custom_materials = list(/datum/material/iron=120) custom_price = PAYCHECK_PRISONER * 5 tool_behaviour = TOOL_MINING diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index ac0565a66bf..c161e51d8bd 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -1,5 +1,5 @@ // Knife Template, should not appear in game normaly // -/obj/item/knife +/obj/item/knife name = "knife" icon = 'icons/obj/kitchen.dmi' icon_state = "knife" @@ -19,7 +19,7 @@ attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") sharpness = SHARP_EDGED - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) var/bayonet = FALSE //Can this be attached to a gun? wound_bonus = 5 bare_wound_bonus = 15 @@ -153,7 +153,7 @@ throwforce = 12 attack_verb_continuous = list("shanks", "shivs") attack_verb_simple = list("shank", "shiv") - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) custom_materials = list(/datum/material/glass=400) /obj/item/knife/shiv/carrot diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 33e42d383e2..a1179d360d2 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -341,7 +341,7 @@ attack_verb_continuous = list("beats") attack_verb_simple = list("beat") - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 0, FIRE = 80, ACID = 80) throwforce = 7 stamina_damage = 45 // 3 baton crit. diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 395126f9613..b0dcfd58abb 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -1,7 +1,7 @@ /obj/item/melee/energy icon = 'icons/obj/transforming_energy.dmi' max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30) attack_verb_continuous = list("hits", "taps", "pokes") attack_verb_simple = list("hit", "tap", "poke") resistance_flags = FIRE_PROOF diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index be5e908e093..a2c6d70331f 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -19,7 +19,7 @@ hitsound = 'sound/weapons/bladeslice.ogg' sharpness = SHARP_EDGED max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30) resistance_flags = FIRE_PROOF /obj/item/pitchfork/ComponentInitialize() diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 2470ca6700f..c848d5d7a1e 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -14,7 +14,7 @@ inhand_icon_state = "bulldog" lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 60, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 60, ACID = 50) var/maxWeightClass = 20 //The max weight of items that can fit into the cannon var/loadedWeightClass = 0 //The weight of items currently in the cannon var/obj/item/tank/internals/tank = null //The gas tank that is drawn from to fire things diff --git a/code/game/objects/items/powerfist.dm b/code/game/objects/items/powerfist.dm index 90adc686160..30ad35f9a14 100644 --- a/code/game/objects/items/powerfist.dm +++ b/code/game/objects/items/powerfist.dm @@ -12,7 +12,7 @@ throwforce = 10 throw_range = 7 w_class = WEIGHT_CLASS_NORMAL - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 40) resistance_flags = FIRE_PROOF var/click_delay = 1.5 var/fisto_setting = 1 diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 6f7e8af9e07..5f725f99efd 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -39,7 +39,7 @@ explosion_block = 3 heat_proof = TRUE max_integrity = 600 - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | ACID_PROOF | LAVA_PROOF damage_deflection = 70 /// Make sure that the key has the same puzzle_id as the keycard door! diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 2eeb0fb2e4d..bf414aea570 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -201,7 +201,7 @@ inspiration_available = FALSE /obj/item/banner/engineering/special_inspiration(mob/living/carbon/human/H) - H.radiation = 0 + qdel(H.GetComponent(/datum/component/irradiated)) /datum/crafting_recipe/engineering_banner name = "Engitopia Banner" @@ -275,7 +275,7 @@ w_class = WEIGHT_CLASS_BULKY slowdown = 2.0 //gotta pretend we're balanced. body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, FIRE = 60, ACID = 60) /obj/item/clothing/suit/armor/plate/crusader/red icon_state = "crusader-red" @@ -289,7 +289,7 @@ icon_state = "crusader" w_class = WEIGHT_CLASS_NORMAL flags_inv = HIDEHAIR|HIDEEARS|HIDEFACE - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, FIRE = 60, ACID = 60) /obj/item/clothing/head/helmet/plate/crusader/blue icon_state = "crusader-blue" @@ -303,7 +303,7 @@ desc = "A religious-looking hat." icon_state = null flags_1 = 0 - armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 70, BIO = 50, RAD = 50, FIRE = 60, ACID = 60) //religion protects you from disease and radiation, honk. + armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 70, BIO = 50, FIRE = 60, ACID = 60) //religion protects you from disease, honk. worn_y_offset = 6 /obj/item/clothing/head/helmet/plate/crusader/prophet/red @@ -362,7 +362,7 @@ desc = "Metal boots, they look heavy." icon_state = "crusader" w_class = WEIGHT_CLASS_NORMAL - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) //does this even do anything on boots? + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, FIRE = 60, ACID = 60) //does this even do anything on boots? clothing_flags = NOSLIP cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 54187e8b076..678929979e6 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -2,7 +2,7 @@ name = "shield" icon = 'icons/obj/shields.dmi' block_chance = 50 - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 80, ACID = 70) var/transparent = FALSE // makes beam projectiles pass through the shield /obj/item/shield/proc/on_shield_block(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", damage = 0, attack_type = MELEE_ATTACK) @@ -94,7 +94,7 @@ /obj/item/shield/riot/roman/fake desc = "Bears an inscription on the inside: \"Romanes venio domus\". It appears to be a bit flimsy." block_chance = 0 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) max_integrity = 30 /obj/item/shield/riot/roman/shatter(mob/living/carbon/human/owner) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm index a21ee4d0e4f..5232dd53353 100644 --- a/code/game/objects/items/singularityhammer.dm +++ b/code/game/objects/items/singularityhammer.dm @@ -12,7 +12,7 @@ throwforce = 15 throw_range = 1 w_class = WEIGHT_CLASS_HUGE - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 50, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 50, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF force_string = "LORD SINGULOTH HIMSELF" ///Is it able to pull shit right now? diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index 1ce2fcd627e..f44b38a6f82 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -18,7 +18,7 @@ attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") sharpness = SHARP_EDGED // i know the whole point of spears is that they're pointy, but edged is more devastating at the moment so max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) var/war_cry = "AAAAARGH!!!" var/icon_prefix = "spearglass" wound_bonus = -15 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index a046fcf4ad9..9c9e6adcc73 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ icon_state = "sheet-glass" inhand_icon_state = "sheet-glass" mats_per_unit = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/glass grind_results = list(/datum/reagent/silicon = 20) @@ -88,7 +88,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ inhand_icon_state = "sheet-pglass" mats_per_unit = list(/datum/material/alloy/plasmaglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/plasmaglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 75, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 75, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmaglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) @@ -141,7 +141,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ icon_state = "sheet-rglass" inhand_icon_state = "sheet-rglass" mats_per_unit = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 70, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/rglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10) @@ -193,7 +193,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ icon_state = "sheet-prglass" inhand_icon_state = "sheet-prglass" mats_per_unit = list(/datum/material/alloy/plasmaglass=MINERAL_MATERIAL_AMOUNT, /datum/material/iron = MINERAL_MATERIAL_AMOUNT * 0.5) - armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF material_flags = NONE merge_type = /obj/item/stack/sheet/plasmarglass @@ -219,7 +219,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( inhand_icon_state = "sheet-titaniumglass" mats_per_unit = list(/datum/material/alloy/titaniumglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/titaniumglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass tableVariant = /obj/structure/table/reinforced/titaniumglass @@ -241,7 +241,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( inhand_icon_state = "sheet-plastitaniumglass" mats_per_unit = list(/datum/material/alloy/plastitaniumglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/plastitaniumglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) material_flags = NONE resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass @@ -267,7 +267,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( attack_verb_simple = list("stab", "slash", "slice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF - armor = list(MELEE = 100, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 100) + armor = list(MELEE = 100, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 50, ACID = 100) max_integrity = 40 sharpness = SHARP_EDGED var/icon_prefix diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index a433dd1730b..5b91a08b295 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -240,7 +240,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ material_type = /datum/material/alloy/plasteel throwforce = 10 flags_1 = CONDUCT_1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 80) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 80) resistance_flags = FIRE_PROOF merge_type = /obj/item/stack/sheet/plasteel grind_results = list(/datum/reagent/iron = 20, /datum/reagent/toxin/plasma = 20) @@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ icon = 'icons/obj/stack_objects.dmi' mats_per_unit = list(/datum/material/wood=MINERAL_MATERIAL_AMOUNT) sheettype = "wood" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0) resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/wood novariants = TRUE @@ -346,7 +346,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ icon = 'icons/obj/stack_objects.dmi' mats_per_unit = list(/datum/material/bamboo = MINERAL_MATERIAL_AMOUNT) throwforce = 15 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0) resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/bamboo grind_results = list(/datum/reagent/cellulose = 10) diff --git a/code/game/objects/items/stacks/tiles/tile_iron.dm b/code/game/objects/items/stacks/tiles/tile_iron.dm index b2d5026ad20..7df9d066f6e 100644 --- a/code/game/objects/items/stacks/tiles/tile_iron.dm +++ b/code/game/objects/items/stacks/tiles/tile_iron.dm @@ -9,7 +9,7 @@ throwforce = 10 flags_1 = CONDUCT_1 turf_type = /turf/open/floor/iron - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 70) resistance_flags = FIRE_PROOF matter_amount = 1 cost = 125 diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index a955e88ec9c..2bf969fc023 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -56,7 +56,7 @@ inhand_icon_state = "holdingpack" resistance_flags = FIRE_PROOF item_flags = NO_MAT_REDEMPTION - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 60, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 60, ACID = 50) component_type = /datum/component/storage/concrete/bluespace/bag_of_holding /obj/item/storage/backpack/holding/ComponentInitialize() diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index c9ba7d0bcc3..2ff333baa64 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -120,7 +120,6 @@ /obj/item/storage/bag/ore/ComponentInitialize() . = ..() - AddElement(/datum/element/rad_insulation, 0.01) //please datum mats no more cancer var/datum/component/storage/concrete/stack/STR = GetComponent(/datum/component/storage/concrete/stack) STR.allow_quick_empty = TRUE STR.set_holdable(list(/obj/item/stack/ore)) diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 4c669ce35ce..fdab4426a5c 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -221,7 +221,7 @@ It is made out of the same material as the station's Black Box and is designed to resist all conventional weaponry. \ There appears to be a small amount of surface corrosion. It doesn't look like it could withstand much of an explosion." can_hack_open = FALSE - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 70, BIO = 100, RAD = 100, FIRE = 80, ACID = 70) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 70, BIO = 100, FIRE = 80, ACID = 70) max_integrity = 300 color = "#ffdd33" diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index e61fef70f82..43a3e5779d3 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -24,7 +24,7 @@ throw_range = 4 custom_materials = list(/datum/material/iron = 500) actions_types = list(/datum/action/item_action/set_internals) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 80, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 80, ACID = 30) integrity_failure = 0.5 /// The gases this tank contains. Don't modify this directly, use return_air() to get it instead var/datum/gas_mixture/air_contents = null @@ -323,29 +323,4 @@ dyn_explosion(src, power, flash_range = 1.5, ignorecap = FALSE) return ..() -/obj/item/tank/rad_act(strength) - . = ..() - var/gas_change = FALSE - var/list/cached_gases = air_contents.gases - if(cached_gases[/datum/gas/oxygen] && cached_gases[/datum/gas/carbon_dioxide] && air_contents.temperature <= PLUOXIUM_TEMP_CAP) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/oxygen][MOLES] * 1000, cached_gases[/datum/gas/carbon_dioxide][MOLES] * 2000) - cached_gases[/datum/gas/carbon_dioxide][MOLES] -= pulse_strength / 2000 - cached_gases[/datum/gas/oxygen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/pluoxium, air_contents) - cached_gases[/datum/gas/pluoxium][MOLES] += pulse_strength / 4000 - strength -= pulse_strength - - if(cached_gases[/datum/gas/hydrogen]) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/hydrogen][MOLES] * 1000) - cached_gases[/datum/gas/hydrogen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/tritium, air_contents) - cached_gases[/datum/gas/tritium][MOLES] += pulse_strength / 1000 - strength -= pulse_strength - - if(gas_change) - air_contents.garbage_collect() - START_PROCESSING(SSobj, src) - #undef ASSUME_AIR_DT_FACTOR diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 0b26dc8efc3..e6c7f2a4791 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -12,7 +12,7 @@ slowdown = 1 actions_types = list(/datum/action/item_action/toggle_mister) max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30) resistance_flags = FIRE_PROOF var/obj/item/noz diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index da6e3ce85b6..4b58b924574 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -111,7 +111,7 @@ throw_speed = 3 throw_range = 5 custom_materials = list(/datum/material/iron=10000) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/list/active_portal_pairs var/max_portal_pairs = 3 diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 0f50e61cb2a..3fed58c382f 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -33,7 +33,7 @@ if(cooldown < world.time - 60) cooldown = world.time flick(pulseicon, src) - radiation_pulse(src, 400, 2) + radiation_pulse(src, max_range = 2, threshold = RAD_EXTREME_INSULATION) /obj/item/nuke_core/suicide_act(mob/user) user.visible_message(span_suicide("[user] is rubbing [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -183,7 +183,7 @@ return else to_chat(user, span_notice("As it touches \the [src], both \the [src] and \the [W] burst into dust!")) - radiation_pulse(user, 100) + radiation_pulse(user, max_range = 2, threshold = RAD_EXTREME_INSULATION, chance = 40) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) qdel(W) qdel(src) @@ -206,7 +206,7 @@ span_userdanger("You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well."),\ span_hear("Everything suddenly goes silent.")) victim.dust() - radiation_pulse(src, 500, 2) + radiation_pulse(src, max_range = 2, threshold = RAD_EXTREME_INSULATION, chance = 40) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) qdel(src) @@ -217,7 +217,7 @@ user.visible_message(span_danger("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"),\ span_userdanger("You reach for [src] with your hands. That was dumb."),\ span_hear("Everything suddenly goes silent.")) - radiation_pulse(user, 500, 2) + radiation_pulse(user, max_range = 2, threshold = RAD_EXTREME_INSULATION, chance = 40) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) user.dust() @@ -328,7 +328,7 @@ span_userdanger("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well."),\ span_hear("Everything suddenly goes silent.")) user.dust() - radiation_pulse(src, 500, 2) + radiation_pulse(src, max_range = 2, threshold = RAD_EXTREME_INSULATION, chance = 40) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) QDEL_NULL(sliver) update_appearance() diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 0e9dc0b3e57..b90090aa366 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -19,7 +19,7 @@ attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") tool_behaviour = TOOL_CROWBAR toolspeed = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) var/force_opens = FALSE /obj/item/crowbar/suicide_act(mob/user) diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index b9affa866e7..782952b99cb 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -22,7 +22,7 @@ usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') tool_behaviour = TOOL_SCREWDRIVER toolspeed = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) drop_sound = 'sound/items/handling/screwdriver_drop.ogg' pickup_sound = 'sound/items/handling/screwdriver_pickup.ogg' sharpness = SHARP_POINTY diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 8a66dbe2081..d5f5786b30b 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -25,7 +25,7 @@ throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30) resistance_flags = FIRE_PROOF heat = 3800 tool_behaviour = TOOL_WELDER diff --git a/code/game/objects/items/tools/wirebrush.dm b/code/game/objects/items/tools/wirebrush.dm index b491c004165..830470e68a5 100644 --- a/code/game/objects/items/tools/wirebrush.dm +++ b/code/game/objects/items/tools/wirebrush.dm @@ -9,55 +9,3 @@ icon_state = "wirebrush" tool_behaviour = TOOL_RUSTSCRAPER toolspeed = 1 - -/** - * An advanced form of the wirebrush that trades the safety of the user for instant rust removal. - * If the person using this is unlucky they are going to die painfully. - */ -/obj/item/wirebrush/advanced - name = "advanced wirebrush" - desc = "An advanced wirebrush; uses radiation to almost instantly liquify rust." - icon_state = "wirebrush_adv" - toolspeed = 0.1 - - /// The amount of radiation to give to the user of this tool; regardless of what they did with it. - var/radiation_on_use = 20 - - /// How likely is a critical fail? - var/crit_fail_prob = 0 // SKYRAT EDIT CHANGE -- ORIGINALLY var/crit_fail_prob = 1 - - /// The amount of radiation to give to the user if they roll the worst effects. Negative numbers will heal radiation instead! - var/crit_fail_rads = 50 - - /// The amount of damage to take in BOTH Tox and Oxy on critical fail - var/crit_fail_damage = 15 - - /// We only apply damage and force vomit if the user has OVER this many rads - var/crit_fail_rads_threshold = 300 - -/obj/item/wirebrush/advanced/examine(mob/user) - . = ..() - . += span_danger("There is a warning label that indicates extended use of [src] may result in loss of hair, yellowing skin, and death.") - -/obj/item/wirebrush/advanced/pre_attack(atom/A, mob/living/user) - . = ..() - - if(!istype(user)) - return - - if(prob(crit_fail_prob)) - to_chat(user, span_danger("You feel a sharp pain as your entire body grows oddly warm.")) - user.radiation += crit_fail_rads - if(user.radiation > crit_fail_rads_threshold) // If you ignore the warning signs you get punished - user.emote("vomit") - user.adjustToxLoss(crit_fail_damage, forced=TRUE) - user.adjustOxyLoss(crit_fail_damage, forced=TRUE) - return - - user.radiation += radiation_on_use - - if(prob(25)) - user.emote("cough") - -/obj/item/wirebrush/advanced/pre_attack_secondary() - return SECONDARY_ATTACK_CALL_NORMAL diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index d6cee7af56b..4acc37ce570 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -25,7 +25,7 @@ pickup_sound = 'sound/items/handling/wirecutter_pickup.ogg' tool_behaviour = TOOL_WIRECUTTER toolspeed = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) /// If the item should be assigned a random color var/random_color = TRUE /// List of possible random colors diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 87ceb43ab11..9284cd07762 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -20,7 +20,7 @@ attack_verb_simple = list("bash", "batter", "bludgeon", "whack") tool_behaviour = TOOL_WRENCH toolspeed = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 30) /obj/item/wrench/suicide_act(mob/user) user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")) diff --git a/code/game/objects/items/vending_items.dm b/code/game/objects/items/vending_items.dm index fabbe8200fc..7f4e666c998 100644 --- a/code/game/objects/items/vending_items.dm +++ b/code/game/objects/items/vending_items.dm @@ -17,7 +17,7 @@ throw_speed = 1 throw_range = 7 w_class = WEIGHT_CLASS_BULKY - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 70, ACID = 30) // Built automatically from the corresponding vending machine. // If null, considered to be full. Otherwise, is list(/typepath = amount). diff --git a/code/game/objects/items/wayfinding.dm b/code/game/objects/items/wayfinding.dm index 37055667dea..d3701336396 100644 --- a/code/game/objects/items/wayfinding.dm +++ b/code/game/objects/items/wayfinding.dm @@ -9,7 +9,7 @@ desc = "A machine given the thankless job of trying to sell wayfinding pinpointers. They point to common locations." density = FALSE layer = HIGH_OBJ_LAYER - armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 60, BOMB = 90, BIO = 0, RAD = 0, FIRE = 100, ACID = 80) + armor = list(MELEE = 80, BULLET = 30, LASER = 30, ENERGY = 60, BOMB = 90, BIO = 0, FIRE = 100, ACID = 80) payment_department = ACCOUNT_CIV light_power = 0.5 light_range = MINIMUM_USEFUL_LIGHT_RANGE diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 6f6882c1d2f..06e32871213 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -12,7 +12,7 @@ attack_verb_continuous = list("bans") attack_verb_simple = list("ban") max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 70) resistance_flags = FIRE_PROOF /obj/item/banhammer/Initialize(mapload) @@ -74,7 +74,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 block_chance = 50 sharpness = SHARP_EDGED max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF /obj/item/claymore/Initialize(mapload) @@ -263,7 +263,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 block_chance = 50 sharpness = SHARP_EDGED max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF /obj/item/katana/suicide_act(mob/user) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index ef43bc55f4a..49073c2a1bd 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -259,11 +259,10 @@ energy = text2num(result["values"][ENERGY]),\ bomb = text2num(result["values"][BOMB]),\ bio = text2num(result["values"][BIO]),\ - rad = text2num(result["values"][RAD]),\ fire = text2num(result["values"][FIRE]),\ acid = text2num(result["values"][ACID])) - log_admin("[key_name(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], rad: [armor.rad], fire: [armor.fire], acid: [armor.acid]") - message_admins(span_notice("[key_name_admin(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], rad: [armor.rad], fire: [armor.fire], acid: [armor.acid]")) + log_admin("[key_name(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], fire: [armor.fire], acid: [armor.acid]") + message_admins(span_notice("[key_name_admin(usr)] modified the armor on [src] ([type]) to melee: [armor.melee], bullet: [armor.bullet], laser: [armor.laser], energy: [armor.energy], bomb: [armor.bomb], bio: [armor.bio], fire: [armor.fire], acid: [armor.acid]")) if(href_list[VV_HK_MASS_DEL_TYPE]) if(check_rights(R_DEBUG|R_SERVER)) var/action_type = tgui_alert(usr, "Strict type ([type]) or type and all subtypes?",,list("Strict type","Type and subtypes","Cancel")) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 8cfe33c2524..08773b1cf19 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -13,7 +13,7 @@ /obj/structure/Initialize(mapload) if (!armor) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) . = ..() if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH(src) diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 9a0be5ca6d6..9c6a6b282bb 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -9,7 +9,7 @@ req_access = list(ACCESS_BAR) max_integrity = 500 integrity_failure = 0.5 - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) buildable_sign = FALSE var/panel_open = FALSE diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 9e2c0192ecc..58faca0bfe1 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -9,7 +9,7 @@ drag_slowdown = 1.5 // Same as a prone mob max_integrity = 200 integrity_failure = 0.25 - armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 70, ACID = 60) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 70, ACID = 60) blocks_emissive = EMISSIVE_BLOCK_GENERIC /// The overlay for the closet's door diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index d3122936b71..4c8ddc347c6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -4,6 +4,6 @@ locked = TRUE icon_state = "secure" max_integrity = 250 - armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) secure = TRUE damage_deflection = 20 diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm index 13c052e5739..652db06c6d5 100644 --- a/code/game/objects/structures/crates_lockers/crates/secure.dm +++ b/code/game/objects/structures/crates_lockers/crates/secure.dm @@ -5,7 +5,7 @@ secure = TRUE locked = TRUE max_integrity = 500 - armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) var/tamperproof = 0 damage_deflection = 25 diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 211732116a9..caebbffeb0d 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -6,7 +6,7 @@ density = TRUE anchored = TRUE resistance_flags = ACID_PROOF - armor = list(MELEE = 30, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 70, ACID = 100) + armor = list(MELEE = 30, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 70, ACID = 100) max_integrity = 200 integrity_failure = 0.25 var/obj/item/showpiece = null diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 98b59cce238..0e30dc241ba 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -18,7 +18,6 @@ canSmoothWith = list(SMOOTH_GROUP_WALLS) can_be_unanchored = FALSE can_atmos_pass = ATMOS_PASS_DENSITY - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_MEDIUM_INSULATION var/mineral = /obj/item/stack/sheet/iron var/mineral_amount = 2 @@ -184,7 +183,13 @@ if(!active) if(world.time > last_event+15) active = 1 - radiation_pulse(src, 150) + radiation_pulse( + src, + max_range = 2, + threshold = RAD_LIGHT_INSULATION, + chance = URANIUM_IRRADIATION_CHANCE, + minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME, + ) for(var/turf/closed/wall/mineral/uranium/T in orange(1,src)) T.radiate() last_event = world.time diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index b869d8aa81a..9595ab84cd3 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -5,7 +5,7 @@ icon_state = "fireaxe" anchored = TRUE density = FALSE - armor = list(MELEE = 50, BULLET = 20, LASER = 0, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 90, ACID = 50) + armor = list(MELEE = 50, BULLET = 20, LASER = 0, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 90, ACID = 50) max_integrity = 150 integrity_failure = 0.33 var/locked = TRUE diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 87275f4c8c7..39758f8b605 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -9,7 +9,6 @@ var/can_displace = TRUE //If the girder can be moved around by wrenching it var/next_beep = 0 //Prevents spamming of the construction sound max_integrity = 200 - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_VERY_LIGHT_INSULATION /obj/structure/girder/examine(mob/user) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 7872a980f35..b66ed81839e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -10,9 +10,9 @@ density = TRUE anchored = TRUE pass_flags_self = PASSGRILLE - flags_1 = CONDUCT_1 | RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 + flags_1 = CONDUCT_1 pressure_resistance = 5*ONE_ATMOSPHERE - armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 0, ACID = 0) + armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 0, ACID = 0) max_integrity = 50 integrity_failure = 0.4 var/rods_type = /obj/item/stack/rods diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 4c2a0c11897..b7cd446950e 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -6,7 +6,7 @@ icon = 'icons/effects/effects.dmi' anchored = TRUE max_integrity = 1 - armor = list(MELEE = 0, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) + armor = list(MELEE = 0, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 0, BIO = 0, FIRE = 20, ACID = 20) var/obj/item/holosign_creator/projector var/use_vis_overlay = TRUE @@ -86,7 +86,6 @@ /obj/structure/holosign/barrier/engineering icon_state = "holosign_engi" - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_LIGHT_INSULATION /obj/structure/holosign/barrier/atmos @@ -97,7 +96,6 @@ anchored = TRUE can_atmos_pass = ATMOS_PASS_NO alpha = 150 - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_LIGHT_INSULATION /obj/structure/holosign/barrier/atmos/sturdy diff --git a/code/game/objects/structures/industrial_lift.dm b/code/game/objects/structures/industrial_lift.dm index 91e1505940d..9c055c8b74d 100644 --- a/code/game/objects/structures/industrial_lift.dm +++ b/code/game/objects/structures/industrial_lift.dm @@ -142,7 +142,7 @@ GLOBAL_LIST_EMPTY(lifts) base_icon_state = "catwalk" density = FALSE anchored = TRUE - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) max_integrity = 50 layer = LATTICE_LAYER //under pipes plane = FLOOR_PLANE diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 087927aff95..e38d4b5c017 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -6,7 +6,7 @@ base_icon_state = "lattice" density = FALSE anchored = TRUE - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) max_integrity = 50 layer = LATTICE_LAYER //under pipes plane = FLOOR_PLANE diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 1ae0aa92c99..0cd89fb7733 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -11,9 +11,8 @@ icon = 'icons/obj/doors/mineral_doors.dmi' icon_state = "metal" max_integrity = 200 - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 50, ACID = 50) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 50, ACID = 50) can_atmos_pass = ATMOS_PASS_DENSITY - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_MEDIUM_INSULATION var/door_opened = FALSE //if it's open or not. diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index 840b2d7533b..e7ba3382927 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -9,8 +9,7 @@ layer = SIGN_LAYER custom_materials = list(/datum/material/gold = 2000) max_integrity = 200 //Twice as durable as regular signs. - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) ///Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved. var/engraved = FALSE @@ -25,7 +24,7 @@ w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/gold = 2000) max_integrity = 200 - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) ///This points the item to make the proper structure when placed on a wall. var/plaque_path = /obj/structure/plaque ///Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index b18766958a4..a09eb7236c7 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -4,7 +4,7 @@ gender = PLURAL icon = 'icons/obj/stationobjs.dmi'//ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "plasticflaps" - armor = list(MELEE = 100, BULLET = 80, LASER = 80, ENERGY = 100, BOMB = 50, BIO = 100, RAD = 100, FIRE = 50, ACID = 50) + armor = list(MELEE = 100, BULLET = 80, LASER = 80, ENERGY = 100, BOMB = 50, BIO = 100, FIRE = 50, ACID = 50) density = FALSE anchored = TRUE can_atmos_pass = ATMOS_PASS_NO diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 327f030a4bf..281cfbb4a17 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -8,7 +8,7 @@ anchored = TRUE pass_flags_self = LETPASSTHROW|PASSSTRUCTURE /// armor more or less consistent with grille. max_integrity about one time and a half that of a grille. - armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 0, ACID = 0) + armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 0, ACID = 0) max_integrity = 75 var/climbable = TRUE diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index e3e29d571a9..79c525378ca 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -150,8 +150,7 @@ wash_atom(AM) /obj/machinery/shower/proc/wash_atom(atom/target) - target.wash(CLEAN_RAD | CLEAN_TYPE_WEAK) // Clean radiation non-instantly - target.wash(CLEAN_WASH) + target.wash(CLEAN_RAD | CLEAN_WASH) SEND_SIGNAL(target, COMSIG_ADD_MOOD_EVENT, "shower", /datum/mood_event/nice_shower) reagents.expose(target, (TOUCH), SHOWER_EXPOSURE_MULTIPLIER * SHOWER_SPRAY_VOLUME / max(reagents.total_volume, SHOWER_SPRAY_VOLUME)) if(isliving(target)) diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 31eb646808b..aa8db6f0340 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -6,10 +6,9 @@ layer = SIGN_LAYER custom_materials = list(/datum/material/plastic = 2000) max_integrity = 100 - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) ///Determines if a sign is unwrenchable. var/buildable_sign = TRUE - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 resistance_flags = FLAMMABLE ///This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override. var/is_editable = FALSE @@ -33,7 +32,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/plastic = 2000) - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) resistance_flags = FLAMMABLE max_integrity = 100 ///The type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item. diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 9a384c454cd..edad35b4305 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -317,7 +317,7 @@ canSmoothWith = list(SMOOTH_GROUP_GLASS_TABLES) max_integrity = 70 resistance_flags = ACID_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) var/list/debris = list() /obj/structure/table/glass/Initialize(mapload) @@ -520,7 +520,7 @@ buildstack = /obj/item/stack/sheet/plasteel max_integrity = 200 integrity_failure = 0.25 - armor = list(MELEE = 10, BULLET = 30, LASER = 30, ENERGY = 100, BOMB = 20, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) + armor = list(MELEE = 10, BULLET = 30, LASER = 30, ENERGY = 100, BOMB = 20, BIO = 0, FIRE = 80, ACID = 70) //SKYRAT EDIT ADDITION /obj/structure/table/reinforced/Initialize() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index b834b086382..10d6188e297 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -6,11 +6,11 @@ layer = ABOVE_OBJ_LAYER //Just above doors pressure_resistance = 4*ONE_ATMOSPHERE anchored = TRUE //initially is 0 for tile smoothing - flags_1 = ON_BORDER_1 | RAD_PROTECT_CONTENTS_1 + flags_1 = ON_BORDER_1 max_integrity = 25 can_be_unanchored = TRUE resistance_flags = ACID_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) can_atmos_pass = ATMOS_PASS_PROC rad_insulation = RAD_VERY_LIGHT_INSULATION pass_flags_self = PASSGLASS @@ -394,8 +394,8 @@ icon_state = "rwindow" reinf = TRUE heat_resistance = 1600 - //armor = list(MELEE = 80, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, BIO = 100, RAD = 100, FIRE = 80, ACID = 100) //ORIGINAL - armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, BIO = 100, RAD = 100, FIRE = 80, ACID = 100) + //armor = list(MELEE = 80, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, BIO = 100, FIRE = 80, ACID = 100) //ORIGINAL + armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, BIO = 100, FIRE = 80, ACID = 100) max_integrity = 75 explosion_block = 1 damage_deflection = 11 @@ -507,7 +507,7 @@ icon_state = "plasmawindow" reinf = FALSE heat_resistance = 25000 - armor = list(MELEE = 80, BULLET = 5, LASER = 0, ENERGY = 0, BOMB = 45, BIO = 100, RAD = 100, FIRE = 99, ACID = 100) + armor = list(MELEE = 80, BULLET = 5, LASER = 0, ENERGY = 0, BOMB = 45, BIO = 100, FIRE = 99, ACID = 100) max_integrity = 200 explosion_block = 1 glass_type = /obj/item/stack/sheet/plasmaglass @@ -544,7 +544,7 @@ icon_state = "plasmarwindow" reinf = TRUE heat_resistance = 50000 - armor = list(MELEE = 80, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 60, BIO = 100, RAD = 100, FIRE = 99, ACID = 100) + armor = list(MELEE = 80, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 60, BIO = 100, FIRE = 99, ACID = 100) max_integrity = 500 damage_deflection = 21 explosion_block = 2 @@ -672,7 +672,7 @@ flags_1 = PREVENT_CLICK_UNDER_1 reinf = TRUE heat_resistance = 1600 - armor = list(MELEE = 90, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 100) + armor = list(MELEE = 90, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 80, ACID = 100) smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE) canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE) @@ -701,7 +701,7 @@ fulltile = TRUE flags_1 = PREVENT_CLICK_UNDER_1 heat_resistance = 1600 - armor = list(MELEE = 95, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 100) + armor = list(MELEE = 95, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 80, ACID = 100) smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) @@ -734,7 +734,7 @@ decon_speed = 10 can_atmos_pass = ATMOS_PASS_YES resistance_flags = FLAMMABLE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) knocksound = "pageturn" bashsound = 'sound/weapons/slashmiss.ogg' breaksound = 'sound/items/poster_ripped.ogg' diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm index cd0de04812f..57f99b11589 100644 --- a/code/game/shuttle_engines.dm +++ b/code/game/shuttle_engines.dm @@ -9,7 +9,7 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS) max_integrity = 500 - armor = list(MELEE = 100, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 70) //default + ignores melee + armor = list(MELEE = 100, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) //default + ignores melee can_atmos_pass = ATMOS_PASS_DENSITY /obj/structure/shuttle/engine diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 19717ccc383..333cf42b5f3 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -3,7 +3,6 @@ opacity = TRUE density = TRUE blocks_air = TRUE - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 rad_insulation = RAD_MEDIUM_INSULATION pass_flags_self = PASSCLOSEDTURF diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm index 084d0c4525b..930b8b67e6a 100644 --- a/code/game/turfs/closed/wall/mineral_walls.dm +++ b/code/game/turfs/closed/wall/mineral_walls.dm @@ -92,7 +92,13 @@ if(!active) if(world.time > last_event+15) active = 1 - radiation_pulse(src, 40) + radiation_pulse( + src, + max_range = 3, + threshold = RAD_LIGHT_INSULATION, + chance = URANIUM_IRRADIATION_CHANCE, + minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME, + ) for(var/turf/closed/wall/mineral/uranium/T in orange(1,src)) T.radiate() last_event = world.time diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index b654ebd4b3b..2ac36c0a96f 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -313,28 +313,3 @@ /turf/open/proc/ClearWet()//Nuclear option of immediately removing slipperyness from the tile instead of the natural drying over time qdel(GetComponent(/datum/component/wet_floor)) - -/turf/open/rad_act(strength) - . = ..() - var/gas_change = FALSE - var/list/cached_gases = air.gases - if(cached_gases[/datum/gas/oxygen] && cached_gases[/datum/gas/carbon_dioxide] && air.temperature <= PLUOXIUM_TEMP_CAP) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/oxygen][MOLES] * 1000, cached_gases[/datum/gas/carbon_dioxide][MOLES] * 2000) - cached_gases[/datum/gas/carbon_dioxide][MOLES] -= pulse_strength / 2000 - cached_gases[/datum/gas/oxygen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/pluoxium, air) - cached_gases[/datum/gas/pluoxium][MOLES] += pulse_strength / 4000 - strength -= pulse_strength - - if(cached_gases[/datum/gas/hydrogen]) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/hydrogen][MOLES] * 1000) - cached_gases[/datum/gas/hydrogen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/tritium, air) - cached_gases[/datum/gas/tritium][MOLES] += pulse_strength / 1000 - strength -= pulse_strength - - if(gas_change) - air.garbage_collect() - air_update_turf(FALSE, FALSE) diff --git a/code/game/turfs/open/floor/mineral_floor.dm b/code/game/turfs/open/floor/mineral_floor.dm index 07f6bddafaa..1fe6fdd28ed 100644 --- a/code/game/turfs/open/floor/mineral_floor.dm +++ b/code/game/turfs/open/floor/mineral_floor.dm @@ -286,7 +286,13 @@ if(!active) if(world.time > last_event+15) active = TRUE - radiation_pulse(src, 10) + radiation_pulse( + src, + max_range = 1, + threshold = RAD_VERY_LIGHT_INSULATION, + chance = (URANIUM_IRRADIATION_CHANCE / 3), + minimum_exposure_time = URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME, + ) for(var/turf/open/floor/mineral/uranium/T in orange(1,src)) T.radiate() last_event = world.time diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 32be980042a..3c1db11ed3f 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -13,7 +13,7 @@ icon_state = "vest_stealth" inhand_icon_state = "armor" blood_overlay_type = "armor" - armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 25, BOMB = 15, BIO = 15, RAD = 15, FIRE = 70, ACID = 70) + armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 25, BOMB = 15, BIO = 15, FIRE = 70, ACID = 70) actions_types = list(/datum/action/item_action/hands_free/activate) allowed = list( /obj/item/abductor, @@ -26,8 +26,8 @@ /// Cooldown in seconds var/combat_cooldown = 20 var/datum/icon_snapshot/disguise - var/stealth_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 25, 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) + var/stealth_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 25, BOMB = 15, BIO = 15, FIRE = 70, ACID = 70) + var/combat_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 90, ACID = 90) /obj/item/clothing/suit/armor/abductor/vest/Initialize(mapload) . = ..() @@ -866,5 +866,5 @@ Congratulations! You are now trained for invasive xenobiology research!"} icon_state = "abductor" inhand_icon_state = "bl_suit" worn_icon = 'icons/mob/clothing/under/syndicate.dmi' - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, rad = 0, fire = 0, acid = 0) + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 10, fire = 0, acid = 0) can_adjust = FALSE diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 076b2e80d98..b7c3814daa4 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -14,7 +14,7 @@ /// How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed. var/point_return = 0 max_integrity = BLOB_REGULAR_MAX_HP - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 70) /// how much health this blob regens when pulsed var/health_regen = BLOB_REGULAR_HP_REGEN /// We got pulsed when? diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm index 305cd2b07b3..f8830b43279 100644 --- a/code/modules/antagonists/blob/structures/core.dm +++ b/code/modules/antagonists/blob/structures/core.dm @@ -4,7 +4,7 @@ icon_state = "blank_blob" desc = "A huge, pulsating yellow mass." max_integrity = BLOB_CORE_MAX_HP - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 75, ACID = 90) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 75, ACID = 90) explosion_block = 6 point_return = -1 health_regen = 0 //we regen in Life() instead of when pulsed diff --git a/code/modules/antagonists/blob/structures/node.dm b/code/modules/antagonists/blob/structures/node.dm index 0ee8a1a6001..fd018cdaf6b 100644 --- a/code/modules/antagonists/blob/structures/node.dm +++ b/code/modules/antagonists/blob/structures/node.dm @@ -5,7 +5,7 @@ desc = "A large, pulsating yellow mass." max_integrity = BLOB_NODE_MAX_HP health_regen = BLOB_NODE_HP_REGEN - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 65, ACID = 90) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 65, ACID = 90) point_return = BLOB_REFUND_NODE_COST claim_range = BLOB_NODE_CLAIM_RANGE pulse_range = BLOB_NODE_PULSE_RANGE diff --git a/code/modules/antagonists/blob/structures/shield.dm b/code/modules/antagonists/blob/structures/shield.dm index 9809545e735..d086050210c 100644 --- a/code/modules/antagonists/blob/structures/shield.dm +++ b/code/modules/antagonists/blob/structures/shield.dm @@ -10,7 +10,7 @@ explosion_block = 3 point_return = BLOB_REFUND_STRONG_COST atmosblock = TRUE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 90, ACID = 90) /obj/structure/blob/shield/scannerreport() if(atmosblock) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 6fb3bb8a4df..2d497702796 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -476,7 +476,7 @@ item_flags = DROPDEL clothing_flags = STOPSPRESSUREDAMAGE //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/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) //No armor at all. + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 90, ACID = 90) //No armor at all. actions_types = list() cell = null show_hud = FALSE @@ -504,7 +504,7 @@ desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front." item_flags = DROPDEL clothing_flags = STOPSPRESSUREDAMAGE - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 90, ACID = 90) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/head/helmet/space/changeling/Initialize(mapload) @@ -535,7 +535,7 @@ icon_state = "lingarmor" item_flags = DROPDEL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 4, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 4, FIRE = 90, ACID = 90) flags_inv = HIDEJUMPSUIT cold_protection = 0 heat_protection = 0 @@ -551,7 +551,7 @@ desc = "A tough, hard covering of black chitin with transparent chitin in front." icon_state = "lingarmorhelmet" item_flags = DROPDEL - armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 4, RAD = 0, FIRE = 90, ACID = 90) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 4, FIRE = 90, ACID = 90) flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE|HIDESNOUT /obj/item/clothing/head/helmet/changeling/Initialize(mapload) diff --git a/code/modules/antagonists/clown_ops/clown_weapons.dm b/code/modules/antagonists/clown_ops/clown_weapons.dm index 8f0b5af478c..ea4a2133e6c 100644 --- a/code/modules/antagonists/clown_ops/clown_weapons.dm +++ b/code/modules/antagonists/clown_ops/clown_weapons.dm @@ -17,7 +17,7 @@ desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeak at 100% capacity." clothing_flags = NOSLIP slowdown = SHOES_SLOWDOWN - armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 70, ACID = 50) strip_delay = 70 resistance_flags = NONE permeability_coefficient = 0.05 @@ -32,7 +32,7 @@ name = "mk-honk combat shoes" desc = "The culmination of years of clown combat research, these shoes leave a trail of chaos in their wake. They will slowly recharge themselves over time, or can be manually charged with bananium." slowdown = SHOES_SLOWDOWN - armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 70, ACID = 50) strip_delay = 70 resistance_flags = NONE permeability_coefficient = 0.05 diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 5897c80e0df..36c1c4575ce 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -322,7 +322,7 @@ desc = "A torn, dust-caked hood. Strange letters line the inside." flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS flags_cover = HEADCOVERSEYES - armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 40, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 40, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD @@ -335,7 +335,7 @@ inhand_icon_state = "cultrobes" body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 40, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 40, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) flags_inv = HIDEJUMPSUIT cold_protection = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT @@ -371,7 +371,7 @@ inhand_icon_state = "magus" desc = "A helm worn by the followers of Nar'Sie." flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDESNOUT - armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH /obj/item/clothing/suit/magusred @@ -381,7 +381,7 @@ inhand_icon_state = "magusred" body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/head/helmet/space/hardsuit/cult @@ -389,7 +389,7 @@ desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." icon_state = "cult_helmet" inhand_icon_state = "cult_helmet" - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, FIRE = 100, ACID = 100) light_system = NO_LIGHT_SUPPORT light_range = 0 actions_types = list() @@ -401,7 +401,7 @@ desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." w_class = WEIGHT_CLASS_BULKY allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals/) - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 30, FIRE = 100, ACID = 100) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult /obj/item/clothing/suit/space/hardsuit/cult/real @@ -426,7 +426,7 @@ icon_state = "cult_armor" inhand_icon_state = "cult_armor" w_class = WEIGHT_CLASS_BULKY - armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 50, BOMB = 50, BIO = 30, RAD = 30, FIRE = 50, ACID = 60) + armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 50, BOMB = 50, BIO = 30, FIRE = 50, ACID = 60) hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/cult_shield /obj/item/clothing/suit/hooded/cultrobes/cult_shield/setup_shielding() @@ -443,7 +443,7 @@ name = "empowered cultist helmet" desc = "Empowered helmet which creates a powerful shield around the user." icon_state = "cult_hoodalt" - armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 50, BOMB = 50, BIO = 30, RAD = 30, FIRE = 50, ACID = 60) + armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 50, BOMB = 50, BIO = 30, FIRE = 50, ACID = 60) /obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot) ..() @@ -458,14 +458,14 @@ name = "flagellant's robes" desc = "Blood-soaked robes infused with dark magic; allows the user to move at inhuman speeds, but at the cost of increased damage." allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list(MELEE = -45, BULLET = -45, LASER = -45,ENERGY = -55, BOMB = -45, BIO = -45, RAD = -45, FIRE = 0, ACID = 0) + armor = list(MELEE = -45, BULLET = -45, LASER = -45,ENERGY = -55, BOMB = -45, BIO = -45, FIRE = 0, ACID = 0) slowdown = -0.6 hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood name = "flagellant's hood" desc = "Blood-soaked hood infused with dark magic." - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot) ..() diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm index 43d9c0d7315..8805d27dbc2 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm @@ -159,7 +159,7 @@ allowed = list(/obj/item/melee/sickly_blade, /obj/item/forbidden_book, /obj/item/living_heart) hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/eldritch // slightly better than normal cult robes - armor = list(MELEE = 50, BULLET = 65, LASER = 35,ENERGY = 45, BOMB = 35, BIO = 20, RAD = 0, FIRE = 20, ACID = 20) //SKYRAT EDIT - ORIGINAL: armor = list(MELEE = 50, BULLET = 50, LASER = 50,ENERGY = 50, BOMB = 35, BIO = 20, RAD = 0, FIRE = 20, ACID = 20) + armor = list(MELEE = 50, BULLET = 65, LASER = 35,ENERGY = 45, BOMB = 35, BIO = 20, FIRE = 20, ACID = 20) //SKYRAT EDIT - ORIGINAL: armor = list(MELEE = 50, BULLET = 50, LASER = 50,ENERGY = 50, BOMB = 35, BIO = 20, FIRE = 20, ACID = 20) /obj/item/reagent_containers/glass/beaker/eldritch name = "flask of eldritch essence" @@ -175,7 +175,7 @@ flags_cover = NONE desc = "Black like tar, doesn't reflect any light. Runic symbols line the outside, with each flash you loose comprehension of what you are seeing." item_flags = EXAMINE_SKIP - armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/hooded/cultrobes/void name = "void cloak" @@ -186,7 +186,7 @@ hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/void flags_inv = NONE // slightly worse than normal cult robes - armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, FIRE = 0, ACID = 0) pocket_storage_component_path = /datum/component/storage/concrete/pockets/void_cloak alternative_mode = TRUE diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 1a1cc8e73b0..9fb83735989 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -641,7 +641,7 @@ This is here to make the tiles around the station mininuke change when it's arme desc = "Better keep this safe." icon_state = "nucleardisk" max_integrity = 250 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/fake = FALSE var/turf/lastlocation diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 934e6d8a3a5..f72a5716eb0 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -72,7 +72,6 @@ /mob/living/simple_animal/revenant/Initialize(mapload) . = ..() AddElement(/datum/element/simple_flying) - flags_1 |= RAD_NO_CONTAMINATE_1 ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) ADD_TRAIT(src, TRAIT_SIXTHSENSE, INNATE_TRAIT) AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null)) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index f5cd9a66bc5..b3f10328785 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -165,10 +165,6 @@ energy_released += (FIRE_HYDROGEN_ENERGY_RELEASED * burned_fuel) cached_results["fire"] += burned_fuel * 10 - if(burned_fuel) - if(location && prob(10) && burned_fuel > TRITIUM_MINIMUM_RADIATION_ENERGY) //woah there let's not crash the server - radiation_pulse(location, energy_released / TRITIUM_BURN_RADIOACTIVITY_FACTOR) - if(energy_released > 0) var/new_heat_capacity = air.heat_capacity() if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) @@ -862,7 +858,6 @@ if(cached_gases[/datum/gas/bz][MOLES] - consumed_amount < 0) return NO_REACTION if(cached_gases[/datum/gas/bz][MOLES] < 30) - radiation_pulse(location, consumed_amount * 20, 2.5, TRUE, FALSE) cached_gases[/datum/gas/bz][MOLES] -= consumed_amount else for(var/mob/living/carbon/L in location) @@ -898,7 +893,6 @@ var produced_amount = min(5, cached_gases[/datum/gas/tritium][MOLES], cached_gases[/datum/gas/proto_nitrate][MOLES] * INVERSE(0.01)) if(cached_gases[/datum/gas/tritium][MOLES] - produced_amount < 0 || cached_gases[/datum/gas/proto_nitrate][MOLES] - produced_amount * 0.01 < 0) return NO_REACTION - location.rad_act(produced_amount * 2.4) ASSERT_GAS(/datum/gas/hydrogen, air) cached_gases[/datum/gas/tritium][MOLES] -= produced_amount cached_gases[/datum/gas/proto_nitrate][MOLES] -= produced_amount * 0.01 diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 859647758cc..e9dbe002f55 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -74,7 +74,7 @@ req_access = list(ACCESS_ATMOSPHERICS) max_integrity = 250 integrity_failure = 0.33 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 90, ACID = 30) resistance_flags = FIRE_PROOF var/danger_level = 0 diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index cd0be18e3c4..b3359b28d99 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -77,7 +77,7 @@ normalize_cardinal_directions() nodes = new(device_type) if (!armor) - armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 100, ACID = 70) + armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 100, ACID = 70) ..() if(process) SSair.start_processing_machine(src) diff --git a/code/modules/atmospherics/machinery/bluespace_vendor.dm b/code/modules/atmospherics/machinery/bluespace_vendor.dm index 01f429aae95..a0346376b24 100644 --- a/code/modules/atmospherics/machinery/bluespace_vendor.dm +++ b/code/modules/atmospherics/machinery/bluespace_vendor.dm @@ -18,7 +18,7 @@ desc = "Sells gas tanks with custom mixes for all the family!" max_integrity = 300 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 80, ACID = 30) layer = OBJ_LAYER ///The bluespace sender that this vendor is connected to diff --git a/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm index ad4aaf777cb..43500d97de3 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm @@ -10,7 +10,7 @@ density = TRUE max_integrity = 300 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 80, ACID = 30) layer = OBJ_LAYER circuit = /obj/item/circuitboard/machine/thermomachine diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm index 114d4f2cbc6..92b2bbe2378 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_core.dm @@ -76,8 +76,6 @@ var/power_output = 0 ///Instability effects how chaotic the behavior of the reaction is var/instability = 0 - ///Amount of radiation that the machine can output - var/rad_power = 0 ///Difference between the gases temperature and the internal temperature of the reaction var/delta_temperature = 0 ///Energy from the reaction lost from the molecule colliding between themselves. diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm index 67b07bad742..04de52b589e 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm @@ -403,7 +403,7 @@ check_gravity_pulse(delta_time) - emit_rads(radiation) + emit_rads() /obj/machinery/atmospherics/components/unary/hypertorus/core/proc/evaporate_moderator(delta_time) // Don't evaporate if the reaction is dead diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm index cef3fc64a46..385dc6cb42d 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_procs.dm @@ -415,7 +415,6 @@ var/emp_light_size = 0 var/emp_heavy_size = 0 var/rad_pulse_size = 0 - var/rad_pulse_strength = 0 var/gas_spread = 0 var/gas_pockets = 0 var/critical = selected_fuel.meltdown_flags & HYPERTORUS_FLAG_CRITICAL_MELTDOWN @@ -440,8 +439,7 @@ emp_light_size = power_level * 3 emp_heavy_size = power_level * 1 if(rad_pulse) - rad_pulse_size = (1 / (power_level + 1)) - rad_pulse_strength = power_level * 3000 + rad_pulse_size = 2 * power_level + 8 gas_pockets = 5 gas_spread = power_level * 2 @@ -450,8 +448,7 @@ emp_light_size = power_level * 5 emp_heavy_size = power_level * 3 if(rad_pulse) - rad_pulse_size = (1 / (power_level + 3)) - rad_pulse_strength = power_level * 5000 + rad_pulse_size = power_level + 24 gas_pockets = 7 gas_spread = power_level * 4 @@ -460,8 +457,7 @@ emp_light_size = power_level * 7 emp_heavy_size = power_level * 5 if(rad_pulse) - rad_pulse_size = (1 / (power_level + 5)) - rad_pulse_strength = power_level * 7000 + rad_pulse_size = power_level + 34 gas_pockets = 10 gas_spread = power_level * 6 @@ -470,8 +466,7 @@ emp_light_size = power_level * 9 emp_heavy_size = power_level * 7 if(rad_pulse) - rad_pulse_size = (1 / (power_level + 7)) - rad_pulse_strength = power_level * 9000 + rad_pulse_size = power_level + 44 gas_pockets = 15 gas_spread = power_level * 8 @@ -513,10 +508,9 @@ if(rad_pulse) radiation_pulse( source = loc, - intensity = rad_pulse_strength, - range_modifier = rad_pulse_size, - log = TRUE - ) + max_range = rad_pulse_size, + threshold = 0.05, + ) if(em_pulse) empulse( @@ -544,9 +538,12 @@ /** * Emit radiation */ -/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/emit_rads(radiation) - rad_power = clamp(radiation / 1e5, 0, FUSION_RAD_MAX) - radiation_pulse(loc, rad_power) +/obj/machinery/atmospherics/components/unary/hypertorus/core/proc/emit_rads() + radiation_pulse( + src, + max_range = 6, + threshold = 0.3, + ) /* * HFR cracking related procs diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm index 9ef81e80cdc..b41bc780f37 100644 --- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm +++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/crystallizer.dm @@ -11,7 +11,7 @@ layer = ABOVE_MOB_LAYER density = TRUE max_integrity = 300 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 80, ACID = 30) circuit = /obj/item/circuitboard/machine/crystallizer pipe_flags = PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY vent_movement = NONE diff --git a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm index ba88a1edc4c..e3d47a71425 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/bluespace_sender.dm @@ -6,7 +6,7 @@ density = TRUE max_integrity = 300 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 80, ACID = 30) layer = OBJ_LAYER circuit = /obj/item/circuitboard/machine/bluespace_sender pipe_flags = PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 6e26eb86492..567acf2a0ea 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -69,7 +69,7 @@ icon_state = "pod-off" density = TRUE max_integrity = 350 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 30, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 30, ACID = 30) layer = MOB_LAYER state_open = FALSE circuit = /obj/item/circuitboard/machine/cryo_tube diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index 015eb06348d..9ac268c1826 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -9,7 +9,7 @@ idle_power_usage = 2 active_power_usage = 4 max_integrity = 150 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 40, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 40, ACID = 0) greyscale_config = /datum/greyscale_config/meter greyscale_colors = COLOR_GRAY ///To connect to the ntnet diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index fc19b2ce65d..450b2983e7c 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -44,7 +44,7 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) greyscale_colors = "#ffff00#000000" density = TRUE volume = 1000 - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 80, ACID = 50) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 80, ACID = 50) max_integrity = 250 integrity_failure = 0.4 pressure_resistance = 7 * ONE_ATMOSPHERE diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index 862b58411ea..11a70627bd2 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/atmos.dmi' use_power = NO_POWER_USE max_integrity = 250 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 60, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 60, ACID = 30) anchored = FALSE ///Stores the gas mixture of the portable component. Don't access this directly, use return_air() so you support the temporary processing it provides @@ -190,28 +190,3 @@ investigate_log("was smacked with \a [item] by [key_name(user)].", INVESTIGATE_ATMOS) add_fingerprint(user) return ..() - -/obj/machinery/portable_atmospherics/rad_act(strength) - . = ..() - var/gas_change = FALSE - var/list/cached_gases = air_contents.gases - if(cached_gases[/datum/gas/oxygen] && cached_gases[/datum/gas/carbon_dioxide] && air_contents.temperature <= PLUOXIUM_TEMP_CAP) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/oxygen][MOLES] * 1000, cached_gases[/datum/gas/carbon_dioxide][MOLES] * 2000) - cached_gases[/datum/gas/carbon_dioxide][MOLES] -= pulse_strength / 2000 - cached_gases[/datum/gas/oxygen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/pluoxium, air_contents) - cached_gases[/datum/gas/pluoxium][MOLES] += pulse_strength / 4000 - strength -= pulse_strength - - if(cached_gases[/datum/gas/hydrogen]) - gas_change = TRUE - var/pulse_strength = min(strength, cached_gases[/datum/gas/hydrogen][MOLES] * 1000) - cached_gases[/datum/gas/hydrogen][MOLES] -= pulse_strength / 1000 - ASSERT_GAS(/datum/gas/tritium, air_contents) - cached_gases[/datum/gas/tritium][MOLES] += pulse_strength / 1000 - strength -= pulse_strength - - if(gas_change) - air_contents.garbage_collect() - SSair.start_processing_machine(src) diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 0425df76041..dad9e25f702 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -440,7 +440,7 @@ /obj/item/clothing/under/syndicate/coldres name = "insulated tactical turtleneck" desc = "A nondescript 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, FIRE = 25, ACID = 25) + armor = list(MELEE = 20, BULLET = 10, LASER = 0,ENERGY = 5, BOMB = 0, BIO = 0, FIRE = 25, ACID = 25) cold_protection = CHEST|GROIN|ARMS|LEGS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/capture_the_flag/ctf_equipment.dm b/code/modules/capture_the_flag/ctf_equipment.dm index 217e61c4c56..598ac1c7986 100644 --- a/code/modules/capture_the_flag/ctf_equipment.dm +++ b/code/modules/capture_the_flag/ctf_equipment.dm @@ -198,7 +198,7 @@ worn_icon = 'icons/mob/clothing/suits/ctf.dmi' icon_state = "standard" // Adding TRAIT_NODROP is done when the CTF spawner equips people - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) // CTF gear gives no protection outside of the shield + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) // CTF gear gives no protection outside of the shield allowed = null greyscale_config = /datum/greyscale_config/ctf_standard greyscale_config_worn = /datum/greyscale_config/ctf_standard_worn diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 49503053b81..01585228bac 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -11,7 +11,7 @@ allow_dense = TRUE delivery_icon = null can_weld_shut = FALSE - armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 100, BIO = 0, RAD = 0, FIRE = 100, ACID = 80) + armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 100, BIO = 0, FIRE = 100, ACID = 80) anchored = TRUE //So it cant slide around after landing anchorable = FALSE flags_1 = PREVENT_CONTENTS_EXPLOSION_1 diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 54563b92900..45874677550 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -381,9 +381,9 @@ random_sensor = FALSE resistance_flags = NONE can_adjust = FALSE - special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit - special_desc = "A chameleon jumpsuit employed by the Syndicate in infiltration operations." // Skyrat edit - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + special_desc_requirement = EXAMINE_CHECK_SYNDICATE // SKYRAT EDIT + special_desc = "A chameleon jumpsuit employed by the Syndicate in infiltration operations." // SKYRAT EDIT + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action @@ -412,9 +412,9 @@ inhand_icon_state = "armor" blood_overlay_type = "armor" resistance_flags = NONE - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) - special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit - special_desc = "A chameleon vest employed by the Syndicate in infiltration operations." // Skyrat edit + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) + special_desc_requirement = EXAMINE_CHECK_SYNDICATE // SKYRAT EDIT + special_desc = "A chameleon vest employed by the Syndicate in infiltration operations." // SKYRAT EDIT var/datum/action/item_action/chameleon/change/chameleon_action @@ -442,9 +442,9 @@ icon_state = "meson" inhand_icon_state = "meson" resistance_flags = NONE - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) - special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit - special_desc = "Chameleon glasses employed by the Syndicate in infiltration operations." // Skyrat edit + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) + special_desc_requirement = EXAMINE_CHECK_SYNDICATE // SKYRAT EDIT + special_desc = "Chameleon glasses employed by the Syndicate in infiltration operations." // SKYRAT EDIT var/datum/action/item_action/chameleon/change/chameleon_action @@ -475,7 +475,7 @@ special_desc = "A pair of chameleon gloves employed by the Syndicate in infiltration operations." // Skyrat edit resistance_flags = NONE - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action @@ -505,7 +505,7 @@ special_desc = "A chameleon hat employed by the Syndicate in infiltration operations." resistance_flags = NONE - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action @@ -530,7 +530,7 @@ /obj/item/clothing/head/chameleon/drone // The camohat, I mean, holographic hat projection, is part of the // drone itself. - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) // which means it offers no protection, it's just air and light /obj/item/clothing/head/chameleon/drone/Initialize(mapload) @@ -548,7 +548,7 @@ icon_state = "gas_alt" inhand_icon_state = "gas_alt" resistance_flags = NONE - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) clothing_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT permeability_coefficient = 0.01 @@ -586,7 +586,7 @@ /obj/item/clothing/mask/chameleon/drone //Same as the drone chameleon hat, undroppable and no protection - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) // Can drones use the voice changer part? Let's not find out. voice_change = 0 @@ -611,7 +611,7 @@ desc = "A pair of black shoes." permeability_coefficient = 0.05 resistance_flags = NONE - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit special_desc = "A pair of chameleon shoes employed by the Syndicate in infiltration operations." // Skyrat edit @@ -764,7 +764,7 @@ desc = "A neosilk clip-on tie." icon_state = "blacktie" resistance_flags = NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50) w_class = WEIGHT_CLASS_SMALL special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit special_desc = "A chameleon tie employed by the Syndicate in infiltration operations." // Skyrat edit diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 11b6f3efdda..a0ee09a3f21 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -335,8 +335,6 @@ armor_list += list("MAGIC" = armor.magic) if(armor.melee) armor_list += list("MELEE" = armor.melee) - if(armor.rad) - armor_list += list("RADIATION" = armor.rad) if(LAZYLEN(durability_list)) durability_list.Cut() diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 66d3bf8870b..da028138978 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -145,7 +145,7 @@ actions_types = list(/datum/action/item_action/toggle_research_scanner) glass_colour_type = /datum/client_colour/glass_colour/purple resistance_flags = ACID_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) /obj/item/clothing/glasses/science/item_action_slot_check(slot) if(slot == ITEM_SLOT_EYES) diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 0822e85eeda..0f3c24cc159 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -3,7 +3,6 @@ #define MODE_NONE "" #define MODE_MESON "meson" #define MODE_TRAY "t-ray" -#define MODE_RAD "radiation" #define MODE_SHUTTLE "shuttle" #define MODE_PIPE_CONNECTABLE "connectable" @@ -20,7 +19,7 @@ darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING - var/list/modes = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_RAD, MODE_RAD = MODE_NONE) + var/list/modes = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_NONE) var/mode = MODE_NONE var/range = 1 var/list/connection_images = list() @@ -59,9 +58,6 @@ if(MODE_PIPE_CONNECTABLE) change_glass_color(user, /datum/client_colour/glass_colour/lightblue) - if(MODE_RAD) - change_glass_color(user, /datum/client_colour/glass_colour/lightgreen) - if(MODE_SHUTTLE) change_glass_color(user, /datum/client_colour/glass_colour/red) @@ -88,37 +84,11 @@ switch(mode) if(MODE_TRAY) t_ray_scan(user, 8, range) - if(MODE_RAD) - show_rads() if(MODE_SHUTTLE) show_shuttle() if(MODE_PIPE_CONNECTABLE) show_connections() -/obj/item/clothing/glasses/meson/engine/proc/show_rads() - var/mob/living/carbon/human/user = loc - var/list/rad_places = list() - for(var/datum/component/radioactive/thing in SSradiation.processing) - var/atom/owner = thing.parent - var/turf/place = get_turf(owner) - if(rad_places[place]) - rad_places[place] += thing.strength - else - rad_places[place] = thing.strength - - for(var/i in rad_places) - var/turf/place = i - if(get_dist(user, place) >= range*5) //Rads are easier to see than wires under the floor - continue - var/strength = round(rad_places[i] / 1000, 0.1) - var/image/pic = image(loc = place) - var/mutable_appearance/MA = new() - MA.maptext = MAPTEXT("[strength]k") - MA.color = "#04e604" - MA.plane = RAD_TEXT_PLANE - pic.appearance = MA - flick_overlay(pic, list(user.client), 10) - /obj/item/clothing/glasses/meson/engine/proc/show_shuttle() var/mob/living/carbon/human/user = loc var/obj/docking_port/mobile/port = SSshuttle.get_containing_shuttle(user) @@ -190,6 +160,5 @@ #undef MODE_NONE #undef MODE_MESON #undef MODE_TRAY -#undef MODE_RAD #undef MODE_SHUTTLE #undef MODE_PIPE_CONNECTABLE diff --git a/code/modules/clothing/gloves/bone.dm b/code/modules/clothing/gloves/bone.dm index 756c35bd9ef..34bbe805960 100644 --- a/code/modules/clothing/gloves/bone.dm +++ b/code/modules/clothing/gloves/bone.dm @@ -11,4 +11,4 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE - armor = list(MELEE = 15, BULLET = 25, LASER = 15, ENERGY = 15, BOMB = 20, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 15, BULLET = 25, LASER = 15, ENERGY = 15, BOMB = 20, BIO = 10, FIRE = 0, ACID = 0) diff --git a/code/modules/clothing/gloves/botany.dm b/code/modules/clothing/gloves/botany.dm index 86f9236d100..219a47e4193 100644 --- a/code/modules/clothing/gloves/botany.dm +++ b/code/modules/clothing/gloves/botany.dm @@ -10,4 +10,4 @@ max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE clothing_traits = list(TRAIT_PLANT_SAFE) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 70, ACID = 30) diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index bfea03b0180..073cc5b521b 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -192,7 +192,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT strip_delay = 60 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 70, ACID = 50) resistance_flags = NONE /obj/item/clothing/gloves/color/chief_engineer diff --git a/code/modules/clothing/gloves/combat.dm b/code/modules/clothing/gloves/combat.dm index ce4f955eb9a..0be5dea19e1 100644 --- a/code/modules/clothing/gloves/combat.dm +++ b/code/modules/clothing/gloves/combat.dm @@ -11,4 +11,4 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) diff --git a/code/modules/clothing/gloves/plasmaman.dm b/code/modules/clothing/gloves/plasmaman.dm index a3426e48270..681e1dd7b1a 100644 --- a/code/modules/clothing/gloves/plasmaman.dm +++ b/code/modules/clothing/gloves/plasmaman.dm @@ -9,7 +9,7 @@ max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE permeability_coefficient = 0.05 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) /obj/item/clothing/gloves/color/plasmaman/black name = "black envirogloves" @@ -66,7 +66,7 @@ icon_state = "botanyplasma" inhand_icon_state = "botanyplasma" permeability_coefficient = 0.05 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) /obj/item/clothing/gloves/color/plasmaman/prototype name = "prototype envirogloves" diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm index 5509ba14512..313bffa99fc 100644 --- a/code/modules/clothing/head/beanie.dm +++ b/code/modules/clothing/head/beanie.dm @@ -75,7 +75,7 @@ name = "durathread beanie" desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beaniedurathread" - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 30, ACID = 5) /obj/item/clothing/head/beanie/waldo name = "red striped bobble hat" diff --git a/code/modules/clothing/head/cakehat.dm b/code/modules/clothing/head/cakehat.dm index 624e5ddc671..d78664430f6 100644 --- a/code/modules/clothing/head/cakehat.dm +++ b/code/modules/clothing/head/cakehat.dm @@ -13,7 +13,7 @@ var/throwforce_on = 15 var/damtype_on = BURN flags_inv = HIDEEARS|HIDEHAIR - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) light_range = 2 //luminosity when on light_system = MOVABLE_LIGHT flags_cover = HEADCOVERSEYES diff --git a/code/modules/clothing/head/costume.dm b/code/modules/clothing/head/costume.dm index bb0bfa46942..36f38d26180 100644 --- a/code/modules/clothing/head/costume.dm +++ b/code/modules/clothing/head/costume.dm @@ -121,7 +121,7 @@ icon_state = "clockwork_helmet_old" clothing_flags = SNUG_FIT flags_inv = HIDEEARS|HIDEHAIR - armor = list(MELEE = 5, BULLET = 0, LASER = -5, ENERGY = -15, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) + armor = list(MELEE = 5, BULLET = 0, LASER = -5, ENERGY = -15, BOMB = 10, BIO = 0, FIRE = 20, ACID = 20) /obj/item/clothing/head/irs name = "internal revenue service cap" diff --git a/code/modules/clothing/head/crown.dm b/code/modules/clothing/head/crown.dm index 239b1938e8e..2a3eb907e1d 100644 --- a/code/modules/clothing/head/crown.dm +++ b/code/modules/clothing/head/crown.dm @@ -2,7 +2,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 = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50, WOUND = 5) + armor = list(MELEE = 15, BULLET = 0, LASER = 0,ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50, WOUND = 5) resistance_flags = FIRE_PROOF dynamic_hair_suffix = "" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 1cd5707efcb..5e2aba2cc5f 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -3,7 +3,7 @@ desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight." icon_state = "hardhat0_yellow" inhand_icon_state = "hardhat0_yellow" - armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50, WOUND = 10) // surprisingly robust against head trauma + armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, FIRE = 100, ACID = 50, WOUND = 10) // surprisingly robust against head trauma flags_inv = 0 actions_types = list(/datum/action/item_action/toggle_helmet_light) clothing_flags = SNUG_FIT | PLASMAMAN_HELMET_EXEMPT @@ -191,7 +191,7 @@ hat_type = "pumpkin" clothing_flags = SNUG_FIT | PLASMAMAN_HELMET_EXEMPT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) light_range = 2 //luminosity when on flags_cover = HEADCOVERSEYES light_color = "#fff2bf" @@ -246,7 +246,7 @@ inhand_icon_state = "hardhat0_reindeer" hat_type = "reindeer" flags_inv = 0 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) light_range = 1 //luminosity when on dynamic_hair_suffix = "" diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 86d6e048742..3c8f5fa0df1 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -4,7 +4,7 @@ desc = "It's good to be emperor." inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) strip_delay = 80 /obj/item/clothing/head/spacepolice @@ -71,7 +71,7 @@ icon_state = "cowboy" worn_icon_state = "hunter" inhand_icon_state = "hunter" - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/santa @@ -134,7 +134,7 @@ desc = "A cap for a party coordinator, stylish!." icon_state = "capcap" inhand_icon_state = "that" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) /obj/item/clothing/head/jackbros name = "frosty hat" @@ -154,7 +154,7 @@ desc = "Worn by the finest of CentCom commanders. Inside the lining of the cap, lies two faint initials." inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) strip_delay = (8 SECONDS) /obj/item/clothing/head/human_leather diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 9677f247bde..148b0fbac19 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -3,7 +3,7 @@ desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" inhand_icon_state = "helmet" - armor = list(MELEE = 35, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD @@ -116,7 +116,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" inhand_icon_state = "helmetalt" - armor = list(MELEE = 15, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 40, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 5) + armor = list(MELEE = 15, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 40, BIO = 0, FIRE = 50, ACID = 50, WOUND = 5) can_flashlight = TRUE dog_fashion = null @@ -125,7 +125,7 @@ desc = "A multirole helmet painted in a tactical black, the added binoculars aren't functional, but they make you feel operator as fuck." icon_state = "marine_command" inhand_icon_state = "helmetalt" - armor = list(MELEE = 35, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, RAD = 0, FIRE = 40, ACID = 50, WOUND = 20) + armor = list(MELEE = 35, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, FIRE = 40, ACID = 50, WOUND = 20) can_flashlight = TRUE dog_fashion = null @@ -139,19 +139,19 @@ name = "marine heavy helmet" desc = "A heavier armored marine helmet, painted black and with an added ballistic screen for extra protection from dangers to the face." icon_state = "marine_security" - armor = list(MELEE = 35, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, RAD = 0, FIRE = 50, ACID = 50, WOUND = 20) + armor = list(MELEE = 35, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, FIRE = 50, ACID = 50, WOUND = 20) /obj/item/clothing/head/helmet/marine/engineer name = "marine utility helmet" desc = "A helmet with a pair of military grade welding goggles, sacrificing some armor protection for more environmental protection." icon_state = "marine_engineer" - armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 70, BIO = 20, RAD = 30, FIRE = 70, ACID = 70, WOUND = 10) + armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 70, BIO = 20, FIRE = 70, ACID = 70, WOUND = 10) /obj/item/clothing/head/helmet/marine/medic name = "marine medic helmet" desc = "A multirole helmet with an attached antenna, which looks cool despite being useless. Has some extra biological protection installed." icon_state = "marine_medic" - armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 30, RAD = 10, FIRE = 50, ACID = 70, WOUND = 10) + armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 30, FIRE = 50, ACID = 70, WOUND = 10) /obj/item/clothing/head/helmet/old name = "degrading helmet" @@ -173,7 +173,7 @@ toggle_message = "You pull the visor down on" alt_toggle_message = "You push the visor up on" can_toggle = 1 - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80, WOUND = 15) + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80, WOUND = 15) flags_inv = HIDEEARS|HIDEFACE|HIDESNOUT strip_delay = 80 actions_types = list(/datum/action/item_action/toggle) @@ -239,7 +239,7 @@ desc = "An extremely robust, space-worthy helmet in a nefarious red and black stripe pattern." icon_state = "swatsyndie" inhand_icon_state = "swatsyndie" - armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, FIRE = 100, ACID = 100, WOUND = 15) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -275,7 +275,7 @@ flags_inv = HIDEEARS|HIDEHAIR icon_state = "thunderdome" inhand_icon_state = "thunderdome" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 90, ACID = 90) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 90, ACID = 90) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -286,14 +286,14 @@ /obj/item/clothing/head/helmet/thunderdome/holosuit cold_protection = null heat_protection = null - armor = list(MELEE = 10, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/head/helmet/roman name = "\improper Roman helmet" 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, FIRE = 100, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 0, LASER = 25, ENERGY = 10, BOMB = 10, BIO = 0, FIRE = 100, ACID = 50, WOUND = 5) resistance_flags = FIRE_PROOF icon_state = "roman" inhand_icon_state = "roman" @@ -302,7 +302,7 @@ /obj/item/clothing/head/helmet/roman/fake desc = "An ancient helmet made of plastic and leather." - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/head/helmet/roman/legionnaire name = "\improper Roman legionnaire helmet" @@ -312,7 +312,7 @@ /obj/item/clothing/head/helmet/roman/legionnaire/fake desc = "An ancient helmet made of plastic and leather. Has a red crest on top of it." - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/head/helmet/gladiator name = "gladiator helmet" @@ -329,7 +329,7 @@ icon_state = "redtaghelm" flags_cover = HEADCOVERSEYES inhand_icon_state = "redtaghelm" - armor = list(MELEE = 15, BULLET = 10, LASER = 20,ENERGY = 10, BOMB = 20, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 20,ENERGY = 10, BOMB = 20, BIO = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -339,7 +339,7 @@ icon_state = "bluetaghelm" flags_cover = HEADCOVERSEYES inhand_icon_state = "bluetaghelm" - armor = list(MELEE = 15, BULLET = 10, LASER = 20,ENERGY = 10, BOMB = 20, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 20,ENERGY = 10, BOMB = 20, BIO = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. dog_fashion = null @@ -348,7 +348,7 @@ desc = "A classic metal helmet." icon_state = "knight_green" inhand_icon_state = "knight_green" - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) // no wound armor cause getting domed in a bucket head sounds like concussion city + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) // no wound armor cause getting domed in a bucket head sounds like concussion city flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH strip_delay = 80 @@ -371,7 +371,7 @@ desc = "A classic medieval helmet, if you hold it upside down you could see that it's actually a bucket." icon_state = "knight_greyscale" inhand_icon_state = "knight_greyscale" - armor = list(MELEE = 35, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = 40, ACID = 40) + armor = list(MELEE = 35, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, FIRE = 40, ACID = 40) material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix /obj/item/clothing/head/helmet/skull @@ -379,7 +379,7 @@ desc = "An intimidating tribal helmet, it doesn't look very comfortable." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT flags_cover = HEADCOVERSEYES - armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) icon_state = "skull" inhand_icon_state = "skull" strip_delay = 100 @@ -390,7 +390,7 @@ icon_state = "durathread" inhand_icon_state = "durathread" resistance_flags = FLAMMABLE - armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 40, BOMB = 15, BIO = 0, RAD = 0, FIRE = 40, ACID = 50, WOUND = 5) + armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 40, BOMB = 15, BIO = 0, FIRE = 40, ACID = 50, WOUND = 5) strip_delay = 60 /obj/item/clothing/head/helmet/rus_helmet @@ -398,7 +398,7 @@ desc = "It can hold a bottle of vodka." icon_state = "rus_helmet" inhand_icon_state = "rus_helmet" - armor = list(MELEE = 25, BULLET = 30, LASER = 0, ENERGY = 10, BOMB = 10, BIO = 0, RAD = 20, FIRE = 20, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 30, LASER = 0, ENERGY = 10, BOMB = 10, BIO = 0, FIRE = 20, ACID = 50, WOUND = 5) pocket_storage_component_path = /datum/component/storage/concrete/pockets/helmet /obj/item/clothing/head/helmet/rus_ushanka @@ -409,14 +409,14 @@ body_parts_covered = HEAD cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 50, RAD = 20, FIRE = -10, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 50, FIRE = -10, ACID = 50, WOUND = 5) /obj/item/clothing/head/helmet/infiltrator name = "infiltrator helmet" desc = "The galaxy isn't big enough for the two of us." icon_state = "infiltrator" inhand_icon_state = "infiltrator" - armor = list(MELEE = 40, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 70, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 70, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF flash_protect = FLASH_PROTECTION_WELDER flags_inv = HIDEHAIR|HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT @@ -428,7 +428,7 @@ desc = "A superb helmet made with the toughest and rarest materials available to man." icon_state = "h2helmet" inhand_icon_state = "h2helmet" - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 85, BIO = 10, RAD = 50, FIRE = 65, ACID = 40, WOUND = 15) + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 85, BIO = 10, FIRE = 65, ACID = 40, WOUND = 15) material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 7a501a22e08..30889f907ad 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -46,7 +46,7 @@ icon_state = "captain" inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 5) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/captain @@ -71,7 +71,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 = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) dog_fashion = /datum/dog_fashion/head/hop //Chaplain @@ -91,7 +91,7 @@ /obj/item/clothing/head/fedora/det_hat 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." - armor = list(MELEE = 25, BULLET = 5, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 5, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, FIRE = 30, ACID = 50, WOUND = 5) icon_state = "detective" var/candy_cooldown = 0 pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/fedora/detective @@ -138,7 +138,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 = 35, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60, WOUND = 10) + armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 10, FIRE = 50, ACID = 60, WOUND = 10) strip_delay = 80 dynamic_hair_suffix = "" @@ -167,7 +167,7 @@ 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 = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 60, WOUND = 6) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 30, ACID = 60, WOUND = 6) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/warden @@ -247,7 +247,7 @@ greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn greyscale_colors = "#972A2A#F2F2F2" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 20, ACID = 50, WOUND = 4) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50, WOUND = 4) strip_delay = 60 dog_fashion = null flags_1 = NONE @@ -257,7 +257,7 @@ name = "warden's beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." greyscale_colors = "#3C485A#00AEEF" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 50, WOUND = 6) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 30, ACID = 50, WOUND = 6) strip_delay = 60 /obj/item/clothing/head/beret/sec/navyofficer @@ -344,7 +344,7 @@ greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn greyscale_colors = "#C5D4F3#ECF1F8" - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5, WOUND = 4) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 30, ACID = 5, WOUND = 4) /obj/item/clothing/head/beret/highlander desc = "That was white fabric. Was." @@ -364,7 +364,7 @@ greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn greyscale_colors = "#397F3F#FFCE5B" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 90, FIRE = 100, ACID = 90, WOUND = 10) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10) strip_delay = 10 SECONDS diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 90846d20a2b..f65b6885558 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." inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) strip_delay = 80 /obj/item/clothing/head/spacepolice @@ -186,7 +186,7 @@ to_chat(user, span_boldnotice("You can no longer speak like a pirate.")) /obj/item/clothing/head/pirate/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -203,7 +203,7 @@ dynamic_hair_suffix = "" /obj/item/clothing/head/bandana/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -329,7 +329,7 @@ icon_state = "cowboy" worn_icon_state = "hunter" inhand_icon_state = "hunter" - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/cone @@ -391,7 +391,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 = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50, WOUND = 5) + armor = list(MELEE = 15, BULLET = 0, LASER = 0,ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50, WOUND = 5) resistance_flags = FIRE_PROOF dynamic_hair_suffix = "" @@ -521,7 +521,7 @@ desc = "A cap for a party coordinator, stylish!." icon_state = "capcap" inhand_icon_state = "that" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) /obj/item/clothing/head/jackbros name = "frosty hat" @@ -541,7 +541,7 @@ desc = "Worn by the finest of CentCom commanders. Inside the lining of the cap, lies two faint initials." inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) strip_delay = (8 SECONDS) /obj/item/clothing/head/human_leather diff --git a/code/modules/clothing/head/pirate.dm b/code/modules/clothing/head/pirate.dm index 70829a6abb5..c66c58211e3 100644 --- a/code/modules/clothing/head/pirate.dm +++ b/code/modules/clothing/head/pirate.dm @@ -26,7 +26,7 @@ to_chat(user, span_boldnotice("You can no longer speak like a pirate.")) /obj/item/clothing/head/pirate/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -43,6 +43,6 @@ dynamic_hair_suffix = "" /obj/item/clothing/head/bandana/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 3b252d00862..af61de74a39 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -126,7 +126,7 @@ desc = "It's a robust baseball hat in tasteful red colour." icon_state = "secsoft" soft_type = "sec" - armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50) strip_delay = 60 dog_fashion = null diff --git a/code/modules/clothing/head/tinfoilhat.dm b/code/modules/clothing/head/tinfoilhat.dm index d07b304408d..a81f8b9eed3 100644 --- a/code/modules/clothing/head/tinfoilhat.dm +++ b/code/modules/clothing/head/tinfoilhat.dm @@ -3,7 +3,7 @@ desc = "Thought control rays, psychotronic scanning. Don't mind that, I'm protected cause I made this hat." icon_state = "foilhat" inhand_icon_state = "foilhat" - armor = list(MELEE = 0, BULLET = 0, LASER = -5,ENERGY = -15, BOMB = 0, BIO = 0, RAD = -5, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = -5,ENERGY = -15, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) equip_delay_other = 140 clothing_flags = ANTI_TINFOIL_MANEUVER var/datum/brain_trauma/mild/phobia/conspiracies/paranoia diff --git a/code/modules/clothing/head/welding.dm b/code/modules/clothing/head/welding.dm index c36aee1cdf7..b953e085661 100644 --- a/code/modules/clothing/head/welding.dm +++ b/code/modules/clothing/head/welding.dm @@ -7,7 +7,7 @@ custom_materials = list(/datum/material/iron=1750, /datum/material/glass=400) flash_protect = FLASH_PROTECTION_WELDER tint = 2 - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 60) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 60) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT actions_types = list(/datum/action/item_action/toggle) visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 861dd961b9e..9fc65822837 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -20,7 +20,7 @@ flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT visor_flags_inv = HIDEFACE|HIDEFACIALHAIR|HIDESNOUT w_class = WEIGHT_CLASS_SMALL - armor = list(MELEE = 10, BULLET = 5, LASER = 5,ENERGY = 5, BOMB = 0, BIO = 0, RAD = 10, FIRE = 100, ACID = 40) + armor = list(MELEE = 10, BULLET = 5, LASER = 5,ENERGY = 5, BOMB = 0, BIO = 0, FIRE = 100, ACID = 40) resistance_flags = FIRE_PROOF | ACID_PROOF var/voice_unknown = FALSE ///This makes it so that your name shows up as unknown when wearing the mask. diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index c51457c9510..a49f5a27c44 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -91,7 +91,7 @@ desc = "Improved gas mask utilized by atmospheric technicians. It's flameproof!" icon_state = "gas_atmos" inhand_icon_state = "gas_atmos" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 20, ACID = 10) w_class = WEIGHT_CLASS_SMALL permeability_coefficient = 0.001 resistance_flags = FIRE_PROOF @@ -120,7 +120,7 @@ flash_protect = FLASH_PROTECTION_WELDER custom_materials = list(/datum/material/iron=4000, /datum/material/glass=2000) tint = 2 - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 55) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 55) actions_types = list(/datum/action/item_action/toggle) flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT flags_cover = MASKCOVERSEYES @@ -145,7 +145,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" inhand_icon_state = "gas_mask" - armor = list(MELEE = 0, BULLET = 0, LASER = 2,ENERGY = 2, BOMB = 0, BIO = 75, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 2,ENERGY = 2, BOMB = 0, BIO = 75, FIRE = 0, ACID = 0) /obj/item/clothing/mask/gas/syndicate name = "syndicate mask" diff --git a/code/modules/clothing/masks/surgical.dm b/code/modules/clothing/masks/surgical.dm index f13bf3f6f16..118bed29e96 100644 --- a/code/modules/clothing/masks/surgical.dm +++ b/code/modules/clothing/masks/surgical.dm @@ -9,7 +9,7 @@ visor_flags_inv = HIDEFACE|HIDESNOUT visor_flags_cover = MASKCOVERSMOUTH permeability_coefficient = 0.01 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 25, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 25, FIRE = 0, ACID = 0) actions_types = list(/datum/action/item_action/adjust) /obj/item/clothing/mask/surgical/attack_self(mob/user) diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index cf038198a34..9e7ce1ac0d0 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -5,7 +5,7 @@ inhand_icon_state = "jackboots" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 70, ACID = 50) strip_delay = 40 resistance_flags = NONE permeability_coefficient = 0.05 //Thick soles, and covers the ankle @@ -26,7 +26,7 @@ desc = "High speed, no drag combat boots." permeability_coefficient = 0.01 clothing_flags = NOSLIP - armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 30, RAD = 30, FIRE = 90, ACID = 50) + armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 30, FIRE = 90, ACID = 50) /obj/item/clothing/shoes/jackboots name = "jackboots" diff --git a/code/modules/clothing/shoes/cowboy.dm b/code/modules/clothing/shoes/cowboy.dm index 0f827e38a64..4225be85dbf 100644 --- a/code/modules/clothing/shoes/cowboy.dm +++ b/code/modules/clothing/shoes/cowboy.dm @@ -78,7 +78,7 @@ name = "lizard skin boots" desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost." icon_state = "lizardboots_green" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 40, ACID = 0) //lizards like to stay warm + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 40, ACID = 0) //lizards like to stay warm /obj/item/clothing/shoes/cowboy/lizard/masterwork name = "\improper Hugs-The-Feet lizard skin boots" diff --git a/code/modules/clothing/shoes/galoshes.dm b/code/modules/clothing/shoes/galoshes.dm index c836bc0af3f..9fe6b3789b7 100644 --- a/code/modules/clothing/shoes/galoshes.dm +++ b/code/modules/clothing/shoes/galoshes.dm @@ -8,7 +8,7 @@ strip_delay = 30 equip_delay_other = 50 resistance_flags = NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 40, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 40, ACID = 75) can_be_bloody = FALSE custom_price = PAYCHECK_EASY * 3 can_be_tied = FALSE diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 59ebfe99cd4..76287dfaa78 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -9,7 +9,7 @@ inhand_icon_state = "jackboots" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 70, ACID = 50) strip_delay = 40 resistance_flags = NONE permeability_coefficient = 0.05 //Thick soles, and covers the ankle @@ -30,7 +30,7 @@ desc = "High speed, no drag combat boots." permeability_coefficient = 0.01 clothing_flags = NOSLIP - armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 30, RAD = 30, FIRE = 90, ACID = 50) + armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 30, FIRE = 90, ACID = 50) /obj/item/clothing/shoes/sandal desc = "A pair of rather plain wooden sandals." @@ -71,7 +71,7 @@ strip_delay = 30 equip_delay_other = 50 resistance_flags = NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 40, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 40, ACID = 75) can_be_bloody = FALSE custom_price = PAYCHECK_EASY * 3 can_be_tied = FALSE @@ -513,7 +513,7 @@ name = "lizard skin boots" desc = "You can hear a faint hissing from inside the boots; you hope it is just a mournful ghost." icon_state = "lizardboots_green" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 40, ACID = 0) //lizards like to stay warm + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 40, ACID = 0) //lizards like to stay warm /obj/item/clothing/shoes/cowboy/lizard/masterwork name = "\improper Hugs-The-Feet lizard skin boots" diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 1bf346c87a4..cb231cc5b23 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -9,7 +9,7 @@ clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | PLASMAMAN_HELMET_EXEMPT inhand_icon_state = "spaceold" permeability_coefficient = 0.01 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 50, FIRE = 80, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 80, ACID = 70) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT dynamic_hair_suffix = "" dynamic_fhair_suffix = "" @@ -35,7 +35,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight, /obj/item/tank/internals) slowdown = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 50, FIRE = 80, ACID = 70) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 80, ACID = 70) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDESEXTOY //SKYRAT EDIT CHANGE - ADDED HIDESEXTOY FLAG TO PREVENT VISUAL BUGS. cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF diff --git a/code/modules/clothing/spacesuits/bountyhunter.dm b/code/modules/clothing/spacesuits/bountyhunter.dm index ad1944b39fe..3c7daa4e464 100644 --- a/code/modules/clothing/spacesuits/bountyhunter.dm +++ b/code/modules/clothing/spacesuits/bountyhunter.dm @@ -4,7 +4,7 @@ icon_state = "hunter" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 60, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 60, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) strip_delay = 130 resistance_flags = FIRE_PROOF | ACID_PROOF cell = /obj/item/stock_parts/cell/hyper diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index fe245a4f009..5ad87221a9c 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -4,7 +4,7 @@ icon_state = "chronohelmet" inhand_icon_state = "chronohelmet" slowdown = 1 - armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, RAD = 90, FIRE = 100, ACID = 100) + armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/clothing/suit/space/chronos/suit @@ -24,7 +24,7 @@ icon_state = "chronosuit" inhand_icon_state = "chronosuit" actions_types = list(/datum/action/item_action/toggle_spacesuit, /datum/action/item_action/toggle) - armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, RAD = 90, FIRE = 100, ACID = 1000) + armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, FIRE = 100, ACID = 1000) resistance_flags = FIRE_PROOF | ACID_PROOF var/list/chronosafe_items = list(/obj/item/chrono_eraser, /obj/item/gun/energy/chrono_gun) var/obj/item/clothing/head/helmet/space/chronos/helmet diff --git a/code/modules/clothing/spacesuits/freedom.dm b/code/modules/clothing/spacesuits/freedom.dm index 5623db69cef..426c8360834 100644 --- a/code/modules/clothing/spacesuits/freedom.dm +++ b/code/modules/clothing/spacesuits/freedom.dm @@ -3,7 +3,7 @@ desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle." icon_state = "griffinhat" inhand_icon_state = "griffinhat" - armor = list(MELEE = 20, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 100, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 20, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 100, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF @@ -14,7 +14,7 @@ icon_state = "freedom" inhand_icon_state = "freedom" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 20, BULLET = 40, LASER = 30,ENERGY = 40, BOMB = 100, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 20, BULLET = 40, LASER = 30,ENERGY = 40, BOMB = 100, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 136860dd999..21cc8ac80c5 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -8,7 +8,7 @@ icon_state = "hardsuit0-engineering" inhand_icon_state = "eng_helm" max_integrity = 300 - armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 50, ACID = 75) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 50, ACID = 75) light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 light_power = 1 @@ -20,24 +20,12 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF - var/current_tick_amount = 0 - var/radiation_count = 0 - var/grace = RAD_GEIGER_GRACE_PERIOD - var/datum/looping_sound/geiger/soundloop - -/obj/item/clothing/head/helmet/space/hardsuit/Initialize(mapload) - . = ..() - soundloop = new(src, FALSE, TRUE) - soundloop.volume = 5 - START_PROCESSING(SSobj, src) /obj/item/clothing/head/helmet/space/hardsuit/Destroy() . = ..() if(!QDELETED(suit)) qdel(suit) suit = null - QDEL_NULL(soundloop) - STOP_PROCESSING(SSobj, src) /obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user) on = !on @@ -52,7 +40,6 @@ ..() if(suit) suit.RemoveHelmet() - soundloop.stop(user) /obj/item/clothing/head/helmet/space/hardsuit/item_action_slot_check(slot) if(slot == ITEM_SLOT_HEAD) @@ -63,37 +50,14 @@ if(slot != ITEM_SLOT_HEAD) if(suit) suit.RemoveHelmet() - soundloop.stop(user) else qdel(src) - else - soundloop.start(user) /obj/item/clothing/head/helmet/space/hardsuit/proc/display_visor_message(msg) var/mob/wearer = loc if(msg && ishuman(wearer)) wearer.show_message("[icon2html(src, wearer)][span_robot("[msg]")]", MSG_VISUAL) -/obj/item/clothing/head/helmet/space/hardsuit/rad_act(amount) - . = ..() - if(amount <= RAD_BACKGROUND_RADIATION) - return - current_tick_amount += amount - -/obj/item/clothing/head/helmet/space/hardsuit/process(delta_time) - radiation_count = LPFILTER(radiation_count, current_tick_amount, delta_time, RAD_GEIGER_RC) - - if(current_tick_amount) - grace = RAD_GEIGER_GRACE_PERIOD - else - grace -= delta_time - if(grace <= 0) - radiation_count = 0 - - current_tick_amount = 0 - - soundloop.last_radiation = radiation_count - /obj/item/clothing/head/helmet/space/hardsuit/emp_act(severity) . = ..() display_visor_message("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!") @@ -105,7 +69,7 @@ icon_state = "hardsuit-engineering" inhand_icon_state = "eng_hardsuit" max_integrity = 300 - armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 50, ACID = 75, WOUND = 10) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 50, ACID = 75, WOUND = 10) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) siemens_coefficient = 0 var/obj/item/clothing/head/helmet/space/hardsuit/helmet @@ -213,19 +177,35 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" inhand_icon_state = "eng_helm" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) hardsuit_type = "engineering" resistance_flags = FIRE_PROOF +/obj/item/clothing/head/helmet/space/hardsuit/engine/Initialize(mapload) + . = ..() + AddElement(/datum/element/radiation_protected_clothing) + /obj/item/clothing/suit/space/hardsuit/engine name = "engineering hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" inhand_icon_state = "eng_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine resistance_flags = FIRE_PROOF +/obj/item/clothing/suit/space/hardsuit/engine/Initialize(mapload) + . = ..() + AddElement(/datum/element/radiation_protected_clothing) + +/obj/item/clothing/suit/space/hardsuit/engine/equipped(mob/user, slot) + . = ..() + AddComponent(/datum/component/geiger_sound) + +/obj/item/clothing/suit/space/hardsuit/engine/dropped() + . = ..() + qdel(GetComponent(/datum/component/geiger_sound)) + //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos name = "atmospherics hardsuit helmet" @@ -233,7 +213,7 @@ icon_state = "hardsuit0-atmospherics" inhand_icon_state = "atmo_helm" hardsuit_type = "atmospherics" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 25, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -242,7 +222,7 @@ desc = "A modified engineering hardsuit for work in a hazardous, low pressure environment. The radiation shielding plates were removed to allow for improved thermal protection instead." icon_state = "hardsuit-atmospherics" inhand_icon_state = "atmo_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 25, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos @@ -255,7 +235,7 @@ icon_state = "hardsuit0-white" inhand_icon_state = "ce_helm" hardsuit_type = "white" - armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 90, WOUND = 10) + armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -264,7 +244,7 @@ name = "advanced hardsuit" desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." inhand_icon_state = "ce_hardsuit" - armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 90, WOUND = 10) + armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite @@ -281,7 +261,7 @@ max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF heat_protection = HEAD - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 75, WOUND = 15) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 50, ACID = 75, WOUND = 15) light_range = 7 allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) @@ -313,7 +293,7 @@ hardsuit_type = "mining" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 75, WOUND = 15) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 50, ACID = 75, WOUND = 15) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -346,7 +326,7 @@ icon_state = "hardsuit1-syndi" inhand_icon_state = "syndie_helm" hardsuit_type = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, RAD = 50, FIRE = 50, ACID = 90, WOUND = 25) + armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, FIRE = 50, ACID = 90, WOUND = 25) on = TRUE var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null actions_types = list(/datum/action/item_action/toggle_helmet_mode) @@ -421,7 +401,7 @@ inhand_icon_state = "syndie_hardsuit" hardsuit_type = "syndi" w_class = WEIGHT_CLASS_NORMAL - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, RAD = 50, FIRE = 50, ACID = 90, WOUND = 25) + armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, FIRE = 50, ACID = 90, WOUND = 25) allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit @@ -434,20 +414,16 @@ alt_desc = "An elite version of the syndicate helmet, with improved armour and fireproofing. It is in combat mode. Property of Gorlex Marauders." icon_state = "hardsuit1-syndielite" hardsuit_type = "syndielite" - armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, RAD = 70, FIRE = 100, ACID = 100, WOUND = 25) + armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/debug -/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/debug/Initialize(mapload) - . = ..() - soundloop.volume = 0 - /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/admin name = "jannie hardsuit helmet" - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 100) /obj/item/clothing/suit/space/hardsuit/syndi/elite name = "elite syndicate hardsuit" @@ -456,7 +432,7 @@ icon_state = "hardsuit1-syndielite" hardsuit_type = "syndielite" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite - armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, RAD = 70, FIRE = 100, ACID = 100, WOUND = 25) + armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -469,7 +445,7 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/admin name = "jannie hardsuit" slowdown = 0 - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 100) cell = /obj/item/stock_parts/cell/infinite clothing_flags = BLOCKS_SHOVE_KNOCKDOWN strip_delay = 1000 @@ -505,7 +481,7 @@ inhand_icon_state = "wiz_helm" hardsuit_type = "wiz" 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 = 50, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -516,7 +492,7 @@ inhand_icon_state = "wiz_hardsuit" w_class = WEIGHT_CLASS_NORMAL resistance_flags = FIRE_PROOF | ACID_PROOF - armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) allowed = list(/obj/item/teleportation_scroll, /obj/item/tank/internals) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -537,7 +513,7 @@ inhand_icon_state = "medical_helm" hardsuit_type = "medical" flash_protect = FLASH_PROTECTION_NONE - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 60, FIRE = 60, ACID = 75, WOUND = 10) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 60, ACID = 75, WOUND = 10) clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS | SNUG_FIT /obj/item/clothing/suit/space/hardsuit/medical @@ -545,8 +521,8 @@ desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement." icon_state = "hardsuit-medical" inhand_icon_state = "medical_hardsuit" - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical, /obj/item/gun/energy/cell_loaded/medigun) //EDIT MEDIGUNS - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 60, FIRE = 60, ACID = 75, WOUND = 10) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical, /obj/item/gun/energy/cell_loaded/medigun) // SKYRAT EDIT MEDIGUNS + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 60, ACID = 75, WOUND = 10) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical slowdown = 0.5 @@ -558,7 +534,7 @@ hardsuit_type = "rd" resistance_flags = ACID_PROOF | FIRE_PROOF max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80, WOUND = 15) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 100, BIO = 100, FIRE = 60, ACID = 80, WOUND = 15) var/explosion_detection_dist = 21 clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SCAN_REAGENTS | SNUG_FIT actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) @@ -599,7 +575,7 @@ max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT //Same as an emergency firesuit. Not ideal for extended exposure. allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/gun/energy/wormhole_projector, /obj/item/hand_tele, /obj/item/aicard) - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80, WOUND = 15) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 100, BIO = 100, FIRE = 60, ACID = 80, WOUND = 15) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd cell = /obj/item/stock_parts/cell/super @@ -610,7 +586,7 @@ icon_state = "hardsuit0-sec" inhand_icon_state = "sec_helm" hardsuit_type = "sec" - armor = list(MELEE = 35, BULLET = 15, LASER = 30,ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 20) + armor = list(MELEE = 35, BULLET = 15, LASER = 30,ENERGY = 40, BOMB = 10, BIO = 100, FIRE = 75, ACID = 75, WOUND = 20) /obj/item/clothing/suit/space/hardsuit/security @@ -618,7 +594,7 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." inhand_icon_state = "sec_hardsuit" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 20) + armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, FIRE = 75, ACID = 75, WOUND = 20) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security /obj/item/clothing/suit/space/hardsuit/security/Initialize(mapload) @@ -631,14 +607,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" hardsuit_type = "hos" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 100, RAD = 50, FIRE = 95, ACID = 95, WOUND = 25) + armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 100, FIRE = 95, ACID = 95, WOUND = 25) /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 = 40, BOMB = 25, BIO = 100, RAD = 50, FIRE = 95, ACID = 95, WOUND = 25) + armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 100, FIRE = 95, ACID = 95, WOUND = 25) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit cell = /obj/item/stock_parts/cell/super @@ -649,7 +625,7 @@ icon_state = "swat2helm" inhand_icon_state = "swat2helm" desc = "A tactical SWAT helmet MK.II." - armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) resistance_flags = FIRE_PROOF | ACID_PROOF flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT //we want to see the mask //this makes the hardsuit not fireproof you genius heat_protection = HEAD @@ -663,7 +639,7 @@ desc = "A MK.II SWAT suit with streamlined joints and armor made out of superior materials, insulated against intense heat if worn with the complementary gas mask. The most advanced tactical armor available." icon_state = "swat2" inhand_icon_state = "swat2" - armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) resistance_flags = FIRE_PROOF | ACID_PROOF heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago @@ -695,7 +671,7 @@ desc = "A special helmet designed for work in a hazardous, low-humor environment. Has radiation shielding." icon_state = "hardsuit0-clown" inhand_icon_state = "hardsuit0-clown" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 60, ACID = 30) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, FIRE = 60, ACID = 30) hardsuit_type = "clown" /obj/item/clothing/suit/space/hardsuit/clown @@ -703,7 +679,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" inhand_icon_state = "clown_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, RAD = 75, FIRE = 60, ACID = 30) + armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 20, BOMB = 10, BIO = 100, 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, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE) @@ -720,7 +696,7 @@ desc = "Early prototype RIG hardsuit helmet, designed to quickly shift over a user's head. Design constraints of the helmet mean it has no inbuilt cameras, thus it restricts the users visability." icon_state = "hardsuit0-ancient" inhand_icon_state = "anc_helm" - armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 75) + armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 50, BIO = 100, FIRE = 100, ACID = 75) hardsuit_type = "ancient" resistance_flags = FIRE_PROOF @@ -729,7 +705,7 @@ desc = "Prototype powered RIG hardsuit. Provides excellent protection from the elements of space while being comfortable to move around in, thanks to the powered locomotives. Remains very bulky however." icon_state = "hardsuit-ancient" inhand_icon_state = "anc_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 75) + armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 15, BOMB = 50, BIO = 100, FIRE = 100, ACID = 75) slowdown = 3 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ancient resistance_flags = FIRE_PROOF @@ -775,7 +751,7 @@ desc = "An advanced tactical space helmet." icon_state = "deathsquad" inhand_icon_state = "deathsquad" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 20) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -790,7 +766,7 @@ icon_state = "deathsquad" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 20) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -805,7 +781,7 @@ icon_state = "hardsuit0-ert_commander" inhand_icon_state = "hardsuit0-ert_commander" hardsuit_type = "ert_commander" - armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 light_range = 7 resistance_flags = FIRE_PROOF @@ -822,7 +798,7 @@ inhand_icon_state = "ert_command" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 80, ACID = 80) slowdown = 0 strip_delay = 130 resistance_flags = FIRE_PROOF @@ -954,7 +930,7 @@ desc = "Spaceworthy and it looks like a space carp's head, smells like one too." icon_state = "carp_helm" inhand_icon_state = "syndicate" - 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 + armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 60, ACID = 75) //As whimpy as a space carp light_system = NO_LIGHT_SUPPORT light_range = 0 //luminosity when on actions_types = list() @@ -970,7 +946,7 @@ icon_state = "carp_suit" inhand_icon_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, FIRE = 60, ACID = 75) //As whimpy whimpy whoo + armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 60, ACID = 75) //As whimpy whimpy whoo allowed = list(/obj/item/tank/internals, /obj/item/gun/ballistic/rifle/boltaction/harpoon) //I'm giving you a hint here helmettype = /obj/item/clothing/head/helmet/space/hardsuit/carp @@ -995,7 +971,7 @@ desc = "The integrated helmet of the combat medic hardsuit, this has a bright, glowing facemask." icon_state = "hardsuit0-combatmedic" inhand_icon_state = "hardsuit0-combatmedic" - armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, RAD = 50, FIRE = 65, ACID = 75) + armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, FIRE = 65, ACID = 75) hardsuit_type = "combatmedic" /obj/item/clothing/suit/space/hardsuit/combatmedic @@ -1004,7 +980,7 @@ icon_state = "combatmedic" inhand_icon_state = "combatmedic" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/combatmedic - armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, RAD = 50, FIRE = 65, ACID = 75) + armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, FIRE = 65, ACID = 75) allowed = list(/obj/item/gun, /obj/item/melee/baton, /obj/item/circular_saw, /obj/item/tank/internals, /obj/item/storage/box/pillbottles,\ /obj/item/storage/firstaid, /obj/item/stack/medical/gauze, /obj/item/stack/medical/suture, /obj/item/stack/medical/mesh, /obj/item/storage/bag/chemistry) @@ -1016,7 +992,7 @@ icon_state = "hardsuit-hos" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos allowed = null - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) resistance_flags = FIRE_PROOF | ACID_PROOF /obj/item/clothing/suit/space/hardsuit/shielded/setup_shielding() @@ -1032,7 +1008,7 @@ icon_state = "hardsuit1-syndi" inhand_icon_state = "syndie_hardsuit" hardsuit_type = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 @@ -1047,7 +1023,7 @@ icon_state = "hardsuit1-syndi" inhand_icon_state = "syndie_helm" hardsuit_type = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) ///SWAT version /obj/item/clothing/suit/space/hardsuit/shielded/swat @@ -1056,7 +1032,7 @@ icon_state = "deathsquad" inhand_icon_state = "swat_suit" hardsuit_type = "syndi" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat @@ -1071,7 +1047,7 @@ icon_state = "deathsquad" inhand_icon_state = "deathsquad" hardsuit_type = "syndi" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 30) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT actions_types = list() diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 8e8f1e7230b..71ac05aeda5 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -22,7 +22,7 @@ Contains: desc = "An advanced tactical space helmet." icon_state = "deathsquad" inhand_icon_state = "deathsquad" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 20) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -37,7 +37,7 @@ Contains: icon_state = "deathsquad" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 20) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -52,7 +52,7 @@ Contains: icon_state = "heavy" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 120 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -64,7 +64,7 @@ Contains: dynamic_hair_suffix = "+generic" dynamic_fhair_suffix = "+generic" flags_inv = 0 - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -79,7 +79,7 @@ Contains: flags_inv = 0 w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -136,7 +136,7 @@ Contains: desc = "A modified helmet to allow space pirates to intimidate their customers whilst staying safe from the void. Comes with some additional protection." icon_state = "spacepirate" inhand_icon_state = "spacepiratehelmet" - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -151,7 +151,7 @@ Contains: w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) slowdown = 0 - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -162,7 +162,7 @@ Contains: icon_state = "hardsuit0-ert_commander" inhand_icon_state = "hardsuit0-ert_commander" hardsuit_type = "ert_commander" - armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 light_range = 7 resistance_flags = FIRE_PROOF @@ -179,7 +179,7 @@ Contains: inhand_icon_state = "ert_command" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 80, ACID = 80) slowdown = 0 strip_delay = 130 resistance_flags = FIRE_PROOF @@ -273,7 +273,7 @@ Contains: icon_state = "space" inhand_icon_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, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 50, ACID = 65) /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" @@ -281,7 +281,7 @@ Contains: inhand_icon_state = "space" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." flash_protect = FLASH_PROTECTION_NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 20, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 50, ACID = 65) /obj/item/clothing/head/helmet/space/eva/examine(mob/user) . = ..() @@ -306,7 +306,7 @@ Contains: desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle." icon_state = "griffinhat" inhand_icon_state = "griffinhat" - armor = list(MELEE = 20, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 100, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 20, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 100, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF @@ -317,7 +317,7 @@ Contains: icon_state = "freedom" inhand_icon_state = "freedom" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 20, BULLET = 40, LASER = 30,ENERGY = 40, BOMB = 100, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 20, BULLET = 40, LASER = 30,ENERGY = 40, BOMB = 100, BIO = 100, FIRE = 80, ACID = 80) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF @@ -329,7 +329,7 @@ Contains: desc = "Spaceworthy and it looks like a space carp's head, smells like one too." icon_state = "carp_helm" inhand_icon_state = "syndicate" - 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 + armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 60, ACID = 75) //As whimpy as a space carp light_system = NO_LIGHT_SUPPORT light_range = 0 //luminosity when on actions_types = list() @@ -345,7 +345,7 @@ Contains: icon_state = "carp_suit" inhand_icon_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, FIRE = 60, ACID = 75) //As whimpy whimpy whoo + armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 60, ACID = 75) //As whimpy whimpy whoo allowed = list(/obj/item/tank/internals, /obj/item/gun/ballistic/rifle/boltaction/harpoon) //I'm giving you a hint here helmettype = /obj/item/clothing/head/helmet/space/hardsuit/carp @@ -406,7 +406,7 @@ Contains: inhand_icon_state = "hardsuit-berserker" slowdown = 0 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/berserker - armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 10, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/transforming/cleaving_saw) @@ -435,7 +435,7 @@ Contains: icon_state = "hardsuit0-berserker" inhand_icon_state = "hardsuit0-berserker" hardsuit_type = "berserker" - armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 10, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) actions_types = list(/datum/action/item_action/berserk_mode) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF @@ -512,7 +512,7 @@ Contains: desc = "A bulky, air-tight helmet meant to protect the user during emergency situations. It doesn't look very durable." icon_state = "syndicate-helm-orange" inhand_icon_state = "syndicate-helm-orange" - armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) strip_delay = 65 /obj/item/clothing/suit/space/fragile @@ -522,7 +522,7 @@ Contains: icon_state = "syndicate-orange" inhand_icon_state = "syndicate-orange" slowdown = 2 - armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) strip_delay = 65 /obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) @@ -541,7 +541,7 @@ Contains: icon_state = "hunter" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 60, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 60, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) strip_delay = 130 resistance_flags = FIRE_PROOF | ACID_PROOF cell = /obj/item/stock_parts/cell/hyper @@ -552,7 +552,7 @@ Contains: desc = "The integrated helmet of the combat medic hardsuit, this has a bright, glowing facemask." icon_state = "hardsuit0-combatmedic" inhand_icon_state = "hardsuit0-combatmedic" - armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, RAD = 50, FIRE = 65, ACID = 75) + armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, FIRE = 65, ACID = 75) hardsuit_type = "combatmedic" /obj/item/clothing/suit/space/hardsuit/combatmedic @@ -561,6 +561,6 @@ Contains: icon_state = "combatmedic" inhand_icon_state = "combatmedic" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/combatmedic - armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, RAD = 50, FIRE = 65, ACID = 75) + armor = list(MELEE = 35, BULLET = 10, LASER = 20, ENERGY = 30, BOMB = 5, BIO = 100, FIRE = 65, ACID = 75) allowed = list(/obj/item/gun, /obj/item/melee/baton, /obj/item/circular_saw, /obj/item/tank/internals, /obj/item/storage/box/pillbottles,\ /obj/item/storage/firstaid, /obj/item/stack/medical/gauze, /obj/item/stack/medical/suture, /obj/item/stack/medical/mesh, /obj/item/storage/bag/chemistry) diff --git a/code/modules/clothing/spacesuits/pirate.dm b/code/modules/clothing/spacesuits/pirate.dm index ba44254d11a..7aa3541c033 100644 --- a/code/modules/clothing/spacesuits/pirate.dm +++ b/code/modules/clothing/spacesuits/pirate.dm @@ -3,7 +3,7 @@ desc = "A modified helmet to allow space pirates to intimidate their customers whilst staying safe from the void. Comes with some additional protection." icon_state = "spacepirate" inhand_icon_state = "spacepiratehelmet" - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -18,6 +18,6 @@ w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) slowdown = 0 - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index bcf2f599f62..853e47c7a5f 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -4,7 +4,7 @@ name = "EVA plasma envirosuit" desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like its smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges." allowed = list(/obj/item/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 100, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) resistance_flags = FIRE_PROOF icon_state = "plasmaman_suit" inhand_icon_state = "plasmaman_suit" @@ -44,7 +44,7 @@ strip_delay = 80 flash_protect = FLASH_PROTECTION_WELDER tint = 2 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 100, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) resistance_flags = FIRE_PROOF light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 @@ -171,7 +171,7 @@ desc = "A plasmaman containment helmet designed for security officers, protecting them from burning alive, alongside other undesirables." icon_state = "security_envirohelm" inhand_icon_state = "security_envirohelm" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 100, ACID = 75) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) /obj/item/clothing/head/helmet/space/plasmaman/security/warden name = "warden's plasma envirosuit helmet" @@ -184,7 +184,7 @@ desc = "A special containment helmet designed for the Head of Security. A pair of gold stripes are added to differentiate them from other members of security." icon_state = "hos_envirohelm" inhand_icon_state = "hos_envirohelm" - armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 0, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) /obj/item/clothing/head/helmet/space/plasmaman/prisoner name = "prisoner's plasma envirosuit helmet" @@ -251,14 +251,14 @@ desc = "A space-worthy helmet specially designed for engineer plasmamen, the usual purple stripes being replaced by engineering's orange." icon_state = "engineer_envirohelm" inhand_icon_state = "engineer_envirohelm" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 100, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) /obj/item/clothing/head/helmet/space/plasmaman/atmospherics name = "atmospherics plasma envirosuit helmet" desc = "A space-worthy helmet specially designed for atmos technician plasmamen, the usual purple stripes being replaced by atmos' blue. Has improved thermal shielding." icon_state = "atmos_envirohelm" inhand_icon_state = "atmos_envirohelm" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 100, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT // Same protection as the Atmospherics hardsuit Helmet /obj/item/clothing/head/helmet/space/plasmaman/chief_engineer @@ -266,7 +266,7 @@ desc = "A special containment helmet designed for the Chief Engineer, the usual purple stripes being replaced by the chief's green. Has improved thermal shielding." icon_state = "ce_envirohelm" inhand_icon_state = "ce_envirohelm" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 100, ACID = 75) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT // Same protection as the CE's hardsuit Helmet @@ -282,7 +282,7 @@ icon_state = "explorer_envirohelm" inhand_icon_state = "explorer_envirohelm" visor_icon = "explorer_envisor" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 100, ACID = 75)//SKYRAT EDIT + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 100, ACID = 75)//SKYRAT EDIT /obj/item/clothing/head/helmet/space/plasmaman/chaplain @@ -344,7 +344,7 @@ desc = "A special containment helmet designed for the Captain. Embarrassingly enough, it looks way too much like the Head of Personnel's design save for the gold stripes. I mean, come on. Gold stripes can fix anything." icon_state = "captain_envirohelm" inhand_icon_state = "captain_envirohelm" - armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 0, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) /obj/item/clothing/head/helmet/space/plasmaman/centcom_commander name = "CentCom commander plasma envirosuit helmet" diff --git a/code/modules/clothing/spacesuits/softsuit.dm b/code/modules/clothing/spacesuits/softsuit.dm index 08c706c77e6..b383e25d418 100644 --- a/code/modules/clothing/spacesuits/softsuit.dm +++ b/code/modules/clothing/spacesuits/softsuit.dm @@ -32,7 +32,7 @@ icon_state = "space" inhand_icon_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, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 50, ACID = 65) /obj/item/clothing/head/helmet/space/eva name = "EVA helmet" @@ -40,7 +40,7 @@ inhand_icon_state = "space" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." flash_protect = FLASH_PROTECTION_NONE - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 20, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 50, ACID = 65) /obj/item/clothing/head/helmet/space/eva/examine(mob/user) . = ..() @@ -66,7 +66,7 @@ desc = "A bulky, air-tight helmet meant to protect the user during emergency situations. It doesn't look very durable." icon_state = "syndicate-helm-orange" inhand_icon_state = "syndicate-helm-orange" - armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) strip_delay = 65 /obj/item/clothing/suit/space/fragile @@ -76,7 +76,7 @@ icon_state = "syndicate-orange" inhand_icon_state = "syndicate-orange" slowdown = 2 - armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) strip_delay = 65 /obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) diff --git a/code/modules/clothing/spacesuits/specialops.dm b/code/modules/clothing/spacesuits/specialops.dm index 5989646a09a..059a675a308 100644 --- a/code/modules/clothing/spacesuits/specialops.dm +++ b/code/modules/clothing/spacesuits/specialops.dm @@ -8,7 +8,7 @@ dynamic_hair_suffix = "+generic" dynamic_fhair_suffix = "+generic" flags_inv = 0 - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -23,7 +23,7 @@ flags_inv = 0 w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/spacesuits/swat.dm b/code/modules/clothing/spacesuits/swat.dm index 9aa64e9d11f..3a614da0c26 100644 --- a/code/modules/clothing/spacesuits/swat.dm +++ b/code/modules/clothing/spacesuits/swat.dm @@ -4,6 +4,6 @@ icon_state = "heavy" inhand_icon_state = "swat_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/knife/combat) - armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, FIRE = 100, ACID = 100, WOUND = 15) strip_delay = 120 resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index da5ff41829d..c31e95f244d 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -4,7 +4,7 @@ icon_state = "syndicate" inhand_icon_state = "syndicate" desc = "Has a tag on it: Totally not property of an enemy corporation, honest!" - armor = list(MELEE = 40, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 40, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 80, ACID = 85) /obj/item/clothing/suit/space/syndicate name = "red space suit" @@ -13,7 +13,7 @@ desc = "Has a tag on it: Totally not property of an enemy corporation, honest!" w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list(MELEE = 40, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 40, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 80, ACID = 85) cell = /obj/item/stock_parts/cell/hyper //Green syndicate space suit diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 63f632d18df..8816fe698da 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -3,7 +3,7 @@ name = "suit" var/fire_resist = T0C+100 allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' slot_flags = ITEM_SLOT_OCLOTHING diff --git a/code/modules/clothing/suits/ablativecoat.dm b/code/modules/clothing/suits/ablativecoat.dm index b6ad6f0d0b3..45f74ed2837 100644 --- a/code/modules/clothing/suits/ablativecoat.dm +++ b/code/modules/clothing/suits/ablativecoat.dm @@ -2,7 +2,7 @@ name = "ablative hood" desc = "Hood hopefully belonging to an ablative trenchcoat. Includes a visor for cool-o-vision." icon_state = "ablativehood" - armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) strip_delay = 30 var/hit_reflect_chance = 50 @@ -32,7 +32,7 @@ icon_state = "ablativecoat" inhand_icon_state = "ablativecoat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) hoodtype = /obj/item/clothing/head/hooded/ablative strip_delay = 30 equip_delay_other = 40 diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 43370ea02b6..dd05ca0fb18 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -9,7 +9,7 @@ equip_delay_other = 40 max_integrity = 250 resistance_flags = NONE - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) /obj/item/clothing/suit/armor/Initialize(mapload) . = ..() @@ -72,7 +72,7 @@ icon_state = "marine_command" inhand_icon_state = "armor" body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list(MELEE = 40, BULLET = 50, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 20, RAD = 0, FIRE = 40, ACID = 50, WOUND = 20) + armor = list(MELEE = 40, BULLET = 50, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 20, FIRE = 40, ACID = 50, WOUND = 20) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -80,19 +80,19 @@ name = "marine heavy armor" desc = "A heavy set of armor that still allows full mobility, offering higher protection at the cost of having red targets painted on your shoulders." icon_state = "marine_security" - armor = list(MELEE = 45, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, RAD = 0, FIRE = 50, ACID = 50, WOUND = 20) + armor = list(MELEE = 45, BULLET = 60, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 20, FIRE = 50, ACID = 50, WOUND = 20) /obj/item/clothing/suit/armor/vest/marine/engineer name = "marine utility armor" desc = "A light set of armor with a mounted satchel for storing things. You realized too late that pouches are only for looks, and don't actually work. No refunds." icon_state = "marine_engineer" - armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 70, BIO = 20, RAD = 30, FIRE = 70, ACID = 70, WOUND = 10) + armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 70, BIO = 20, FIRE = 70, ACID = 70, WOUND = 10) /obj/item/clothing/suit/armor/vest/marine/medic name = "marine medic armor" desc = "Light armor with needlessly large arm and leg plates, they provide no extra protection, but you feel safer." icon_state = "marine_medic" - armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 30, RAD = 10, FIRE = 50, ACID = 70, WOUND = 10) + armor = list(MELEE = 35, BULLET = 40, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 30, FIRE = 50, ACID = 70, WOUND = 10) /obj/item/clothing/suit/armor/vest/old name = "degrading armor vest" @@ -120,7 +120,7 @@ icon_state = "hos" inhand_icon_state = "greatcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 70, ACID = 90, WOUND = 10) + armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 70, ACID = 90, WOUND = 10) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS strip_delay = 80 @@ -243,7 +243,7 @@ icon_state = "capcarapace" inhand_icon_state = "armor" body_parts_covered = CHEST|GROIN - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 0, RAD = 0, FIRE = 100, ACID = 90, WOUND = 10) + armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 0, FIRE = 100, ACID = 90, WOUND = 10) dog_fashion = null resistance_flags = FIRE_PROOF @@ -272,7 +272,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, FIRE = 80, ACID = 80, WOUND = 20) + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80, WOUND = 20) clothing_flags = BLOCKS_SHOVE_KNOCKDOWN strip_delay = 80 equip_delay_other = 60 @@ -283,7 +283,7 @@ icon_state = "bonearmor" inhand_icon_state = "bonearmor" blood_overlay_type = "armor" - armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS /obj/item/clothing/suit/armor/bulletproof @@ -292,7 +292,7 @@ icon_state = "bulletproof" inhand_icon_state = "armor" blood_overlay_type = "armor" - armor = list(MELEE = 15, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 40, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 20) + armor = list(MELEE = 15, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 40, BIO = 0, FIRE = 50, ACID = 50, WOUND = 20) strip_delay = 70 equip_delay_other = 50 @@ -305,7 +305,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS - armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 60, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/hit_reflect_chance = 50 @@ -331,7 +331,7 @@ desc = "This vest appears to be made of of highly flexible materials that absorb impacts with ease." icon_state = "infiltrator" inhand_icon_state = "infiltrator" - armor = list(MELEE = 40, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 70, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 40, LASER = 30, ENERGY = 40, BOMB = 70, BIO = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF strip_delay = 80 @@ -361,7 +361,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, FIRE = 90, ACID = 90) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 90, ACID = 90) /obj/item/clothing/suit/armor/tdome body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -369,7 +369,7 @@ clothing_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, FIRE = 90, ACID = 90) + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 90, ACID = 90) /obj/item/clothing/suit/armor/tdome/red name = "thunderdome suit" @@ -385,7 +385,7 @@ /obj/item/clothing/suit/armor/tdome/holosuit name = "thunderdome suit" - armor = list(MELEE = 10, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) cold_protection = null heat_protection = null @@ -424,7 +424,7 @@ icon_state = "knight_greyscale" inhand_icon_state = "knight_greyscale" material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS//Can change color and add prefix - armor = list(MELEE = 35, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = 40, ACID = 40, WOUND = 15) + armor = list(MELEE = 35, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, FIRE = 40, ACID = 40, WOUND = 15) /obj/item/clothing/suit/armor/vest/durathread name = "durathread vest" @@ -435,14 +435,14 @@ equip_delay_other = 40 max_integrity = 200 resistance_flags = FLAMMABLE - armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 40, BOMB = 15, BIO = 0, RAD = 0, FIRE = 40, ACID = 50) + armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 40, BOMB = 15, BIO = 0, FIRE = 40, ACID = 50) /obj/item/clothing/suit/armor/vest/russian name = "russian vest" desc = "A bulletproof vest with forest camo. Good thing there's plenty of forests to hide in around here, right?" icon_state = "rus_armor" inhand_icon_state = "rus_armor" - armor = list(MELEE = 25, BULLET = 30, LASER = 0, ENERGY = 10, BOMB = 10, BIO = 0, RAD = 20, FIRE = 20, ACID = 50, WOUND = 10) + armor = list(MELEE = 25, BULLET = 30, LASER = 0, ENERGY = 10, BOMB = 10, BIO = 0, FIRE = 20, ACID = 50, WOUND = 10) /obj/item/clothing/suit/armor/vest/russian_coat name = "russian battle coat" @@ -452,7 +452,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 50, RAD = 20, FIRE = -10, ACID = 50, WOUND = 10) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 50, FIRE = -10, ACID = 50, WOUND = 10) /obj/item/clothing/suit/armor/elder_atmosian name = "\improper Elder Atmosian Armor" @@ -460,7 +460,7 @@ icon_state = "h2armor" inhand_icon_state = "h2armor" material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS//Can change color and add prefix - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 85, BIO = 10, RAD = 50, FIRE = 65, ACID = 40, WOUND = 15) + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 85, BIO = 10, FIRE = 65, ACID = 40, WOUND = 15) 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 @@ -471,7 +471,7 @@ icon_state = "centcom_formal" inhand_icon_state = "centcom" body_parts_covered = CHEST|GROIN|ARMS - armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, RAD = 10, FIRE = 10, ACID = 60) + armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, FIRE = 10, ACID = 60) /obj/item/clothing/suit/armor/centcom_formal/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 284066b9c1f..831fc4e192e 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -5,7 +5,7 @@ desc = "A hood that protects the head and face from biological contaminants." permeability_coefficient = 0.01 clothing_flags = THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT | SNUG_FIT | PLASMAMAN_HELMET_EXEMPT - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 30, ACID = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE|HIDESNOUT resistance_flags = ACID_PROOF flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF @@ -21,7 +21,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 0.5 allowed = list(/obj/item/tank/internals, /obj/item/reagent_containers/dropper, /obj/item/flashlight/pen, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/glass/beaker) - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 30, ACID = 100) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT strip_delay = 70 equip_delay_other = 70 @@ -45,11 +45,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 = 35, BOMB = 25, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 100, FIRE = 30, ACID = 100) icon_state = "bio_security" /obj/item/clothing/suit/bio_suit/security - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 100, FIRE = 30, ACID = 100) icon_state = "bio_security" /obj/item/clothing/suit/bio_suit/security/Initialize(mapload) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index fe970eb9003..91a216c563c 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -82,7 +82,7 @@ icon_state = "goliath_cloak" desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/knife/combat/bone, /obj/item/knife/combat/survival) - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot + armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath body_parts_covered = CHEST|GROIN|ARMS //SKYRAT ADDITION START -GOLIATH CLOAK EDIT @@ -93,7 +93,7 @@ name = "goliath cloak hood" icon_state = "golhood" desc = "A protective & concealing hood." - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 60, ACID = 60) clothing_flags = SNUG_FIT flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR transparent_protection = HIDEMASK @@ -106,7 +106,7 @@ icon_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake." allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear) - armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -120,7 +120,7 @@ name = "drake helm" icon_state = "dragon" desc = "The skull of a dragon." - armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 65, BULLET = 15, LASER = 40, ENERGY = 40, BOMB = 70, BIO = 60, FIRE = 100, ACID = 100) clothing_flags = SNUG_FIT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -133,7 +133,7 @@ icon_state = "godslayer" desc = "A suit of armour fashioned from the remnants of a knight's armor, and parts of a wendigo." allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear) - armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -155,7 +155,7 @@ name = "godslayer helm" icon_state = "godslayer" desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." - armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 50, FIRE = 100, ACID = 100) clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm index 05f782107a9..205d5b22abd 100644 --- a/code/modules/clothing/suits/costume.dm +++ b/code/modules/clothing/suits/costume.dm @@ -22,7 +22,7 @@ species_exception = list(/datum/species/golem) /obj/item/clothing/suit/pirate/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -33,7 +33,7 @@ inhand_icon_state = "hgpirate" /obj/item/clothing/suit/pirate/captain/armored - armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 30, BULLET = 50, LASER = 30,ENERGY = 40, BOMB = 30, BIO = 30, FIRE = 60, ACID = 75) strip_delay = 40 equip_delay_other = 20 @@ -52,7 +52,7 @@ icon_state = "justice" inhand_icon_state = "justice" flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) /obj/item/clothing/suit/judgerobe name = "judge's robe" @@ -389,7 +389,7 @@ desc = "A big and clanky suit made of bronze that offers no protection and looks very unfashionable. Nice." icon = 'icons/obj/clothing/clockwork_garb.dmi' icon_state = "clockwork_cuirass_old" - armor = list(MELEE = 5, BULLET = 0, LASER = -5, ENERGY = -15, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) + armor = list(MELEE = 5, BULLET = 0, LASER = -5, ENERGY = -15, BOMB = 10, BIO = 0, FIRE = 20, ACID = 20) /obj/item/clothing/suit/hooded/mysticrobe name = "mystic's robe" @@ -414,7 +414,7 @@ desc = "A jacket for a party ooordinator, stylish!." icon_state = "capformal" inhand_icon_state = "capspacesuit" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) /obj/item/clothing/suit/hawaiian name = "hawaiian overshirt" diff --git a/code/modules/clothing/suits/jacket.dm b/code/modules/clothing/suits/jacket.dm index acea46308ad..80fe54c5918 100644 --- a/code/modules/clothing/suits/jacket.dm +++ b/code/modules/clothing/suits/jacket.dm @@ -31,7 +31,7 @@ desc = "A thick jacket with a rubbery, water-resistant shell." icon_state = "pufferjacket" inhand_icon_state = "hostrench" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 0, ACID = 0) species_exception = list(/datum/species/golem/bone) /obj/item/clothing/suit/jacket/puffer/vest @@ -41,7 +41,7 @@ inhand_icon_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, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 30, FIRE = 0, ACID = 0) /obj/item/clothing/suit/jacket/miljacket name = "military jacket" diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 99b311eb244..ed5ec5f8ea5 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -61,7 +61,7 @@ inhand_icon_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, FIRE = 0, ACID = 45) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -201,7 +201,7 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS allowed = list(/obj/item/tank/internals, /obj/item/melee/curator_whip) - armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, FIRE = 0, ACID = 45) cold_protection = CHEST|ARMS heat_protection = CHEST|ARMS diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index ba322a78648..944bd316e36 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -25,7 +25,7 @@ /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, ) - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 50, ACID = 50) species_exception = list(/datum/species/golem) /obj/item/clothing/suit/toggle/labcoat/cmo diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 3f915764cfe..45bbaed5ce3 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -42,7 +42,7 @@ icon_state = "reactiveoff" inhand_icon_state = "reactiveoff" blood_overlay_type = "armor" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) actions_types = list(/datum/action/item_action/toggle) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF hit_reaction_chance = 50 @@ -119,13 +119,11 @@ cooldown_message = "The reactive teleport system is still recharging! It fails to activate!" reactivearmor_cooldown_duration = 10 SECONDS var/tele_range = 6 - var/rad_amount= 15 /obj/item/clothing/suit/armor/reactive/teleport/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) owner.visible_message(span_danger("The reactive teleport system flings [owner] clear of [attack_text]!")) playsound(get_turf(owner),'sound/magic/blink.ogg', 100, TRUE) do_teleport(owner, get_turf(owner), tele_range, no_effects = TRUE, channel = TELEPORT_CHANNEL_BLUESPACE) - owner.rad_act(rad_amount) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration return TRUE @@ -135,7 +133,6 @@ playsound(get_turf(owner),'sound/machines/buzz-sigh.ogg', 50, TRUE) playsound(get_turf(owner),'sound/magic/blink.ogg', 100, TRUE) do_teleport(src, get_turf(owner), tele_range, no_effects = TRUE, channel = TELEPORT_CHANNEL_BLUESPACE) - owner.rad_act(rad_amount) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration return FALSE //you didn't actually evade the attack now did you diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index d60d62a71db..b3201ac224e 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -19,7 +19,7 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/extinguisher, /obj/item/crowbar) slowdown = 1 - armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50) + armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 10, FIRE = 100, ACID = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -61,7 +61,7 @@ desc = "Use in case of bomb." icon_state = "bombsuit" clothing_flags = THICKMATERIAL | SNUG_FIT - armor = list(MELEE = 20, BULLET = 0, LASER = 20,ENERGY = 30, BOMB = 100, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 20, BULLET = 0, LASER = 20,ENERGY = 30, BOMB = 100, BIO = 0, FIRE = 80, ACID = 50) flags_inv = HIDEFACE|HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT dynamic_hair_suffix = "" dynamic_fhair_suffix = "" @@ -85,7 +85,7 @@ clothing_flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 2 - armor = list(MELEE = 20, BULLET = 0, LASER = 20,ENERGY = 30, BOMB = 100, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 20, BULLET = 0, LASER = 20,ENERGY = 30, BOMB = 100, BIO = 0, FIRE = 80, ACID = 50) flags_inv = HIDEJUMPSUIT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT @@ -120,21 +120,24 @@ /obj/item/clothing/head/radiation name = "radiation hood" - icon_state = RAD + icon_state = "rad" desc = "A hood with radiation protective properties. The label reads, 'Made with lead. Please do not consume insulation.'" clothing_flags = THICKMATERIAL | SNUG_FIT flags_inv = HIDEMASK|HIDEEARS|HIDEFACE|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 60, RAD = 100, FIRE = 30, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 60, FIRE = 30, ACID = 30) strip_delay = 60 equip_delay_other = 60 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF resistance_flags = NONE - flags_1 = RAD_PROTECT_CONTENTS_1 + +/obj/item/clothing/head/radiation/Initialize(mapload) + . = ..() + AddElement(/datum/element/radiation_protected_clothing) /obj/item/clothing/suit/radiation name = "radiation suit" desc = "A suit that protects against radiation. The label reads, 'Made with lead. Please do not consume insulation.'" - icon_state = RAD + icon_state = "rad" inhand_icon_state = "rad_suit" w_class = WEIGHT_CLASS_BULKY permeability_coefficient = 0.5 @@ -142,12 +145,15 @@ body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/geiger_counter) slowdown = 1.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 60, RAD = 100, FIRE = 30, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 60, FIRE = 30, ACID = 30) strip_delay = 60 equip_delay_other = 60 flags_inv = HIDEJUMPSUIT resistance_flags = NONE - flags_1 = RAD_PROTECT_CONTENTS_1 + +/obj/item/clothing/suit/radiation/Initialize(mapload) + . = ..() + AddElement(/datum/element/radiation_protected_clothing) /obj/item/clothing/suit/radiation/worn_overlays(mutable_appearance/standing, isinhands, icon_file) . = ..() diff --git a/code/modules/clothing/suits/wetfloor.dm b/code/modules/clothing/suits/wetfloor.dm index de4a10b963f..9bccc903a32 100644 --- a/code/modules/clothing/suits/wetfloor.dm +++ b/code/modules/clothing/suits/wetfloor.dm @@ -12,5 +12,5 @@ body_parts_covered = CHEST|GROIN attack_verb_continuous = list("warns", "cautions", "smashes") attack_verb_simple = list("warn", "caution", "smash") - armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) species_exception = list(/datum/species/golem) diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index 234f2bbe7bc..39723d7ff21 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -10,7 +10,7 @@ cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT allowed = list() - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) /obj/item/clothing/suit/hooded/wintercoat/Initialize(mapload) . = ..() @@ -36,7 +36,7 @@ cold_protection = HEAD min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEHAIR|HIDEEARS - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) // CentCom /obj/item/clothing/suit/hooded/wintercoat/centcom @@ -44,7 +44,7 @@ desc = "A luxurious winter coat woven in the bright green and gold colours of Central Command. It has a small pin in the shape of the Nanotrasen logo for a zipper." icon_state = "coatcentcom" inhand_icon_state = "coatcentcom" - armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, RAD = 10, FIRE = 10, ACID = 60) + armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, FIRE = 10, ACID = 60) hoodtype = /obj/item/clothing/head/hooded/winterhood/centcom /obj/item/clothing/suit/hooded/wintercoat/centcom/Initialize(mapload) @@ -53,7 +53,7 @@ /obj/item/clothing/head/hooded/winterhood/centcom icon_state = "hood_centcom" - armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, RAD = 10, FIRE = 10, ACID = 60) + armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 10, FIRE = 10, ACID = 60) // Captain /obj/item/clothing/suit/hooded/wintercoat/captain @@ -63,7 +63,7 @@ Extremely lavish, and extremely durable." icon_state = "coatcaptain" inhand_icon_state = "coatcaptain" - armor = list(MELEE = 25, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 25, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 0, ACID = 50) hoodtype = /obj/item/clothing/head/hooded/winterhood/captain /obj/item/clothing/suit/hooded/wintercoat/captain/Initialize(mapload) @@ -72,7 +72,7 @@ /obj/item/clothing/head/hooded/winterhood/captain icon_state = "hood_captain" - armor = list(MELEE = 25, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 25, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 0, ACID = 50) // Head of Personnel /obj/item/clothing/suit/hooded/wintercoat/hop @@ -80,7 +80,7 @@ desc = "A cozy winter coat, covered in thick fur. The breast features a proud yellow chevron, reminding everyone that you're the second banana." icon_state = "coathop" inhand_icon_state = "coathop" - armor = list(MELEE = 10, BULLET = 15, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 35) + armor = list(MELEE = 10, BULLET = 15, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 0, ACID = 35) allowed = list( /obj/item/melee/baton/telescopic, ) @@ -136,7 +136,7 @@ desc = "A red, armour-padded winter coat. It glitters with a mild ablative coating and a robust air of authority. The zipper tab is a pair of jingly little handcuffs that get annoying after the first ten seconds." icon_state = "coatsecurity" inhand_icon_state = "coatsecurity" - armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 0, ACID = 45) hoodtype = /obj/item/clothing/head/hooded/winterhood/security /obj/item/clothing/suit/hooded/wintercoat/security/Initialize(mapload) @@ -146,7 +146,7 @@ /obj/item/clothing/head/hooded/winterhood/security desc = "A red, armour-padded winter hood. Definitely not bulletproof, especially not the part where your face goes." icon_state = "hood_security" - armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 0, ACID = 45) // Head of Security /obj/item/clothing/suit/hooded/wintercoat/security/hos @@ -154,7 +154,7 @@ desc = "A black, armour-padded winter coat with red and gold stripes on the arms, lovingly woven with a Kevlar interleave and reinforced with semi-ablative polymers and a silver azide fill material. The zipper tab looks like a tiny replica of Beepsky." // SKYRAT EDIT - ORIGINAL: desc = "A red, armour-padded winter coat, lovingly woven with a Kevlar interleave and reinforced with semi-ablative polymers and a silver azide fill material. The zipper tab looks like a tiny replica of Beepsky." icon_state = "coathos" inhand_icon_state = "coathos" - armor = list(MELEE = 35, BULLET = 25, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 0, RAD = 0, FIRE = 0, ACID = 55) + armor = list(MELEE = 35, BULLET = 25, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 0, FIRE = 0, ACID = 55) hoodtype = /obj/item/clothing/head/hooded/winterhood/security/hos /obj/item/clothing/head/hooded/winterhood/security/hos @@ -180,13 +180,13 @@ /obj/item/sensor_device, /obj/item/storage/pill_bottle, ) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, RAD = 0, FIRE = 10, ACID = 20) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, FIRE = 10, ACID = 20) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical /obj/item/clothing/head/hooded/winterhood/medical desc = "A white winter coat hood." icon_state = "hood_medical" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, RAD = 0, FIRE = 10, ACID = 20) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 40, FIRE = 10, ACID = 20) // Chief Medical Officer /obj/item/clothing/suit/hooded/wintercoat/medical/cmo @@ -194,7 +194,7 @@ desc = "A winter coat in a vibrant shade of blue with a small silver caduceus instead of a plastic zipper tab. The normal liner is replaced with an exceptionally thick, soft layer of fur." icon_state = "coatcmo" inhand_icon_state = "coatcmo" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 20, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 20, ACID = 30) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical/cmo /obj/item/clothing/suit/hooded/wintercoat/medical/cmo/Initialize(mapload) @@ -207,7 +207,7 @@ /obj/item/clothing/head/hooded/winterhood/medical/cmo desc = "A blue winter coat hood." icon_state = "hood_cmo" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 20, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 20, ACID = 30) // Chemist /obj/item/clothing/suit/hooded/wintercoat/medical/chemistry @@ -263,14 +263,14 @@ /obj/item/reagent_containers/syringe, /obj/item/storage/pill_bottle, ) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 20, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/science species_exception = list(/datum/species/golem) /obj/item/clothing/head/hooded/winterhood/science desc = "A white winter coat hood. This one will keep your brain warm. About as much as the others, really." icon_state = "hood_science" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 20, ACID = 0) // Research Director /obj/item/clothing/suit/hooded/wintercoat/science/rd @@ -278,7 +278,7 @@ desc = "A thick arctic winter coat with an outdated atomic model instead of a plastic zipper tab. Most in the know are heavily aware that Bohr's model of the atom was outdated by the time of the 1930s when the Heisenbergian and Schrodinger models were generally accepted for true. Nevertheless, we still see its use in anachronism, roleplaying, and, in this case, as a zipper tab. At least it should keep you warm on your ivory pillar." icon_state = "coatrd" inhand_icon_state = "coatrd" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 20, BIO = 0, RAD = 0, FIRE = 30, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 20, BIO = 0, FIRE = 30, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/science/rd /obj/item/clothing/suit/hooded/wintercoat/science/rd/Initialize(mapload) @@ -290,7 +290,7 @@ /obj/item/clothing/head/hooded/winterhood/science/rd desc = "A white winter coat hood. It smells faintly of hair gel." icon_state = "hood_rd" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 20, BIO = 0, RAD = 0, FIRE = 30, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 20, BIO = 0, FIRE = 30, ACID = 0) // Roboticist /obj/item/clothing/suit/hooded/wintercoat/science/robotics @@ -328,7 +328,7 @@ /obj/item/pipe_dispenser, /obj/item/t_scanner, ) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 20, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering species_exception = list(/datum/species/golem/uranium) @@ -340,7 +340,7 @@ /obj/item/clothing/head/hooded/winterhood/engineering desc = "A yellow winter coat hood. Definitely not a replacement for a hard hat." icon_state = "hood_engineer" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 20, ACID = 0) /obj/item/clothing/head/hooded/winterhood/engineering/worn_overlays(mutable_appearance/standing, isinhands, icon_file) . = ..() @@ -353,7 +353,7 @@ desc = "A white winter coat with reflective green and yellow stripes. Stuffed with asbestos, treated with fire retardant PBDE, lined with a micro thin sheet of lead foil and snugly fitted to your body's measurements. This baby's ready to save you from anything except the thyroid cancer and systemic fibrosis you'll get from wearing it. The zipper tab is a tiny golden wrench." icon_state = "coatce" inhand_icon_state = "coatce" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 10) hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering/ce /obj/item/clothing/suit/hooded/wintercoat/engineering/ce/Initialize(mapload) @@ -365,7 +365,7 @@ /obj/item/clothing/head/hooded/winterhood/engineering/ce desc = "A white winter coat hood. Feels surprisingly heavy. The tag says that it's not child safe." icon_state = "hood_ce" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 10) // Atmospherics Technician /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos @@ -417,13 +417,13 @@ /obj/item/t_scanner/adv_mining_scanner, /obj/item/tank/internals, ) - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/miner /obj/item/clothing/head/hooded/winterhood/miner desc = "A dusty winter coat hood." icon_state = "hood_miner" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/hooded/wintercoat/custom name = "tailored winter coat" diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index b31ae8f9e60..48cf0cc0fb5 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -3,7 +3,7 @@ desc = "Strange-looking hat-wear that most certainly belongs to a real magic user." icon_state = "wizard" permeability_coefficient = 0.01 - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, FIRE = 100, ACID = 100, WOUND = 20) strip_delay = 50 equip_delay_other = 50 clothing_flags = SNUG_FIT @@ -33,7 +33,7 @@ desc = "It has WIZZARD written across it in sequins. Comes with a cool beard." icon_state = "wizard-fake" permeability_coefficient = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FLAMMABLE dog_fashion = /datum/dog_fashion/head/blue_wizard @@ -64,7 +64,7 @@ inhand_icon_state = "wizrobe" permeability_coefficient = 0.01 body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100, WOUND = 20) + armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, FIRE = 100, ACID = 100, WOUND = 20) allowed = list(/obj/item/teleportation_scroll) flags_inv = HIDEJUMPSUIT strip_delay = 50 @@ -120,7 +120,7 @@ icon_state = "wizard-fake" inhand_icon_state = "wizrobe" permeability_coefficient = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FLAMMABLE /obj/item/clothing/head/wizard/marisa/fake @@ -128,7 +128,7 @@ desc = "Strange-looking hat-wear, makes you want to cast fireballs." icon_state = "marisa" permeability_coefficient = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FLAMMABLE /obj/item/clothing/suit/wizrobe/marisa/fake @@ -137,7 +137,7 @@ icon_state = "marisa" inhand_icon_state = "marisarobe" permeability_coefficient = 1 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FLAMMABLE /obj/item/clothing/suit/wizrobe/paper @@ -182,7 +182,7 @@ 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 = 30, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, FIRE = 100, ACID = 100) slowdown = 0 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -196,7 +196,7 @@ inhand_icon_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 = 30, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 20, BIO = 20, FIRE = 100, ACID = 100) actions_types = null //No inbuilt light resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 6f9bc87359a..611b42caeae 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -5,7 +5,7 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS permeability_coefficient = 0.9 slot_flags = ITEM_SLOT_ICLOTHING - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 5) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 5) equip_sound = 'sound/items/equip/jumpsuit_equip.ogg' drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index ffd7857e2a7..2341a1c5c90 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -237,7 +237,7 @@ desc = "An eccentric medal made of plasma." icon_state = "plasma" medaltype = "medal-plasma" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = -10, ACID = 0) //It's made of plasma. Of course it's flammable. + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = -10, ACID = 0) //It's made of plasma. Of course it's flammable. custom_materials = list(/datum/material/plasma=1000) /obj/item/clothing/accessory/medal/plasma/Initialize(mapload) @@ -393,7 +393,7 @@ name = "bone talisman" desc = "A hunter's talisman, some say the old gods smile on those who wear it." icon_state = "talisman" - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, FIRE = 0, ACID = 25) attachment_slot = null /obj/item/clothing/accessory/skullcodpiece @@ -401,7 +401,7 @@ desc = "A skull shaped ornament, intended to protect the important things in life." icon_state = "skull" above_suit = TRUE - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, FIRE = 0, ACID = 25) attachment_slot = GROIN /obj/item/clothing/accessory/skilt @@ -410,7 +410,7 @@ icon_state = "skilt" above_suit = TRUE minimize_when_attached = FALSE - armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, RAD = 5, FIRE = 0, ACID = 25) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 20, BIO = 20, FIRE = 0, ACID = 25) attachment_slot = GROIN /obj/item/clothing/accessory/allergy_dogtag diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 13d2efdd53e..3cdd4200b10 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -249,7 +249,7 @@ inhand_icon_state = "hostanclothes" worn_icon = 'icons/mob/clothing/under/security.dmi' alt_covers_chest = TRUE - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 30) strip_delay = 50 sensor_mode = SENSOR_COORDS random_sensor = FALSE diff --git a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm index 9504863ee68..20c5eaecec0 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/civilian_service.dm @@ -6,7 +6,7 @@ inhand_icon_state = "plasmaman" icon = 'icons/obj/clothing/under/plasmaman.dmi' worn_icon = 'icons/mob/clothing/under/plasmaman.dmi' - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS can_adjust = FALSE strip_delay = 80 @@ -60,7 +60,7 @@ desc = "An air-tight khaki suit designed for operations on lavaland by plasmamen." icon_state = "explorer_envirosuit" inhand_icon_state = "explorer_envirosuit" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95)//SKYRAT EDIT + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95)//SKYRAT EDIT /obj/item/clothing/under/plasmaman/chef name = "chef's plasma envirosuit" diff --git a/code/modules/clothing/under/jobs/Plasmaman/command.dm b/code/modules/clothing/under/jobs/Plasmaman/command.dm index 739c9865939..a2fcac7bbb6 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/command.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/command.dm @@ -5,7 +5,7 @@ inhand_icon_state = "captain_envirosuit" sensor_mode = SENSOR_COORDS random_sensor = FALSE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95, WOUND = 15) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95, WOUND = 15) /obj/item/clothing/under/plasmaman/head_of_personnel name = "head of personnel's plasma envirosuit" @@ -18,7 +18,7 @@ desc = "A plasmaman containment suit decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "hos_envirosuit" inhand_icon_state = "hos_envirosuit" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95, WOUND = 10) sensor_mode = 3 random_sensor = FALSE @@ -27,18 +27,18 @@ desc = "An air-tight suit designed to be used by plasmamen insane enough to achieve the rank of \"Chief Engineer\"." icon_state = "ce_envirosuit" inhand_icon_state = "ce_envirosuit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) /obj/item/clothing/under/plasmaman/chief_medical_officer name = "chief medical officer's plasma envirosuit" desc = "It's an envirosuit worn by those with the experience to be \"Chief Medical Officer\"." icon_state = "cmo_envirosuit" inhand_icon_state = "cmo_envirosuit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) /obj/item/clothing/under/plasmaman/research_director name = "research director's plasma envirosuit" desc = "It's an envirosuit worn by those with the know-how to achieve the position of \"Research Director\"." icon_state = "rd_envirosuit" inhand_icon_state = "rd_envirosuit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) diff --git a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm index e06317a0322..4a7d162be4f 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/engineering.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/engineering.dm @@ -3,12 +3,12 @@ desc = "An air-tight suit designed to be used by plasmamen employed as engineers, the usual purple stripes being replaced by engineering's orange. It protects the user from fire and acid damage." icon_state = "engineer_envirosuit" inhand_icon_state = "engineer_envirosuit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) /obj/item/clothing/under/plasmaman/atmospherics name = "atmospherics plasma envirosuit" desc = "An air-tight suit designed to be used by plasmamen employed as atmos technicians, the usual purple stripes being replaced by atmos' blue." icon_state = "atmos_envirosuit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 10, FIRE = 95, ACID = 95) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) inhand_icon_state = "atmos_envirosuit" diff --git a/code/modules/clothing/under/jobs/Plasmaman/security.dm b/code/modules/clothing/under/jobs/Plasmaman/security.dm index 20018b15ac2..12b0671e61e 100644 --- a/code/modules/clothing/under/jobs/Plasmaman/security.dm +++ b/code/modules/clothing/under/jobs/Plasmaman/security.dm @@ -3,7 +3,7 @@ desc = "A plasmaman containment suit designed for security officers, offering a limited amount of extra protection." icon_state = "security_envirosuit" inhand_icon_state = "security_envirosuit" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 95, ACID = 95) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 95, ACID = 95) sensor_mode = SENSOR_COORDS random_sensor = FALSE diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm index e7011fb1540..8375b08db9a 100644 --- a/code/modules/clothing/under/jobs/cargo.dm +++ b/code/modules/clothing/under/jobs/cargo.dm @@ -41,7 +41,7 @@ name = "shaft miner's jumpsuit" icon_state = "miner" inhand_icon_state = "miner" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 0, WOUND = 10) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 0, WOUND = 10) resistance_flags = NONE /obj/item/clothing/under/rank/cargo/miner/lavaland diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm index 4d036fc4524..3b09fc5cc07 100644 --- a/code/modules/clothing/under/jobs/civilian/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian/civilian.dm @@ -107,7 +107,7 @@ desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards." name = "janitor's jumpsuit" icon_state = "janitor" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/civilian/janitor/skirt name = "janitor's jumpskirt" diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm index 659214c8773..78f5567ac7b 100644 --- a/code/modules/clothing/under/jobs/command.dm +++ b/code/modules/clothing/under/jobs/command.dm @@ -7,7 +7,7 @@ random_sensor = FALSE icon = 'icons/obj/clothing/under/captain.dmi' worn_icon = 'icons/mob/clothing/under/captain.dmi' - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 15) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 15) /obj/item/clothing/under/rank/captain/skirt name = "captain's jumpskirt" diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 93f1b9fdb4e..5c9a5ac045f 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -3,7 +3,7 @@ /obj/item/clothing/under/rank/engineering icon = 'icons/obj/clothing/under/engineering.dmi' worn_icon = 'icons/mob/clothing/under/engineering.dmi' - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 60, ACID = 20) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 60, ACID = 20) resistance_flags = NONE /obj/item/clothing/under/rank/engineering/chief_engineer @@ -11,7 +11,7 @@ name = "chief engineer's jumpsuit" icon_state = "chiefengineer" inhand_icon_state = "gy_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 80, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 40) /obj/item/clothing/under/rank/engineering/chief_engineer/skirt name = "chief engineer's jumpskirt" diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index 822c57d1edf..621acbbaf81 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -2,7 +2,7 @@ icon = 'icons/obj/clothing/under/medical.dmi' worn_icon = 'icons/mob/clothing/under/medical.dmi' permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/medical/chief_medical_officer desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." @@ -81,7 +81,7 @@ name = "chemist's jumpsuit" icon_state = "chemistry" inhand_icon_state = "w_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 50, ACID = 65) /obj/item/clothing/under/rank/medical/chemist/skirt name = "chemist's jumpskirt" @@ -98,7 +98,7 @@ icon_state = "paramedic" inhand_icon_state = "w_suit" permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) alt_covers_chest = TRUE /obj/item/clothing/under/rank/medical/paramedic/skirt diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm index 9d7c9e417d7..7e082baed0d 100644 --- a/code/modules/clothing/under/jobs/rnd.dm +++ b/code/modules/clothing/under/jobs/rnd.dm @@ -7,7 +7,7 @@ name = "research director's vest suit" icon_state = "director" inhand_icon_state = "lb_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 10, RAD = 0, FIRE = 0, ACID = 35) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 10, FIRE = 0, ACID = 35) can_adjust = FALSE /obj/item/clothing/under/rank/rnd/research_director/doctor_hilbert @@ -96,7 +96,7 @@ icon_state = "genetics" inhand_icon_state = "w_suit" permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/rnd/geneticist/skirt name = "geneticist's jumpskirt" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index f0c4a03dcaa..959ba6bf102 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -12,7 +12,7 @@ /obj/item/clothing/under/rank/security icon = 'icons/obj/clothing/under/security.dmi' worn_icon = 'icons/mob/clothing/under/security.dmi' - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 30, WOUND = 10) strip_delay = 50 alt_covers_chest = TRUE sensor_mode = SENSOR_COORDS @@ -235,7 +235,7 @@ desc = "A security jumpsuit decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "rhos" inhand_icon_state = "r_suit" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) strip_delay = 60 // SKYRAT EDIT ADDITION START uses_advanced_reskins = TRUE diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 3464202e8d1..9cadd5897ad 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -49,7 +49,7 @@ desc = "A cybernetically enhanced jumpsuit used for administrative duties." 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, FIRE = 100, ACID = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100,ENERGY = 100, BOMB = 100, BIO = 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 @@ -94,7 +94,7 @@ icon_state = "bouncer" inhand_icon_state = "bouncer" can_adjust = FALSE - armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30) + armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 30) /obj/item/clothing/under/misc/coordinator name = "coordinator jumpsuit" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index d66455146f6..7714b47f99a 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -4,7 +4,7 @@ icon_state = "syndicate" inhand_icon_state = "bl_suit" has_sensor = NO_SENSORS - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) alt_covers_chest = TRUE // icon = 'icons/obj/clothing/under/syndicate.dmi' //SKYRAT EDIT - ICON OVERRIDDEN BY modular_skyrat\modules\aesthetics\clothing // worn_icon = 'icons/mob/clothing/under/syndicate.dmi' //SKYRAT EDIT - ICON OVERRIDDEN BY modular_skyrat\modules\aesthetics\clothing @@ -15,7 +15,7 @@ icon_state = "syndicate_skirt" inhand_icon_state = "bl_suit" has_sensor = NO_SENSORS - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) alt_covers_chest = TRUE fitted = FEMALE_UNIFORM_TOP dying_key = DYE_REGISTRY_JUMPSKIRT @@ -25,7 +25,7 @@ desc = "It still counts as stealth if there are no witnesses." icon_state = "bloodred_pajamas" inhand_icon_state = "bl_suit" - armor = list(MELEE = 10, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, RAD = 10, FIRE = 50, ACID = 40) + armor = list(MELEE = 10, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) resistance_flags = FIRE_PROOF | ACID_PROOF can_adjust = FALSE @@ -34,21 +34,21 @@ desc = "Do operatives dream of nuclear sheep?" icon_state = "bloodred_pajamas" inhand_icon_state = "bl_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) /obj/item/clothing/under/syndicate/tacticool name = "tacticool turtleneck" desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool" inhand_icon_state = "bl_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) /obj/item/clothing/under/syndicate/tacticool/skirt name = "tacticool skirtleneck" desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." icon_state = "tactifool_skirt" inhand_icon_state = "bl_suit" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) fitted = FEMALE_UNIFORM_TOP dying_key = DYE_REGISTRY_JUMPSKIRT @@ -73,7 +73,7 @@ desc = "Badly translated labels tell you to clean this in Vodka. Great for squatting in." icon_state = "trackpants" can_adjust = FALSE - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = NONE /obj/item/clothing/under/syndicate/combat @@ -87,5 +87,5 @@ desc = "Military grade tracksuits for frontline squatting." icon_state = "rus_under" can_adjust = FALSE - armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = NONE diff --git a/code/modules/clothing/under/trek.dm b/code/modules/clothing/under/trek.dm index e652af54c8d..3bb731867cb 100644 --- a/code/modules/clothing/under/trek.dm +++ b/code/modules/clothing/under/trek.dm @@ -19,7 +19,7 @@ desc = "The uniform worn by engineering/security officers." icon_state = "trek_engsec" inhand_icon_state = "r_suit" - 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. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 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/xmas.dm b/code/modules/events/holiday/xmas.dm index 7647e639129..b3051827578 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -37,7 +37,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, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) dog_fashion = /datum/dog_fashion/head/festive /obj/effect/spawner/xmastree diff --git a/code/modules/fields/gravity.dm b/code/modules/fields/gravity.dm index 930c524081f..0914993174a 100644 --- a/code/modules/fields/gravity.dm +++ b/code/modules/fields/gravity.dm @@ -7,8 +7,9 @@ /datum/proximity_monitor/advanced/gravity/setup_field_turf(turf/T) . = ..() - T.AddElement(/datum/element/forced_gravity, gravity_value) - modified_turfs[T] = gravity_value + + if (!isnull(modified_turfs[T])) + T.AddElement(/datum/element/forced_gravity, gravity_value) /datum/proximity_monitor/advanced/gravity/cleanup_field_turf(turf/T) . = ..() diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 56e8b90a143..2e14c93506d 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -24,7 +24,7 @@ opacity = FALSE resistance_flags = FLAMMABLE max_integrity = 200 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0) var/state = BOOKCASE_UNANCHORED /// When enabled, books_to_load number of random books will be generated for this bookcase when first interacted with. var/load_random_books = FALSE diff --git a/code/modules/meteors/meteors.dm b/code/modules/meteors/meteors.dm index 8158704d7b4..21e0cd4291f 100644 --- a/code/modules/meteors/meteors.dm +++ b/code/modules/meteors/meteors.dm @@ -278,7 +278,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event ..() explosion(src, light_impact_range = 4, flash_range = 3, adminlog = FALSE) new /obj/effect/decal/cleanable/greenglow(get_turf(src)) - radiation_pulse(src, 500) + radiation_pulse(src, max_range = 3, threshold = RAD_MEDIUM_INSULATION, chance = 80) //Meaty Ore /obj/effect/meteor/meaty diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index ca15c91494a..60e03e4a450 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -10,7 +10,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/explorer - armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 50) + armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 50, ACID = 50) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF @@ -24,7 +24,7 @@ min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT - armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 30, BULLET = 10, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 50, ACID = 50, WOUND = 10) resistance_flags = FIRE_PROOF /obj/item/clothing/suit/hooded/explorer/Initialize(mapload) @@ -43,7 +43,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, FIRE = 20, ACID = 40, WOUND = 5) + armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 50, FIRE = 20, ACID = 40, WOUND = 5) resistance_flags = FIRE_PROOF /obj/item/clothing/mask/gas/explorer/attack_self(mob/user) diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 49c7da3a035..336e6d1a0f4 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sort_list(list( icon = 'icons/obj/lighting.dmi' icon_state = "marker" layer = BELOW_OPEN_DOOR_LAYER - armor = list(MELEE = 50, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 25, BIO = 100, RAD = 100, FIRE = 25, ACID = 0) + armor = list(MELEE = 50, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 25, BIO = 100, FIRE = 25, ACID = 0) max_integrity = 50 anchored = TRUE light_range = 2 diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index e66fe842b5d..46115962f7f 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -269,9 +269,13 @@ resistance_flags = FIRE_PROOF | LAVA_PROOF | ACID_PROOF helmettype = /obj/item/clothing/head/helmet/space/hardsuit/hostile_environment slowdown = 0 - armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) +/obj/item/clothing/suit/space/hardsuit/hostile_environment/Initialize(mapload) + . = ..() + AddElement(/datum/element/radiation_protected_clothing) + /obj/item/clothing/suit/space/hardsuit/hostile_environment/process(delta_time) . = ..() var/mob/living/carbon/wearer = loc @@ -290,7 +294,7 @@ hardsuit_type = "heck" w_class = WEIGHT_CLASS_NORMAL max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | LAVA_PROOF | ACID_PROOF actions_types = list() @@ -298,6 +302,7 @@ . = ..() update_appearance() AddComponent(/datum/component/butchering, 5, 150, null, null, null, TRUE, CALLBACK(src, .proc/consume)) + AddElement(/datum/element/radiation_protected_clothing) /obj/item/clothing/head/helmet/space/hardsuit/hostile_environment/equipped(mob/user, slot, initial = FALSE) . = ..() diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 22e70e9731a..4791ba7aa36 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -554,7 +554,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = LAVA_PROOF | FIRE_PROOF //they are from lavaland after all - armor = list(MELEE = 15, BULLET = 25, LASER = 15, ENERGY = 15, BOMB = 100, BIO = 0, RAD = 0, FIRE = 100, ACID = 30) //mostly bone bracer armor + armor = list(MELEE = 15, BULLET = 25, LASER = 15, ENERGY = 15, BOMB = 100, BIO = 0, FIRE = 100, ACID = 30) //mostly bone bracer armor /obj/item/clothing/gloves/gauntlets/equipped(mob/user, slot) . = ..() @@ -588,7 +588,7 @@ inhand_icon_state = "hardsuit-berserker" slowdown = 0 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/berserker - armor = list(MELEE = 30, BULLET = 30, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 10, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 30, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/cleaving_saw) @@ -617,7 +617,7 @@ icon_state = "hardsuit0-berserker" inhand_icon_state = "hardsuit0-berserker" hardsuit_type = "berserker" - armor = list(MELEE = 30, BULLET = 30, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, RAD = 10, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 30, LASER = 10, ENERGY = 20, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) actions_types = list(/datum/action/item_action/berserk_mode) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm index a53cbfc49d1..67cef378df0 100644 --- a/code/modules/mining/satchel_ore_boxdm.dm +++ b/code/modules/mining/satchel_ore_boxdm.dm @@ -18,10 +18,6 @@ else return ..() -/obj/structure/ore_box/ComponentInitialize() - . = ..() - AddElement(/datum/element/rad_insulation, 0.01) //please datum mats no more cancer - /obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I) if(I.use_tool(src, user, 50, volume=50)) user.visible_message(span_notice("[user] pries \the [src] apart."), diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index cc71d5ce0b9..eb3e92b7c90 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -502,7 +502,6 @@ if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && dropItemToGround(hand)) step_towards(hand, src) to_chat(src, span_warning("\The [S] pulls \the [hand] from your grip!")) - rad_act(current_size * 3) #define CPR_PANIC_SPEED (0.8 SECONDS) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 5ba204b5342..8ebc09848de 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -78,10 +78,6 @@ SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "brain_damage") return ..() -/mob/living/carbon/human/handle_mutations_and_radiation(delta_time, times_fired) - if(!dna || !dna.species.handle_mutations_and_radiation(src, delta_time, times_fired)) - ..() - /mob/living/carbon/human/breathe() if(!HAS_TRAIT(src, TRAIT_NOBREATH)) return ..() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index b48225e4021..3e09cc65ca3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1283,32 +1283,26 @@ GLOBAL_LIST_EMPTY(features_by_species) * * Arguments: * - [source][/mob/living/carbon/human]: The mob requesting handling + * - time_since_irradiated: The amount of time since the mob was first irradiated * - delta_time: The amount of time that has passed since the last tick - * - times_fired: The number of times SSmobs has fired */ -/datum/species/proc/handle_mutations_and_radiation(mob/living/carbon/human/source, delta_time, times_fired) - if(HAS_TRAIT(source, TRAIT_RADIMMUNE)) - source.radiation = 0 - return TRUE - - . = FALSE - var/radiation = source.radiation - if(radiation > RAD_MOB_KNOCKDOWN && DT_PROB(RAD_MOB_KNOCKDOWN_PROB, delta_time)) +/datum/species/proc/handle_radiation(mob/living/carbon/human/source, time_since_irradiated, delta_time) + if(time_since_irradiated > RAD_MOB_KNOCKDOWN && DT_PROB(RAD_MOB_KNOCKDOWN_PROB, delta_time)) if(!source.IsParalyzed()) source.emote("collapse") source.Paralyze(RAD_MOB_KNOCKDOWN_AMOUNT) to_chat(source, span_danger("You feel weak.")) - if(radiation > RAD_MOB_VOMIT && DT_PROB(RAD_MOB_VOMIT_PROB, delta_time)) + if(time_since_irradiated > RAD_MOB_VOMIT && DT_PROB(RAD_MOB_VOMIT_PROB, delta_time)) source.vomit(10, TRUE) - if(radiation > RAD_MOB_MUTATE && DT_PROB(RAD_MOB_MUTATE_PROB, delta_time)) + if(time_since_irradiated > RAD_MOB_MUTATE && DT_PROB(RAD_MOB_MUTATE_PROB, delta_time)) to_chat(source, span_danger("You mutate!")) source.easy_random_mutate(NEGATIVE + MINOR_NEGATIVE) source.emote("gasp") source.domutcheck() - if(radiation > RAD_MOB_HAIRLOSS && DT_PROB(RAD_MOB_HAIRLOSS_PROB, delta_time)) + if(time_since_irradiated > RAD_MOB_HAIRLOSS && DT_PROB(RAD_MOB_HAIRLOSS_PROB, delta_time)) if(!(source.hairstyle == "Bald") && (HAIR in species_traits)) to_chat(source, span_danger("Your hair starts to fall out in clumps...")) addtimer(CALLBACK(src, .proc/go_bald, source), 5 SECONDS) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 9f3c2885217..5f5ad9216ea 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -378,17 +378,9 @@ if(!COOLDOWN_FINISHED(src, radiation_emission_cooldown)) return else - radiation_pulse(H, 50) + radiation_pulse(H, max_range = 1, threshold = RAD_VERY_LIGHT_INSULATION, chance = 3) COOLDOWN_START(src, radiation_emission_cooldown, 2 SECONDS) -/datum/species/golem/uranium/spec_unarmedattacked(mob/living/carbon/human/user, mob/living/carbon/human/target) - . = ..() - var/obj/item/bodypart/affecting = target.get_bodypart(ran_zone(user.zone_selected)) - var/radiation_block = target.run_armor_check(affecting, RAD) - ///standard damage roll for use in determining how much you irradiate per punch - var/attacker_irradiate_value = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh) - target.apply_effect(attacker_irradiate_value*5, EFFECT_IRRADIATE, radiation_block) - /datum/species/golem/uranium/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) ..() if(COOLDOWN_FINISHED(src, radiation_emission_cooldown) && M != H && M.combat_mode) diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index 9227193ab25..b16936896fb 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -100,12 +100,6 @@ target.attack_paw(user, modifiers) return TRUE -/datum/species/monkey/handle_mutations_and_radiation(mob/living/carbon/human/source, delta_time, times_fired) - . = ..() - if(source.radiation > RAD_MOB_MUTATE * 2 && DT_PROB(0.25, delta_time)) - source.gorillize() - return - /datum/species/monkey/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[MONKEYDAY]) return TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index c64e9799af0..d8c073a5da2 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -55,7 +55,7 @@ inhand_icon_state = "snailshell" lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, FIRE = 0, ACID = 50) max_integrity = 200 resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index e6e2efbb012..77e3b5fa055 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -282,11 +282,6 @@ else if(bz_partialpressure > 0.01) hallucination += 5 - //TRITIUM - if(breath_gases[/datum/gas/tritium]) - var/tritium_partialpressure = (breath_gases[/datum/gas/tritium][MOLES]/breath.total_moles())*breath_pressure - radiation += tritium_partialpressure/10 - //NITRYL if(breath_gases[/datum/gas/nitryl]) var/nitryl_partialpressure = (breath_gases[/datum/gas/nitryl][MOLES]/breath.total_moles())*breath_pressure @@ -417,45 +412,42 @@ hud_used.lingchemdisplay.invisibility = INVISIBILITY_ABSTRACT -/mob/living/carbon/handle_mutations_and_radiation(delta_time, times_fired) - if(dna?.temporary_mutations.len) - for(var/mut in dna.temporary_mutations) - if(dna.temporary_mutations[mut] < world.time) - if(mut == UI_CHANGED) - if(dna.previous["UI"]) - dna.unique_identity = merge_text(dna.unique_identity,dna.previous["UI"]) - updateappearance(mutations_overlay_update=1) - dna.previous.Remove("UI") - dna.temporary_mutations.Remove(mut) - continue - if(mut == UF_CHANGED) - if(dna.previous["UF"]) - dna.unique_features = merge_text(dna.unique_features,dna.previous["UF"]) - updateappearance(mutcolor_update=1, mutations_overlay_update=1) - dna.previous.Remove("UF") - dna.temporary_mutations.Remove(mut) - continue - if(mut == UE_CHANGED) - if(dna.previous["name"]) - real_name = dna.previous["name"] - name = real_name - dna.previous.Remove("name") - if(dna.previous["UE"]) - dna.unique_enzymes = dna.previous["UE"] - dna.previous.Remove("UE") - if(dna.previous["blood_type"]) - dna.blood_type = dna.previous["blood_type"] - dna.previous.Remove("blood_type") - dna.temporary_mutations.Remove(mut) - continue - for(var/datum/mutation/human/HM in dna.mutations) - if(HM?.timed) - dna.remove_mutation(HM.type) - - radiation = max(radiation - (RAD_LOSS_PER_SECOND * delta_time), 0) - if(radiation > RAD_MOB_SAFE) - adjustToxLoss(log(radiation-RAD_MOB_SAFE)*RAD_TOX_COEFFICIENT*delta_time) +/mob/living/carbon/handle_mutations(time_since_irradiated, delta_time, times_fired) + if(!dna?.temporary_mutations.len) + return + for(var/mut in dna.temporary_mutations) + if(dna.temporary_mutations[mut] < world.time) + if(mut == UI_CHANGED) + if(dna.previous["UI"]) + dna.unique_identity = merge_text(dna.unique_identity,dna.previous["UI"]) + updateappearance(mutations_overlay_update=1) + dna.previous.Remove("UI") + dna.temporary_mutations.Remove(mut) + continue + if(mut == UF_CHANGED) + if(dna.previous["UF"]) + dna.unique_features = merge_text(dna.unique_features,dna.previous["UF"]) + updateappearance(mutcolor_update=1, mutations_overlay_update=1) + dna.previous.Remove("UF") + dna.temporary_mutations.Remove(mut) + continue + if(mut == UE_CHANGED) + if(dna.previous["name"]) + real_name = dna.previous["name"] + name = real_name + dna.previous.Remove("name") + if(dna.previous["UE"]) + dna.unique_enzymes = dna.previous["UE"] + dna.previous.Remove("UE") + if(dna.previous["blood_type"]) + dna.blood_type = dna.previous["blood_type"] + dna.previous.Remove("blood_type") + dna.temporary_mutations.Remove(mut) + continue + for(var/datum/mutation/human/HM in dna.mutations) + if(HM?.timed) + dna.remove_mutation(HM.type) /* Alcohol Poisoning Chart diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 8a8b726b69b..da99c8bab62 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -104,9 +104,6 @@ Immobilize(effect * hit_percent) if(EFFECT_UNCONSCIOUS) Unconscious(effect * hit_percent) - if(EFFECT_IRRADIATE) - if(!HAS_TRAIT(src, TRAIT_RADIMMUNE)) - radiation += max(effect * hit_percent, 0) if(EFFECT_SLUR) slurring = max(slurring,(effect * hit_percent)) if(EFFECT_STUTTER) @@ -122,7 +119,7 @@ return TRUE /// applies multiple effects at once via [/mob/living/proc/apply_effect] -/mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, irradiate = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = 0, stamina = 0, jitter = 0, paralyze = 0, immobilize = 0) +/mob/living/proc/apply_effects(stun = 0, knockdown = 0, unconscious = 0, slur = 0, stutter = 0, eyeblur = 0, drowsy = 0, blocked = 0, stamina = 0, jitter = 0, paralyze = 0, immobilize = 0) if(blocked >= 100) return FALSE if(stun) @@ -135,8 +132,6 @@ apply_effect(paralyze, EFFECT_PARALYZE, blocked) if(immobilize) apply_effect(immobilize, EFFECT_IMMOBILIZE, blocked) - if(irradiate) - apply_effect(irradiate, EFFECT_IRRADIATE, blocked) if(slur) apply_effect(slur, EFFECT_SLUR, blocked) if(stutter) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 006ab551f18..65637bb1a51 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -43,7 +43,7 @@ if(stat != DEAD) //Mutations and radiation - handle_mutations_and_radiation(delta_time, times_fired) + handle_mutations(delta_time, times_fired) if(stat != DEAD) //Breathing, if applicable @@ -83,8 +83,7 @@ SEND_SIGNAL(src, COMSIG_LIVING_HANDLE_BREATHING, delta_time, times_fired) return -/mob/living/proc/handle_mutations_and_radiation(delta_time, times_fired) - radiation = 0 //so radiation don't accumulate in simple animals +/mob/living/proc/handle_mutations(delta_time, times_fired) return /mob/living/proc/handle_diseases(delta_time, times_fired) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 1eaaf29c3c7..20e06d412ae 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -800,7 +800,6 @@ remove_CC() set_disgust(0) losebreath = 0 - radiation = 0 set_nutrition(NUTRITION_LEVEL_FED + 50) bodytemperature = get_body_temp_normal(apply_change=FALSE) set_blindness(0) @@ -1421,21 +1420,6 @@ G.Recall() to_chat(G, span_holoparasite("Your summoner has changed form!")) -/mob/living/rad_act(amount) - . = ..() - - if(!amount || (amount < RAD_MOB_SKIN_PROTECTION) || HAS_TRAIT(src, TRAIT_RADIMMUNE)) - return - - amount -= RAD_BACKGROUND_RADIATION // This will always be at least 1 because of how skin protection is calculated - - var/blocked = getarmor(null, RAD) - - if(amount > RAD_BURN_THRESHOLD) - apply_damage(RAD_BURN_CURVE(amount), BURN, null, blocked) - - apply_effect((amount*RAD_MOB_COEFFICIENT)/max(1, (radiation**2)*RAD_OVERDOSE_REDUCTION), EFFECT_IRRADIATE, blocked) - /mob/living/anti_magic_check(magic = TRUE, holy = FALSE, tinfoil = FALSE, chargecost = 1, self = FALSE) . = ..() if(.) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 4efa9e614a2..9097979d1ee 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -56,7 +56,7 @@ var/on_hit_state = P.on_hit(src, armor, piercing_hit) if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK) apply_damage(P.damage, P.damage_type, def_zone, armor, wound_bonus=P.wound_bonus, bare_wound_bonus=P.bare_wound_bonus, sharpness = P.sharpness) - apply_effects(P.stun, P.knockdown, P.unconscious, P.irradiate, P.slur, P.stutter, P.eyeblur, P.drowsy, armor, P.stamina, P.jitter, P.paralyze, P.immobilize) + apply_effects(P.stun, P.knockdown, P.unconscious, P.slur, P.stutter, P.eyeblur, P.drowsy, armor, P.stamina, P.jitter, P.paralyze, P.immobilize) if(P.dismemberment) check_projectile_dismemberment(P, def_zone) return on_hit_state ? BULLET_ACT_HIT : BULLET_ACT_BLOCK @@ -374,8 +374,6 @@ return FALSE return ..() -//Looking for irradiate()? It's been moved to radiation.dm under the rad_act() for mobs. - /mob/living/acid_act(acidpwr, acid_volume) take_bodypart_damage(acidpwr * min(1, acid_volume * 0.1)) return TRUE diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 09dd56ea7f8..ba6394b3df0 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -143,7 +143,6 @@ ///if it can be held, can it be equipped to any slots? (think pAI's on head) var/worn_slot_flags = NONE - var/radiation = 0 ///If the mob is irradiated. var/ventcrawl_layer = PIPING_LAYER_DEFAULT var/losebreath = 0 diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index bcacb74c32c..db4791a316f 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -320,7 +320,6 @@ /obj/item/multitool/cyborg, /obj/item/t_scanner, /obj/item/analyzer, - /obj/item/geiger_counter/cyborg, /obj/item/holosign_creator/atmos, // Skyrat Edit - Adds Holofans to engineering borgos /obj/item/assembly/signaler/cyborg, /obj/item/areaeditor/blueprints/cyborg, diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index aab86589794..7bd0e3f35e6 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -11,7 +11,7 @@ mob_biotypes = MOB_ROBOTIC deathsound = 'sound/voice/borg_deathsound.ogg' speech_span = SPAN_ROBOT - flags_1 = PREVENT_CONTENTS_EXPLOSION_1 | RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 + flags_1 = PREVENT_CONTENTS_EXPLOSION_1 examine_cursor_icon = null var/datum/ai_laws/laws = null//Now... THEY ALL CAN ALL HAVE LAWS var/last_lawchange_announce = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 2af2448d829..b31ae8c5905 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -264,7 +264,7 @@ anchored = TRUE density = TRUE layer = ABOVE_OBJ_LAYER - armor = list(MELEE = 0, BULLET = 0, LASER = 100,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 100,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) ///What kind of projectile the actual damaging part should be. var/projectile_type = /obj/projectile/beam/legion ///Time until the tracer gets shot diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index d91a45d2026..09e999290e9 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -113,7 +113,7 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor name = "pulsing tumor" desc = "An odd, pulsing tumor sticking out of the ground. You feel compelled to reach out and touch it..." - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE icon = 'icons/obj/lavaland/tumor.dmi' icon_state = "tumor" diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index ea0c486adc3..1fc2a47cbcc 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -540,7 +540,7 @@ /obj/structure/carp_rift name = "carp rift" desc = "A rift akin to the ones space carp use to travel long distances." - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) max_integrity = 300 icon = 'icons/obj/carp_rift.dmi' icon_state = "carp_rift_carpspawn" @@ -655,7 +655,7 @@ icon_state = "carp_rift_charged" set_light_color(LIGHT_COLOR_YELLOW) update_light() - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) resistance_flags = INDESTRUCTIBLE dragon.rifts_charged += 1 if(dragon.rifts_charged != 3 && !dragon.objective_complete) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 9af211ab894..344292b02ec 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -9,7 +9,7 @@ light_on = FALSE integrity_failure = 0.5 max_integrity = 100 - armor = list(MELEE = 0, BULLET = 20, LASER = 20, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 20, LASER = 20, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0) var/enabled = 0 // Whether the computer is turned on. var/screen_on = 1 // Whether the computer is active/opened/it's screen is on. diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index 6c3bb427763..d92fb9b2b24 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -11,7 +11,7 @@ name = "ninja hood" icon_state = "s-ninja" inhand_icon_state = "s-ninja_mask" - armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 15, BOMB = 30, BIO = 30, RAD = 25, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 15, BOMB = 30, BIO = 30, FIRE = 100, ACID = 100) strip_delay = 12 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF blockTracking = TRUE//Roughly the only unique thing about this helmet. diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm index 720aa7967b5..0a9a7ef9387 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm @@ -27,7 +27,6 @@ info_list += "[span_info("Toxin Levels: [ninja.getToxLoss()]")]\n" info_list += "[span_info("Burn Severity: [ninja.getFireLoss()]")]\n" info_list += "[span_info("Brute Trauma: [ninja.getBruteLoss()]")]\n" - info_list += "[span_info("Radiation Levels: [ninja.radiation] rad")]\n" info_list += "[span_info("Body Temperature: [ninja.bodytemperature-T0C] degrees C ([ninja.bodytemperature*1.8-459.67] degrees F)")]\n" //Diseases diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index f63c5c7c790..a65361e888a 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -15,7 +15,7 @@ permeability_coefficient = 0.01 clothing_flags = NOSLIP resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 15, BOMB = 30, BIO = 30, FIRE = 100, ACID = 100) strip_delay = 120 cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 31e0c8b7147..347621bd7e4 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -15,7 +15,7 @@ inhand_icon_state = "s-ninja_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/stock_parts/cell) resistance_flags = LAVA_PROOF | ACID_PROOF - armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 30, BOMB = 30, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 20,ENERGY = 30, BOMB = 30, BIO = 30, FIRE = 100, ACID = 100) strip_delay = 12 slowdown = 0 // SKYRAT EDIT ADDITION min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index ab48cf25475..88bfaaeb103 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -227,7 +227,7 @@ if (!req_access) req_access = list(ACCESS_ENGINE_EQUIP) if (!armor) - armor = list(MELEE = 20, BULLET = 20, LASER = 10, ENERGY = 100, BOMB = 30, BIO = 100, RAD = 100, FIRE = 90, ACID = 50) + armor = list(MELEE = 20, BULLET = 20, LASER = 10, ENERGY = 100, BOMB = 30, BIO = 100, FIRE = 90, ACID = 50) ..() GLOB.apcs_list += src diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 539e480e46c..c6853ee01b8 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -26,7 +26,11 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne move_resist = INFINITY use_power = NO_POWER_USE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + + var/datum/proximity_monitor/advanced/gravity/gravity_field + var/sprite_number = 0 + ///Audio for when the gravgen is on var/datum/looping_sound/gravgen/soundloop @@ -35,8 +39,9 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne soundloop = new(src, TRUE) /obj/machinery/gravity_generator/main/Destroy() - . = ..() + QDEL_NULL(gravity_field) QDEL_NULL(soundloop) + return ..() /obj/machinery/gravity_generator/safe_throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, datum/callback/callback, force = MOVE_FORCE_STRONG, gentle = FALSE) return FALSE @@ -186,7 +191,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne charge_count = 0 breaker = FALSE set_power() - set_state(0) + disable() investigate_log("has broken down.", INVESTIGATE_GRAVITY) /obj/machinery/gravity_generator/main/set_fix() @@ -290,43 +295,71 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne investigate_log("is now [charging_state == POWER_UP ? "charging" : "discharging"].", INVESTIGATE_GRAVITY) update_appearance() +/obj/machinery/gravity_generator/main/proc/enable() + charging_state = POWER_IDLE + on = TRUE + update_use_power(ACTIVE_POWER_USE) + + if (!SSticker.IsRoundInProgress()) + return + + soundloop.start() + if (!gravity_in_level()) + investigate_log("was brought online and is now producing gravity for this level.", INVESTIGATE_GRAVITY) + message_admins("The gravity generator was brought online [ADMIN_VERBOSEJMP(src)]") + shake_everyone() + gravity_field = make_field(/datum/proximity_monitor/advanced/gravity, list("current_range" = 2, "host" = src, "gravity_value" = 6)) + + complete_state_update() + +/obj/machinery/gravity_generator/main/proc/disable() + charging_state = POWER_IDLE + on = FALSE + update_use_power(IDLE_POWER_USE) + + if (!SSticker.IsRoundInProgress()) + return + + soundloop.stop() + if (gravity_in_level()) + investigate_log("was brought offline and there is now no gravity for this level.", INVESTIGATE_GRAVITY) + message_admins("The gravity generator was brought offline with no backup generator. [ADMIN_VERBOSEJMP(src)]") + shake_everyone() + + QDEL_NULL(gravity_field) + complete_state_update() + +/obj/machinery/gravity_generator/main/proc/complete_state_update() + update_appearance() + update_list() + updateUsrDialog() + // Set the state of the gravity. /obj/machinery/gravity_generator/main/proc/set_state(new_state) - charging_state = POWER_IDLE + on = new_state update_use_power(on ? ACTIVE_POWER_USE : IDLE_POWER_USE) // Sound the alert if gravity was just enabled or disabled. var/alert = FALSE if(SSticker.IsRoundInProgress()) if(on) // If we turned on and the game is live. - soundloop.start() - if(gravity_in_level() == FALSE) - alert = TRUE - investigate_log("was brought online and is now producing gravity for this level.", INVESTIGATE_GRAVITY) - message_admins("The gravity generator was brought online [ADMIN_VERBOSEJMP(src)]") - else - soundloop.stop() - if(gravity_in_level() == TRUE) - alert = TRUE - investigate_log("was brought offline and there is now no gravity for this level.", INVESTIGATE_GRAVITY) - message_admins("The gravity generator was brought offline with no backup generator. [ADMIN_VERBOSEJMP(src)]") - update_appearance() - update_list() - src.updateUsrDialog() + else + + + if(alert) shake_everyone() // Charge/Discharge and turn on/off gravity when you reach 0/100 percent. -// Also emit radiation and handle the overlays. /obj/machinery/gravity_generator/main/process() if(machine_stat & BROKEN) return if(charging_state != POWER_IDLE) if(charging_state == POWER_UP && charge_count >= 100) - set_state(1) + enable() else if(charging_state == POWER_DOWN && charge_count <= 0) - set_state(0) + disable() else if(charging_state == POWER_UP) charge_count += 2 @@ -337,8 +370,6 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne playsound(src.loc, 'sound/effects/empulse.ogg', 100, TRUE) updateDialog() - if(prob(25)) // To help stop "Your clothes feel warm." spam. - pulse_radiation() var/overlay_state = null switch(charge_count) @@ -360,10 +391,6 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne middle.add_overlay(overlay_state) current_overlay = overlay_state - -/obj/machinery/gravity_generator/main/proc/pulse_radiation() - radiation_pulse(src, 200) - // Shake everyone on the z level to let them know that gravity was enagaged/disenagaged. /obj/machinery/gravity_generator/main/proc/shake_everyone() var/turf/T = get_turf(src) @@ -420,8 +447,8 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne name = "paper- 'Generate your own gravity!'" info = {"

    Gravity Generator Instructions For Dummies

    Surprisingly, gravity isn't that hard to make! All you have to do is inject deadly radioactive minerals into a ball of - energy and you have yourself gravity! You can turn the machine on or off when required but you must remember that the generator - will EMIT RADIATION when charging or discharging, you can tell it is charging or discharging by the noise it makes, so please WEAR PROTECTIVE CLOTHING.

    + energy and you have yourself gravity! You can turn the machine on or off when required. + The generator produces a very harmful amount of gravity when enabled, so don't stay close for too long.


    It blew up!

    Don't panic! The gravity generator was designed to be easily repaired. If, somehow, the sturdy framework did not survive then diff --git a/code/modules/power/lighting/light_construct.dm b/code/modules/power/lighting/light_construct.dm index 09131ebc9d9..6a3297176da 100644 --- a/code/modules/power/lighting/light_construct.dm +++ b/code/modules/power/lighting/light_construct.dm @@ -6,7 +6,7 @@ anchored = TRUE layer = WALL_OBJ_LAYER max_integrity = 200 - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) ///Light construction stage (LIGHT_CONSTRUCT_EMPTY, LIGHT_CONSTRUCT_WIRED, LIGHT_CONSTRUCT_CLOSED) var/stage = LIGHT_CONSTRUCT_EMPTY diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index f4b0195bafd..2b41ee3a282 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -17,8 +17,6 @@ var/power_gen = 1000 // Enough to power a single APC. 4000 output with T4 capacitor. - var/irradiate = TRUE // RTGs irradiate surroundings, but only when panel is open. - /obj/machinery/power/rtg/Initialize(mapload) . = ..() connect_to_network() @@ -26,8 +24,6 @@ /obj/machinery/power/rtg/process() ..() add_avail(power_gen) - if(panel_open && irradiate) - radiation_pulse(src, 60) /obj/machinery/power/rtg/RefreshParts() var/part_level = 0 @@ -63,7 +59,6 @@ desc = "An alien power source that produces energy seemingly out of nowhere." circuit = /obj/item/circuitboard/machine/abductor/core power_gen = 20000 // 280 000 at T1, 400 000 at T4. Starts at T4. - irradiate = FALSE // Green energy! can_buckle = FALSE pixel_y = 7 var/going_kaboom = FALSE // Is it about to explode? diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm deleted file mode 100644 index c73e08464dc..00000000000 --- a/code/modules/power/singularity/collector.dm +++ /dev/null @@ -1,179 +0,0 @@ -//radiation needs to be over this amount to get power -#define RAD_COLLECTOR_THRESHOLD 80 -//amount of joules created for each rad point over RAD_COLLECTOR_THRESHOLD -#define RAD_COLLECTOR_COEFFICIENT 200 - -/obj/machinery/power/energy_accumulator/rad_collector - name = "Radiation Collector Array" - desc = "A device which uses radiation and plasma to produce power." - icon = 'icons/obj/singularity.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE - icon_state = "ca" - req_access = list(ACCESS_ENGINE_EQUIP, ACCESS_ATMOSPHERICS) - max_integrity = 350 - integrity_failure = 0.2 - rad_insulation = RAD_EXTREME_INSULATION - ///Stores the loaded tank instance - var/obj/item/tank/internals/plasma/loaded_tank = null - ///Is the collector working? - var/active = FALSE - ///Is the collector locked with an id? - var/locked = FALSE - ///Amount of gas removed per tick - var/drain_ratio = 0.5 - ///Multiplier for the amount of gas removed per tick - var/power_production_drain = 0.001 - -/obj/machinery/power/energy_accumulator/rad_collector/anchored - anchored = TRUE - -/obj/machinery/power/energy_accumulator/rad_collector/process(delta_time) - if(!loaded_tank) - return - var/datum/gas_mixture/tank_mix = loaded_tank.return_air() - if(!tank_mix.gases[/datum/gas/plasma]) - investigate_log("out of fuel.", INVESTIGATE_SINGULO) - playsound(src, 'sound/machines/ding.ogg', 50, TRUE) - eject() - return - var/gasdrained = min(power_production_drain * drain_ratio * delta_time, tank_mix.gases[/datum/gas/plasma][MOLES]) - tank_mix.gases[/datum/gas/plasma][MOLES] -= gasdrained - tank_mix.assert_gas(/datum/gas/tritium) - tank_mix.gases[/datum/gas/tritium][MOLES] += gasdrained - tank_mix.garbage_collect() - - . = ..() - -/obj/machinery/power/energy_accumulator/rad_collector/interact(mob/user) - if(!anchored) - return - if(locked) - to_chat(user, span_warning("The controls are locked!")) - return - toggle_power() - user.visible_message(span_notice("[user.name] turns the [src.name] [active? "on":"off"]."), \ - span_notice("You turn the [src.name] [active? "on":"off"].")) - var/datum/gas_mixture/tank_mix = loaded_tank?.return_air() - var/fuel - if(loaded_tank) - fuel = tank_mix.gases[/datum/gas/plasma] - fuel = fuel ? fuel[MOLES] : 0 - investigate_log("turned [active?"on":"off"] by [key_name(user)]. [loaded_tank?"Fuel: [round(fuel/0.29)]%":"It is empty"].", INVESTIGATE_SINGULO) - -/obj/machinery/power/energy_accumulator/rad_collector/can_be_unfasten_wrench(mob/user, silent) - if(!loaded_tank) - return ..() - if(!silent) - to_chat(user, span_warning("Remove the plasma tank first!")) - return FAILED_UNFASTEN - -/obj/machinery/power/energy_accumulator/rad_collector/attackby(obj/item/item, mob/user, params) - if(istype(item, /obj/item/tank/internals/plasma)) - if(!anchored) - to_chat(user, span_warning("[src] needs to be secured to the floor first!")) - return TRUE - if(loaded_tank) - to_chat(user, span_warning("There's already a plasma tank loaded!")) - return TRUE - if(panel_open) - to_chat(user, span_warning("Close the maintenance panel first!")) - return TRUE - if(!user.transferItemToLoc(item, src)) - return - loaded_tank = item - update_appearance() - else if(item.GetID()) - if(!allowed(user)) - to_chat(user, span_danger("Access denied.")) - return TRUE - if(!active) - to_chat(user, span_warning("The controls can only be locked when \the [src] is active!")) - return TRUE - locked = !locked - to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the controls.")) - return TRUE - else - return ..() - -/obj/machinery/power/energy_accumulator/rad_collector/wrench_act(mob/living/user, obj/item/item) - . = ..() - default_unfasten_wrench(user, item) - return TRUE - -/obj/machinery/power/energy_accumulator/rad_collector/screwdriver_act(mob/living/user, obj/item/item) - if(..()) - return TRUE - if(!loaded_tank) - default_deconstruction_screwdriver(user, icon_state, icon_state, item) - return TRUE - to_chat(user, span_warning("Remove the plasma tank first!")) - return TRUE - -/obj/machinery/power/energy_accumulator/rad_collector/crowbar_act(mob/living/user, obj/item/I) - if(loaded_tank) - if(!locked) - eject() - return TRUE - to_chat(user, span_warning("The controls are locked!")) - return TRUE - if(default_deconstruction_crowbar(I)) - return TRUE - to_chat(user, span_warning("There isn't a tank loaded!")) - return TRUE - -/obj/machinery/power/energy_accumulator/rad_collector/return_analyzable_air() - if(!loaded_tank) - return null - return loaded_tank.return_analyzable_air() - -/obj/machinery/power/energy_accumulator/rad_collector/examine(mob/user) - . = ..() - if(!active) - . += span_notice("[src]'s display displays the words: \"Power production mode. Please insert Plasma.\"") - . += span_notice("[src]'s display states that it has stored [display_joules(get_stored_joules())], and is processing [display_power(get_power_output())].") - -/obj/machinery/power/energy_accumulator/rad_collector/atom_break(damage_flag) - . = ..() - if(.) - eject() - -/obj/machinery/power/energy_accumulator/rad_collector/proc/eject() - locked = FALSE - var/obj/item/tank/internals/plasma/tank = loaded_tank - if (!tank) - return - tank.forceMove(drop_location()) - tank.layer = initial(tank.layer) - tank.plane = initial(tank.plane) - loaded_tank = null - if(active) - toggle_power() - else - update_appearance() - -/obj/machinery/power/energy_accumulator/rad_collector/rad_act(pulse_strength) - . = ..() - if(loaded_tank && active && pulse_strength > RAD_COLLECTOR_THRESHOLD) - stored_energy += joules_to_energy((pulse_strength-RAD_COLLECTOR_THRESHOLD)*RAD_COLLECTOR_COEFFICIENT) - -/obj/machinery/power/energy_accumulator/rad_collector/update_overlays() - . = ..() - if(loaded_tank) - . += "ptank" - if(machine_stat & (NOPOWER|BROKEN)) - return - if(active) - . += "on" // SKYRAT EDIT CHANGE - ORIGINAL. += loaded_tank ? "on" : "error" - -/obj/machinery/power/energy_accumulator/rad_collector/proc/toggle_power() - active = !active - if(active) - icon_state = "ca_on" - flick("ca_active", src) - else - icon_state = "ca" - flick("ca_deactive", src) - update_appearance() - return - -#undef RAD_COLLECTOR_THRESHOLD -#undef RAD_COLLECTOR_COEFFICIENT diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index aa1072d0d75..5e8150b5922 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -34,7 +34,7 @@ no power level overlay is currently in the overlays list. max_integrity = 500 can_atmos_pass = ATMOS_PASS_YES //100% immune to lasers and energy projectiles since it absorbs their energy. - armor = list(MELEE = 25, BULLET = 10, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 70) + armor = list(MELEE = 25, BULLET = 10, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) ///Amount of energy stored, used for visual overlays (over 9000?) var/power_level = 0 ///Current power mode of the machine, between FG_OFFLINE, FG_CHARGING, FG_ONLINE diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index dbd425992ac..54998cd6878 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -154,7 +154,6 @@ /obj/singularity/process(delta_time) if(current_size >= STAGE_TWO) - radiation_pulse(src, min(5000, (energy*4.5)+1000), RAD_DISTANCE_COEFFICIENT*0.5) if(prob(event_chance))//Chance for it to run a special event TODO:Come up with one or two more that fit event() dissipate(delta_time) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index a372595d487..7502b2a9c41 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -22,7 +22,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) density = TRUE anchored = TRUE layer = MOB_LAYER - flags_1 = PREVENT_CONTENTS_EXPLOSION_1 | RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 + flags_1 = PREVENT_CONTENTS_EXPLOSION_1 light_range = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF critical_machine = TRUE @@ -102,7 +102,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /datum/gas/proto_nitrate = 0, /datum/gas/zauker = 0, ) - ///The list of gases mapped against their transmit values. We use it to determine the effect different gases have on radiation + ///The list of gases mapped against their transmit values. We use it to determine the effect different gases have on the zaps var/list/gas_trans = list( /datum/gas/oxygen = OXYGEN_TRANSMIT_MODIFIER, /datum/gas/water_vapor = H2O_TRANSMIT_MODIFIER, @@ -166,7 +166,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/powerloss_inhibitor = 1 ///Based on co2 percentage, slowly moves between 0 and 1. We use it to calc the powerloss_inhibitor var/powerloss_dynamic_scaling= 0 - ///Affects the amount of radiation the sm makes. We multiply this with power to find the rads. + ///Affects the amount of radiation the sm makes. We multiply this with power to find the zap power. var/power_transmission_bonus = 0 ///Used to increase or lessen the amount of damage the sm takes from heat based on molar counts. var/mole_heat_penalty = 0 @@ -430,6 +430,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) explode() /obj/machinery/power/supermatter_crystal/proc/explode() + for(var/mob/living/victim as anything in GLOB.alive_mob_list) if(!istype(victim) || victim.z != z) continue @@ -437,8 +438,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) //Hilariously enough, running into a closet should make you get hit the hardest. var/mob/living/carbon/human/human = victim human.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(victim, src) + 1)) ) ) - var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(victim, src) + 1) ) - victim.rad_act(rads) + + if (get_dist(victim, src) <= DETONATION_RADIATION_RANGE) + SSradiation.irradiate(victim) var/turf/local_turf = get_turf(src) alert_sound_to_playing('modular_skyrat/master_files/sound/effects/reactor/explode.ogg', override_volume = TRUE) // SKYRAT EDIT - SM EXPLOSION @@ -674,9 +676,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(power_changes) power = max((removed.temperature * temp_factor / T0C) * gasmix_power_ratio + power, 0) - if(prob(50)) - //(1 + (tritRad + pluoxDampen * bzDampen * o2Rad * plasmaRad / (10 - bzrads))) * freonbonus - radiation_pulse(src, power * max(0, (1 + (power_transmission_bonus/(10-(gas_comp[/datum/gas/bz] * BZ_RADIOACTIVITY_MODIFIER)))) * freonbonus))// RadModBZ(500%) + emit_radiation() //Zaps around 2.5 seconds at 1500 MeV, limited to 0.5 from 4000 MeV and up if(power && (last_power_zap + 4 SECONDS - (power * 0.001)) < world.time) @@ -751,9 +751,6 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) seen_by_sm.hallucination += power * hallucination_power * dist seen_by_sm.hallucination = clamp(seen_by_sm.hallucination, 0, 200) psyCoeff = clamp(psyCoeff + psy_coeff_diff, 0, 1) - for(var/mob/living/in_range_living in range(src, round((power * 0.01) ** 0.25))) - var/rad_amount = (power * 0.1) * sqrt(1 / max(get_dist(in_range_living, src), 1)) - in_range_living.rad_act(rad_amount) //Transitions between one function and another, one we use for the fast inital startup, the other is used to prevent errors with fusion temperatures. //Use of the second function improves the power gain imparted by using co2 @@ -1021,14 +1018,14 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) user.visible_message(span_danger("A hideous sound echoes as [item] is ashed out on contact with \the [src]. That didn't seem like a good idea...")) playsound(src, 'sound/effects/supermatter.ogg', 150, TRUE) Consume(item) - radiation_pulse(src, 150, 4) + radiation_pulse(src, max_range = 3, threshold = 0.1, chance = 50) return ..() else cig.light() user.visible_message(span_danger("As [user] lights \their [item] on \the [src], silence fills the room..."),\ span_danger("Time seems to slow to a crawl as you touch \the [src] with \the [item].\n\The [item] flashes alight with an eerie energy as you nonchalantly lift your hand away from \the [src]. Damn.")) playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) - radiation_pulse(src, 50, 3) + radiation_pulse(src, max_range = 1, threshold = 0, chance = 100) return if(istype(item, /obj/item/scalpel/supermatter)) var/obj/item/scalpel/supermatter/scalpel = item @@ -1051,7 +1048,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) Consume(item) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) - radiation_pulse(src, 150, 4) + radiation_pulse(src, max_range = 3, threshold = 0.1, chance = 50) else if(Adjacent(user)) //if the item is stuck to the person, kill the person too instead of eating just the item. var/vis_msg = span_danger("[user] reaches out and touches [src] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!") @@ -1110,7 +1107,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) matter_power += 200 //Some poor sod got eaten, go ahead and irradiate people nearby. - radiation_pulse(src, 3000, 2, TRUE) + radiation_pulse(src, max_range = 6, threshold = 0.3, chance = 30) for(var/mob/living/near_mob in range(10)) investigate_log("has irradiated [key_name(near_mob)] after consuming [consumed_object].", INVESTIGATE_SUPERMATTER) if(near_mob in view()) diff --git a/code/modules/power/supermatter/supermatter_radiation.dm b/code/modules/power/supermatter/supermatter_radiation.dm new file mode 100644 index 00000000000..546ec13f8f9 --- /dev/null +++ b/code/modules/power/supermatter/supermatter_radiation.dm @@ -0,0 +1,57 @@ +// Any power past this number will be clamped down +#define MAX_ACCEPTED_POWER_OUTPUT 5000 + +// At the highest power output, assuming no integrity changes, the threshold will be 0. +#define THRESHOLD_EQUATION_SLOPE (-1 / MAX_ACCEPTED_POWER_OUTPUT) + +// The higher this number, the faster low integrity will drop threshold +// I would've named this "power", but y'know. :P +#define INTEGRITY_EXPONENTIAL_DEGREE 2 + +// At INTEGRITY_MIN_NUDGABLE_AMOUNT, the power will be treated as, at most, INTEGRITY_MAX_POWER_NUDGE. +// Any lower integrity will result in INTEGRITY_MAX_POWER_NUDGE. +#define INTEGRITY_MAX_POWER_NUDGE 1500 +#define INTEGRITY_MIN_NUDGABLE_AMOUNT 0.7 + +#define RADIATION_CHANCE_AT_FULL_INTEGRITY 0.03 +#define RADIATION_CHANCE_AT_ZERO_INTEGRITY 0.4 +#define CHANCE_EQUATION_SLOPE (RADIATION_CHANCE_AT_ZERO_INTEGRITY - RADIATION_CHANCE_AT_FULL_INTEGRITY) + +/obj/machinery/power/supermatter_crystal/proc/emit_radiation() + // As power goes up, rads go up. + // A standard N2 SM seems to produce a value of around 1,500. + var/power_factor = min(power, MAX_ACCEPTED_POWER_OUTPUT) + + var/integrity = 1 - CLAMP01(damage / explosion_point) + + // When integrity goes down, the threshold (from an observable point of view, rads) go up. + // However, the power factor must go up as well, otherwise turning off the emitters + // on a delaminating SM would stop radiation from escaping. + // To fix this, lower integrities raise the power factor to a minimum. + var/integrity_power_nudge = LERP(INTEGRITY_MAX_POWER_NUDGE, 0, CLAMP01((integrity - INTEGRITY_MIN_NUDGABLE_AMOUNT) / (1 - INTEGRITY_MIN_NUDGABLE_AMOUNT))) + + power_factor = max(power_factor, integrity_power_nudge) + + // At the "normal" N2 power output (with max integrity), this is 0.7, which is enough to be stopped + // by the walls or the radation shutters. + // As integrity does down, rads go up. + var/threshold = (THRESHOLD_EQUATION_SLOPE * power_factor + 1) ** ((1 / integrity) ** INTEGRITY_EXPONENTIAL_DEGREE) + + // Calculating chance is done entirely on integrity, so that actively delaminating SMs feel more dangerous + var/chance = (CHANCE_EQUATION_SLOPE * (1 - integrity)) + RADIATION_CHANCE_AT_FULL_INTEGRITY + + radiation_pulse( + src, + max_range = 8, + threshold = threshold, + chance = chance * 100, + ) + +#undef CHANCE_EQUATION_SLOPE +#undef INTEGRITY_EXPONENTIAL_DEGREE +#undef INTEGRITY_MAX_POWER_NUDGE +#undef INTEGRITY_MIN_NUDGABLE_AMOUNT +#undef MAX_ACCEPTED_POWER_OUTPUT +#undef RADIATION_CHANCE_AT_FULL_INTEGRITY +#undef RADIATION_CHANCE_AT_ZERO_INTEGRITY +#undef THRESHOLD_EQUATION_SLOPE diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index a90b845d85d..0d2fe725c09 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -129,11 +129,11 @@ switch(fail_tick) if(0 to 200) fail_tick += (2*(fail_chance)) - M.rad_act(40) + M.adjustFireLoss(3) to_chat(M, span_userdanger("Your [name] feels warmer.")) if(201 to INFINITY) SSobj.processing.Remove(src) - M.rad_act(80) + M.adjustFireLoss(10) reactor_overloaded = TRUE to_chat(M, span_userdanger("Your [name]'s reactor overloads!")) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 4bbd08ffe8e..3d0bddd43c2 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -142,7 +142,6 @@ var/paralyze = 0 var/immobilize = 0 var/unconscious = 0 - var/irradiate = 0 var/stutter = 0 var/slur = 0 var/eyeblur = 0 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index c1669786384..4d35dd5630b 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -73,9 +73,8 @@ /obj/projectile/beam/xray name = "\improper X-ray beam" icon_state = "xray" - flag = RAD + flag = TOX damage = 15 - irradiate = 300 range = 15 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS diff --git a/code/modules/projectiles/projectile/energy/decloner.dm b/code/modules/projectiles/projectile/energy/decloner.dm index 1b117111198..6e5f6a5f1e7 100644 --- a/code/modules/projectiles/projectile/energy/decloner.dm +++ b/code/modules/projectiles/projectile/energy/decloner.dm @@ -3,9 +3,17 @@ icon_state = "declone" damage = 20 damage_type = CLONE - irradiate = 100 impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser + /// The chance to be irradiated on hit + var/radiation_chance = 30 + +/obj/projectile/energy/declone/on_hit(atom/target, blocked, pierce_hit) + if (ishuman(target) && prob(radiation_chance)) + radiation_pulse(target, max_range = 0, threshold = RAD_FULL_INSULATION) + + ..() + /obj/projectile/energy/declone/weak damage = 9 - irradiate = 30 + radiation_chance = 10 diff --git a/code/modules/projectiles/projectile/energy/nuclear_particle.dm b/code/modules/projectiles/projectile/energy/nuclear_particle.dm index acb389b37a4..3da20744a09 100644 --- a/code/modules/projectiles/projectile/energy/nuclear_particle.dm +++ b/code/modules/projectiles/projectile/energy/nuclear_particle.dm @@ -3,8 +3,8 @@ name = "nuclear particle" icon_state = "nuclear_particle" pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - flag = RAD - irradiate = 5000 + flag = TOX + damage = 10 speed = 0.4 hitsound = 'sound/weapons/emitter2.ogg' impact_type = /obj/effect/projectile/impact/xray @@ -24,6 +24,12 @@ add_atom_colour(particle_colors[our_color], FIXED_COLOUR_PRIORITY) set_light(4, 3, particle_colors[our_color]) //Range of 4, brightness of 3 - Same range as a flashlight +/obj/projectile/energy/nuclear_particle/on_hit(atom/target, blocked, pierce_hit) + if (ishuman(target)) + radiation_pulse(target, max_range = 0, threshold = RAD_FULL_INSULATION) + + ..() + /atom/proc/fire_nuclear_particle(angle = rand(0,360)) //used by fusion to fire random nuclear particles. Fires one particle in a random direction. var/obj/projectile/energy/nuclear_particle/P = new /obj/projectile/energy/nuclear_particle(src) P.fire(angle) diff --git a/code/modules/projectiles/projectile/special/floral.dm b/code/modules/projectiles/projectile/special/floral.dm index 221a19dce07..acd5fbafeee 100644 --- a/code/modules/projectiles/projectile/special/floral.dm +++ b/code/modules/projectiles/projectile/special/floral.dm @@ -12,7 +12,7 @@ var/mob/living/L = target if(L.mob_biotypes & MOB_PLANT) if(prob(15)) - L.rad_act(rand(30, 80)) + L.adjustToxLoss(rand(3, 6)) L.Paralyze(100) L.visible_message(span_warning("[L] writhes in pain as [L.p_their()] vacuoles boil."), span_userdanger("You writhe in pain as your vacuoles boil!"), span_hear("You hear the crunching of leaves.")) if(iscarbon(L) && L.has_dna()) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 44797d332ad..350233120ae 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -292,10 +292,6 @@ All effects don't start immediately, but rather get worse over time; the rate is ph = 8.1 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED -/datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.radiation = max(M.radiation - (2 * REM * delta_time),0) - return ..() - /datum/reagent/consumable/ethanol/bilk name = "Bilk" description = "This appears to be beer mixed with milk. Disgusting." @@ -681,8 +677,14 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/obj/item/organ/liver/liver = M.getorganslot(ORGAN_SLOT_LIVER) if(HAS_TRAIT(liver, TRAIT_ENGINEER_METABOLISM)) - // Engineers lose radiation poisoning at a massive rate. - M.radiation = max(M.radiation - (25 * REM * delta_time), 0) + ADD_TRAIT(M, TRAIT_HALT_RADIATION_EFFECTS, "[type]") + if (HAS_TRAIT(M, TRAIT_IRRADIATED)) + M.adjustToxLoss(-2 * REM * delta_time) + + return ..() + +/datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_HALT_RADIATION_EFFECTS, "[type]") return ..() /datum/reagent/consumable/ethanol/booger diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 5211cc5b1a4..eb8fca9e2fa 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -299,7 +299,7 @@ /datum/reagent/medicine/c2/seiver //a bit of a gray joke name = "Seiver" - description = "A medicine that shifts functionality based on temperature. Colder temperatures incurs radiation removal while hotter temperatures promote antitoxicity. Damages the heart." //CHEM HOLDER TEMPS, NOT AIR TEMPS + description = "A medicine that shifts functionality based on temperature. Hotter temperatures will remove amounts of toxins, while coder temperatures will heal larger amounts of toxins only while the patient is irradiated. Damages the heart." //CHEM HOLDER TEMPS, NOT AIR TEMPS var/radbonustemp = (T0C - 100) //being below this number gives you 10% off rads. inverse_chem_val = 0.3 ph = 3.7 @@ -325,13 +325,13 @@ //and you're cold var/radcalc = round((T0C-chemtemp) / 6, 0.1) * REM * delta_time //max ~45 rad loss unless you've hit below 0K. if so, wow. - if(radcalc > 0) - //no cost percent healing if you are SUPER cold (on top of cost healing) - if(chemtemp < radbonustemp*0.1) //if you're super chilly, it takes off 25% of your current rads - M.radiation = round(M.radiation * (0.75**(REM * delta_time))) - else if(chemtemp < radbonustemp)//else if you're under the chill-zone, it takes off 10% of your current rads - M.radiation = round(M.radiation * (0.90**(REM * delta_time))) - M.radiation -= radcalc * normalise_creation_purity() + if(radcalc > 0 && HAS_TRAIT(M, TRAIT_IRRADIATED)) + radcalc *= normalise_creation_purity() + // no cost percent healing if you are SUPER cold (on top of cost healing) + if(chemtemp < radbonustemp*0.1) + M.adjustToxLoss(radcalc * (0.9**(REM * delta_time))) + else if(chemtemp < radbonustemp) + M.adjustToxLoss(radcalc * (0.75**(REM * delta_time))) healypoints += (radcalc / 5) //you're yes and... oh no! diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm index cc7a0d9413b..ec6c72a6311 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm @@ -419,16 +419,21 @@ Basically, we fill the time between now and 2s from now with hands based off the //Allows the scanner to detect organ health to the nearest 1% (similar use to irl) and upgrates the scan to advanced /datum/reagent/inverse/technetium name = "Technetium 99" - description = "A radioactive tracer agent that can improve a scanner's ability to detect internal organ damage. Will irradiate the patient when present very slowly, purging or using a low dose is recommended after use." + description = "A radioactive tracer agent that can improve a scanner's ability to detect internal organ damage. Will poison the patient when present very slowly, purging or using a low dose is recommended after use." metabolization_rate = 0.3 * REM chemical_flags = REAGENT_DONOTSPLIT //Do show this on scanner tox_damage = 0 - ///Accumulates radiation, then adds it as a whole number to the owner - var/radiation_ticker + + var/time_until_next_poison = 0 + + var/poison_interval = (9 SECONDS) /datum/reagent/inverse/technetium/on_mob_life(mob/living/carbon/owner, delta_time, times_fired) - //for some reason radiation doesn't work when small - owner.radiation += creation_purity * delta_time * 0.5 + time_until_next_poison -= delta_time * (1 SECONDS) + if (time_until_next_poison <= 0) + time_until_next_poison = poison_interval + owner.adjustToxLoss(creation_purity * 1) + ..() //Kind of a healing effect, Presumably you're using syrinver to purge so this helps that diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 4c364fc6a78..1cbafaba298 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -88,7 +88,6 @@ M.slurring = 0 M.jitteriness = 0 M.hallucination = 0 - M.radiation = 0 REMOVE_TRAITS_NOT_IN(M, list(SPECIES_TRAIT, ROUNDSTART_TRAIT, ORGAN_TRAIT)) M.reagents.remove_all_type(/datum/reagent/toxin, 5 * REM * delta_time, FALSE, TRUE) if(M.blood_volume < BLOOD_VOLUME_NORMAL) @@ -442,29 +441,45 @@ /datum/reagent/medicine/potass_iodide name = "Potassium Iodide" - description = "Efficiently restores low radiation damage." + description = "Heals low toxin damage while the patient is irradiated, and will halt the damaging effects of radiation." reagent_state = LIQUID color = "#BAA15D" metabolization_rate = 2 * REAGENTS_METABOLISM ph = 12 //It's a reducing agent chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/medicine/potass_iodide/on_mob_metabolize(mob/living/L) + . = ..() + ADD_TRAIT(L, TRAIT_HALT_RADIATION_EFFECTS, "[type]") + +/datum/reagent/medicine/potass_iodide/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_HALT_RADIATION_EFFECTS, "[type]") + return ..() + /datum/reagent/medicine/potass_iodide/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - if(M.radiation > 0) - M.radiation -= min(8 * REM * delta_time, M.radiation) + if (HAS_TRAIT(M, TRAIT_IRRADIATED)) + M.adjustToxLoss(-1 * REM * delta_time) + ..() /datum/reagent/medicine/pen_acid name = "Pentetic Acid" - description = "Reduces massive amounts of radiation and toxin damage while purging other chemicals from the body." + description = "Reduces massive amounts of toxin damage while purging other chemicals from the body." reagent_state = LIQUID color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM ph = 1 //One of the best buffers, NEVERMIND! chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/medicine/pen_acid/on_mob_metabolize(mob/living/L) + . = ..() + ADD_TRAIT(L, TRAIT_HALT_RADIATION_EFFECTS, "[type]") + +/datum/reagent/medicine/pen_acid/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_HALT_RADIATION_EFFECTS, "[type]") + return ..() + /datum/reagent/medicine/pen_acid/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.radiation -= (max(M.radiation - RAD_MOB_SAFE, 0) / 50) * REM * delta_time M.adjustToxLoss(-2 * REM * delta_time, 0) for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 1635464e62a..72f692fa1d2 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1024,13 +1024,14 @@ reagent_state = SOLID color = "#5E9964" //this used to be silver, but liquid uranium can still be green and it's more easily noticeable as uranium like this so why bother? taste_description = "the inside of a reactor" - var/irradiation_level = 0.5*REM + /// How much tox damage to deal per tick + var/tox_damage = 0.5 ph = 4 material = /datum/material/uranium chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/uranium/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.apply_effect(irradiation_level*delta_time/M.metabolism_efficiency, EFFECT_IRRADIATE,0) + M.adjustToxLoss(tox_damage * delta_time * REM) ..() /datum/reagent/uranium/expose_turf(turf/exposed_turf, reac_volume) @@ -1058,7 +1059,7 @@ reagent_state = SOLID color = "#00CC00" // ditto taste_description = "the colour blue and regret" - irradiation_level = 1*REM + tox_damage = 1*REM material = null ph = 10 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index c5e54ea9202..4fb5d09310c 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -60,7 +60,7 @@ exposed_mob.domutcheck() /datum/reagent/toxin/mutagen/on_mob_life(mob/living/carbon/C, delta_time, times_fired) - C.apply_effect(5 * REM * delta_time, EFFECT_IRRADIATE, 0) + C.adjustToxLoss(0.5 * delta_time * REM) return ..() /datum/reagent/toxin/mutagen/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) @@ -548,7 +548,11 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/toxin/polonium/on_mob_life(mob/living/carbon/M, delta_time, times_fired) - M.radiation += 4 * REM * delta_time + if (!HAS_TRAIT(M, TRAIT_IRRADIATED) && SSradiation.can_irradiate_basic(M)) + M.AddComponent(/datum/component/irradiated) + else + M.adjustToxLoss(1 * REM * delta_time) + ..() /datum/reagent/toxin/histamine diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm index 0bb6e655582..59a78942f72 100644 --- a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm +++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm @@ -269,12 +269,6 @@ reaction_flags = REACTION_PH_VOL_CONSTANT | REACTION_CLEAR_INVERSE reaction_tags = REACTION_TAG_EASY | REACTION_TAG_HEALING | REACTION_TAG_TOXIN -/datum/chemical_reaction/medicine/seiver/overly_impure(datum/reagents/holder, datum/equilibrium/equilibrium, step_volume_added) - if(off_cooldown(holder, equilibrium, 1, "seiver_rads")) - return - var/modifier = max((100 - holder.chem_temp)*0.025, 0)*step_volume_added //0 - 5 * volume based off temperature(colder is more) - radiation_pulse(holder.my_atom, modifier, 0.5, can_contaminate=FALSE) //Please advise on this, I don't have a good handle on the numbers - /datum/chemical_reaction/medicine/multiver results = list(/datum/reagent/medicine/c2/multiver = 2) required_reagents = list(/datum/reagent/ash = 1, /datum/reagent/consumable/salt = 1) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 342c5cf5578..a003af8c111 100755 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -242,7 +242,7 @@ flags_inv = HIDEHAIR slot_flags = ITEM_SLOT_HEAD resistance_flags = NONE - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 75, ACID = 50) //Weak melee protection, because you can wear it on your head + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 75, ACID = 50) //Weak melee protection, because you can wear it on your head slot_equipment_priority = list( \ ITEM_SLOT_BACK, ITEM_SLOT_ID,\ ITEM_SLOT_ICLOTHING, ITEM_SLOT_OCLOTHING,\ @@ -259,7 +259,7 @@ icon_state = "woodbucket" inhand_icon_state = "woodbucket" custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 2) - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 50) resistance_flags = FLAMMABLE #define SQUEEZING_DISPERSAL_PERCENT 0.75 //SKYRAT EDIT ADDITION diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index b1998974d9f..2b721de4fdc 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -5,12 +5,11 @@ /obj/machinery/disposal icon = 'icons/obj/atmospherics/pipes/disposal.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE density = TRUE - armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30) + armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 90, ACID = 30) max_integrity = 200 resistance_flags = FIRE_PROOF interaction_flags_machine = INTERACT_MACHINE_OPEN | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON obj_flags = CAN_BE_HIT | USES_TGUI - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 var/datum/gas_mixture/air_contents // internal reservoir var/full_pressure = FALSE diff --git a/code/modules/recycling/disposal/holder.dm b/code/modules/recycling/disposal/holder.dm index 04987a92284..12b844a37ff 100644 --- a/code/modules/recycling/disposal/holder.dm +++ b/code/modules/recycling/disposal/holder.dm @@ -7,7 +7,6 @@ invisibility = INVISIBILITY_MAXIMUM resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF dir = NONE - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 var/datum/gas_mixture/gas // gas used to flush, will appear at exit point var/active = FALSE // true if the holder is moving, otherwise inactive var/count = 1000 // can travel 1000 steps before going inactive (in case of loops) diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm index f7ec46937fa..0b7da0aad41 100644 --- a/code/modules/recycling/disposal/outlet.dm +++ b/code/modules/recycling/disposal/outlet.dm @@ -6,7 +6,6 @@ icon_state = "outlet" density = TRUE anchored = TRUE - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 var/active = FALSE var/turf/target // this will be where the output objects are 'thrown' to. var/obj/structure/disposalpipe/trunk/trunk // the attached pipe trunk diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index 594ba0e2805..75d38d7b2f1 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -9,9 +9,8 @@ obj_flags = CAN_BE_HIT | ON_BLUEPRINTS dir = NONE // dir will contain dominant direction for junction pipes max_integrity = 200 - armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30) + armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 90, ACID = 30) layer = DISPOSAL_PIPE_LAYER // slightly lower than wires and other pipes - flags_1 = RAD_PROTECT_CONTENTS_1 | RAD_NO_CONTAMINATE_1 damage_deflection = 10 var/dpdir = NONE // bitmask of pipe directions var/initialize_dirs = NONE // bitflags of pipe directions added on init, see \code\_DEFINES\pipe_construction.dm diff --git a/code/modules/religion/sparring/ceremonial_gear.dm b/code/modules/religion/sparring/ceremonial_gear.dm index 93fa4d2f244..e1bccad2a94 100644 --- a/code/modules/religion/sparring/ceremonial_gear.dm +++ b/code/modules/religion/sparring/ceremonial_gear.dm @@ -23,7 +23,7 @@ sharpness = SHARP_EDGED max_integrity = 200 material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_GREYSCALE //doesn't affect stats of the weapon as to avoid gamering your opponent with a dope weapon - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF /obj/item/ceremonial_blade/Initialize(mapload) diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 6191fe480cc..54c8796c251 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -432,16 +432,6 @@ construction_time = 100 category = list("Exosuit Equipment") -/datum/design/mech_generator_nuclear - name = "Exosuit Module (ExoNuclear Reactor)" - desc = "Compact nuclear reactor module." - id = "mech_generator_nuclear" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear - materials = list(/datum/material/iron=10000,/datum/material/glass = 1000,/datum/material/silver=500) - construction_time = 100 - category = list("Exosuit Equipment") - /datum/design/mech_plasma_cutter name = "Exosuit Mining (217-D Heavy Plasma Cutter)" desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles." diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index 33426188ad6..c79f360e243 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -293,13 +293,3 @@ build_path = /obj/item/wirebrush category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE - -/datum/design/wirebrush_adv - name = "Advanced Wirebrush" - desc = "An advanced wirebrush." - id = "wirebrush_adv" - build_type = PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = 200, /datum/material/glass = 200, /datum/material/uranium = 200, /datum/material/plasma = 200) - build_path = /obj/item/wirebrush/advanced - category = list("Equipment") - departmental_flags = DEPARTMENTAL_FLAG_SERVICE diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 892642ea10f..f39692efcf9 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -273,7 +273,7 @@ ejectItem() else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message(span_danger("[src] malfunctions, melting [exp_on] and leaking radiation!")) - radiation_pulse(src, 500) + radiation_pulse(src, max_range = 6, threshold = 0.3) ejectItem(TRUE) else if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message(span_warning("[src] malfunctions, spewing toxic waste!")) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index df768abd180..f2ace5677de 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -1326,7 +1326,6 @@ "laserscalpel", "mechanicalpinches", "searingtool", - "wirebrush_adv", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) discount_experiments = list(/datum/experiment/scanning/random/material/hard/one = 5000) @@ -1652,7 +1651,6 @@ design_ids = list( "mech_ccw_armor", "mech_energy_relay", - "mech_generator_nuclear", "mech_proj_armor", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm index 836360657ac..a69f3a5aeb8 100644 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ b/code/modules/research/xenobiology/crossbreeding/_misc.dm @@ -150,7 +150,7 @@ Slimecrossing Items icon_state = "frozen" density = TRUE max_integrity = 100 - armor = list(MELEE = 30, BULLET = 50, LASER = -50, ENERGY = -50, BOMB = 0, BIO = 100, RAD = 100, FIRE = -80, ACID = 30) + armor = list(MELEE = 30, BULLET = 50, LASER = -50, ENERGY = -50, BOMB = 0, BIO = 100, FIRE = -80, ACID = 30) /obj/structure/ice_stasis/Initialize(mapload) . = ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm index 3cffc78dcda..27645495623 100644 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ b/code/modules/research/xenobiology/crossbreeding/_weapons.dm @@ -61,7 +61,7 @@ Slimecrossing Weapons icon_state = "adamshield" inhand_icon_state = "adamshield" w_class = WEIGHT_CLASS_HUGE - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 80, ACID = 70) slot_flags = ITEM_SLOT_BACK block_chance = 75 force = 0 diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index df3a7ba3ca2..b0f93fe66f6 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -295,7 +295,7 @@ //Some armor so it's harder to kill someone by mistake. /obj/structure/puzzle_element/prison - armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, RAD = 50, FIRE = 50, ACID = 50) + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50) /obj/structure/puzzle_element/prison/relaymove(mob/living/user, direction) return diff --git a/code/modules/ruins/spaceruin_code/forgottenship.dm b/code/modules/ruins/spaceruin_code/forgottenship.dm index 910fbfacc66..3718d2f2dc4 100644 --- a/code/modules/ruins/spaceruin_code/forgottenship.dm +++ b/code/modules/ruins/spaceruin_code/forgottenship.dm @@ -133,7 +133,7 @@ GLOBAL_VAR_INIT(fscpassword, generate_password()) icon_state = "cybersun" inhand_icon_state = "cybersun" hardsuit_type = "cybersun" - armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, RAD = 60, FIRE = 60, ACID = 60) + armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, FIRE = 60, ACID = 60) strip_delay = 600 actions_types = list() @@ -144,7 +144,7 @@ GLOBAL_VAR_INIT(fscpassword, generate_password()) hardsuit_type = "cybersun" name = "Cybersun hardsuit" desc = "Prototype hardsuit with experimental armor plates, protecting from laser-based weapons very well, while giving limited protection against anything else." - armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, RAD = 60, FIRE = 60, ACID = 60) + armor = list(MELEE = 30, BULLET = 40, LASER = 55, ENERGY = 55, BOMB = 30, BIO = 100, FIRE = 60, ACID = 60) slowdown = 0 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cybersun actions_types = list(/datum/action/item_action/toggle_helmet, /datum/action/item_action/toggle_spacesuit) diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 9ad37a6406e..de843b945c2 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -57,6 +57,11 @@ var/plas_breath_dam_max = MAX_TOXIC_GAS_DAMAGE var/plas_damage_type = TOX + var/tritium_irradiation_moles_min = 1 + var/tritium_irradiation_moles_max = 15 + var/tritium_irradiation_probability_min = 10 + var/tritium_irradiation_probability_max = 60 + var/cold_message = "your face freezing and an icicle forming" var/cold_level_1_threshold = 260 var/cold_level_2_threshold = 200 @@ -283,10 +288,20 @@ // Tritium var/trit_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/tritium][MOLES]) - if (trit_pp > 50) - breather.radiation += trit_pp/2 //If you're breathing in half an atmosphere of radioactive gas, you fucked up. - else - breather.radiation += trit_pp/10 + // If you're breathing in half an atmosphere of radioactive gas, you fucked up. + if (trit_pp > tritium_irradiation_moles_min && SSradiation.can_irradiate_basic(breather)) + var/lerp_scale = min(tritium_irradiation_moles_max, trit_pp - tritium_irradiation_moles_min) / (tritium_irradiation_moles_max - tritium_irradiation_moles_min) + var/chance = LERP(tritium_irradiation_probability_min, tritium_irradiation_probability_max, lerp_scale) + if (prob(chance)) + breather.AddComponent(/datum/component/irradiated) + + gas_breathed = breath_gases[/datum/gas/tritium][MOLES] + + if (trit_pp > 0) + var/ratio = gas_breathed * 15 + breather.adjustToxLoss(clamp(ratio, MIN_TOXIC_GAS_DAMAGE, MAX_TOXIC_GAS_DAMAGE)) + + breath_gases[/datum/gas/tritium][MOLES] -= gas_breathed // Nitryl var/nitryl_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/nitryl][MOLES]) diff --git a/code/modules/swarmers/swarmer_objs.dm b/code/modules/swarmers/swarmer_objs.dm index 89085841fa6..630ce15f184 100644 --- a/code/modules/swarmers/swarmer_objs.dm +++ b/code/modules/swarmers/swarmer_objs.dm @@ -44,7 +44,7 @@ desc = "A machine that prints swarmers." icon = 'icons/mob/swarmer.dmi' icon_state = "swarmer_console" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100) max_integrity = 500 plane = MASSIVE_OBJ_PLANE light_color = LIGHT_COLOR_CYAN diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm index fa2beb8dddf..8f652cc92d2 100644 --- a/code/modules/vehicles/_vehicle.dm +++ b/code/modules/vehicles/_vehicle.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/vehicles.dmi' icon_state = "fuckyou" max_integrity = 300 - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 60, ACID = 60) density = TRUE anchored = FALSE blocks_emissive = EMISSIVE_BLOCK_GENERIC diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index b14b90575c5..26329439ad3 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -4,7 +4,7 @@ desc = "An all-terrain vehicle built for traversing rough terrain with ease. One of the few old-Earth technologies that are still relevant on most planet-bound outposts." icon_state = "atv" max_integrity = 150 - armor = list(MELEE = 50, BULLET = 25, LASER = 20, ENERGY = 0, BOMB = 50, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 50, BULLET = 25, LASER = 20, ENERGY = 0, BOMB = 50, BIO = 0, FIRE = 60, ACID = 60) key_type = /obj/item/key/atv integrity_failure = 0.5 var/static/mutable_appearance/atvcover diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index ed98685650f..8b1d7724a9e 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -3,7 +3,7 @@ desc = "How someone could even fit in there is byond me." icon_state = "clowncar" max_integrity = 150 - armor = list(MELEE = 70, BULLET = 40, LASER = 40, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 70, BULLET = 40, LASER = 40, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 80, ACID = 80) enter_delay = 20 max_occupants = 50 movedelay = 0.6 diff --git a/code/modules/vehicles/cars/vim.dm b/code/modules/vehicles/cars/vim.dm index b720ea13860..fa0302bdee3 100644 --- a/code/modules/vehicles/cars/vim.dm +++ b/code/modules/vehicles/cars/vim.dm @@ -9,7 +9,7 @@ desc = "An minature exosuit from Nanotrasen, developed to let the irreplacable station pets live a little longer." icon_state = "vim" max_integrity = 50 - armor = list(MELEE = 70, BULLET = 40, LASER = 40, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) + armor = list(MELEE = 70, BULLET = 40, LASER = 40, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 80, ACID = 80) enter_delay = 20 movedelay = 0.6 engine_sound_length = 0.3 SECONDS diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 22b1540feb1..1c68ac359cf 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -23,7 +23,7 @@ icon = 'icons/mecha/mecha.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF max_integrity = 300 - armor = list(MELEE = 20, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 100, ACID = 100) force = 5 movedelay = 1 SECONDS move_force = MOVE_FORCE_VERY_STRONG diff --git a/code/modules/vehicles/mecha/combat/combat.dm b/code/modules/vehicles/mecha/combat/combat.dm index dd5dde8d042..6e4cf7a8d58 100644 --- a/code/modules/vehicles/mecha/combat/combat.dm +++ b/code/modules/vehicles/mecha/combat/combat.dm @@ -2,7 +2,7 @@ force = 30 internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY) internal_damage_threshold = 50 - armor = list(MELEE = 30, BULLET = 30, LASER = 15, ENERGY = 20, BOMB = 20, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 30, LASER = 15, ENERGY = 20, BOMB = 20, BIO = 0, FIRE = 100, ACID = 100) mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' destruction_sleep_duration = 40 exit_delay = 40 diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index 17dbfbf9d9c..a472fe9820d 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -7,7 +7,7 @@ dir_in = 1 //Facing North. max_integrity = 400 deflect_chance = 20 - armor = list(MELEE = 40, BULLET = 35, LASER = 15, ENERGY = 10, BOMB = 20, BIO = 0, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 35, LASER = 15, ENERGY = 10, BOMB = 20, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 30000 force = 40 wreckage = /obj/structure/mecha_wreckage/durand diff --git a/code/modules/vehicles/mecha/combat/gygax.dm b/code/modules/vehicles/mecha/combat/gygax.dm index d3055232dea..b7d811a2baa 100644 --- a/code/modules/vehicles/mecha/combat/gygax.dm +++ b/code/modules/vehicles/mecha/combat/gygax.dm @@ -8,7 +8,7 @@ dir_in = 1 //Facing North. max_integrity = 250 deflect_chance = 5 - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 25000 leg_overload_coeff = 80 force = 25 @@ -24,7 +24,7 @@ base_icon_state = "darkgygax" max_integrity = 300 deflect_chance = 20 - armor = list(MELEE = 40, BULLET = 40, LASER = 50, ENERGY = 35, BOMB = 20, BIO = 0, RAD =20, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 40, LASER = 50, ENERGY = 35, BOMB = 20, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 35000 leg_overload_coeff = 70 force = 30 diff --git a/code/modules/vehicles/mecha/combat/honker.dm b/code/modules/vehicles/mecha/combat/honker.dm index c322ba964ae..0e66a40dc2b 100644 --- a/code/modules/vehicles/mecha/combat/honker.dm +++ b/code/modules/vehicles/mecha/combat/honker.dm @@ -7,7 +7,7 @@ max_integrity = 140 deflect_chance = 60 internal_damage_threshold = 60 - armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = -20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 25000 operation_req_access = list(ACCESS_THEATRE) internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_THEATRE) @@ -148,7 +148,7 @@ icon_state = "darkhonker" max_integrity = 300 deflect_chance = 15 - armor = list(MELEE = 40, BULLET = 40, LASER = 50, ENERGY = 35, BOMB = 20, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 40, LASER = 50, ENERGY = 35, BOMB = 20, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 35000 operation_req_access = list(ACCESS_SYNDICATE) internals_req_access = list(ACCESS_SYNDICATE) diff --git a/code/modules/vehicles/mecha/combat/marauder.dm b/code/modules/vehicles/mecha/combat/marauder.dm index 967e3071a85..a572bcc21b2 100644 --- a/code/modules/vehicles/mecha/combat/marauder.dm +++ b/code/modules/vehicles/mecha/combat/marauder.dm @@ -6,7 +6,7 @@ movedelay = 5 max_integrity = 500 deflect_chance = 25 - armor = list(MELEE = 50, BULLET = 55, LASER = 40, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 60, FIRE = 100, ACID = 100) + armor = list(MELEE = 50, BULLET = 55, LASER = 40, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 60000 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF operation_req_access = list(ACCESS_CENT_SPECOPS) diff --git a/code/modules/vehicles/mecha/combat/phazon.dm b/code/modules/vehicles/mecha/combat/phazon.dm index b83de4f1b5c..4d055c1501d 100644 --- a/code/modules/vehicles/mecha/combat/phazon.dm +++ b/code/modules/vehicles/mecha/combat/phazon.dm @@ -8,7 +8,7 @@ step_energy_drain = 3 max_integrity = 200 deflect_chance = 30 - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 25000 wreckage = /obj/structure/mecha_wreckage/phazon internal_damage_threshold = 25 diff --git a/code/modules/vehicles/mecha/combat/reticence.dm b/code/modules/vehicles/mecha/combat/reticence.dm index 49637aeddca..d4e3fbf8bf6 100644 --- a/code/modules/vehicles/mecha/combat/reticence.dm +++ b/code/modules/vehicles/mecha/combat/reticence.dm @@ -7,7 +7,7 @@ dir_in = 1 //Facing North. max_integrity = 100 deflect_chance = 3 - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 15, BOMB = 0, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 15000 wreckage = /obj/structure/mecha_wreckage/reticence operation_req_access = list(ACCESS_THEATRE) diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm index 41e9559b70b..50ecda7b040 100644 --- a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm +++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm @@ -28,7 +28,7 @@ dir_in = 2 //Facing South. max_integrity = 450 //really tanky, like damn deflect_chance = 25 - armor = list(MELEE = 45, BULLET = 40, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 0, RAD = 80, FIRE = 100, ACID = 100) + armor = list(MELEE = 45, BULLET = 40, LASER = 30, ENERGY = 30, BOMB = 40, BIO = 0, FIRE = 100, ACID = 100) max_temperature = 30000 infra_luminosity = 3 wreckage = /obj/structure/mecha_wreckage/savannah_ivanov diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index ebcdeb83f1e..1fb3ef26e0e 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -441,26 +441,6 @@ fuel.amount -= min(delta_time * use_fuel / MINERAL_MATERIAL_AMOUNT, fuel.amount) update_equip_info() - -/obj/item/mecha_parts/mecha_equipment/generator/nuclear - name = "exonuclear reactor" - desc = "An exosuit module that generates power using uranium as fuel. Pollutes the environment." - icon_state = "tesla" - max_fuel = 50000 - fuelrate_idle = 5 - fuelrate_active = 15 - rechargerate = 25 - var/radrate = 15 - -/obj/item/mecha_parts/mecha_equipment/generator/nuclear/generator_init() - fuel = new /obj/item/stack/sheet/mineral/uranium(src, 0) - -/obj/item/mecha_parts/mecha_equipment/generator/nuclear/process(delta_time) - . = ..() - if(!.) //process wasnt killed - radiation_pulse(get_turf(src), radrate * delta_time) - - /////////////////////////////////////////// THRUSTERS ///////////////////////////////////////////// /obj/item/mecha_parts/mecha_equipment/thrusters diff --git a/code/modules/vehicles/mecha/working/clarke.dm b/code/modules/vehicles/mecha/working/clarke.dm index a949bec8ad6..9eefe2f7571 100644 --- a/code/modules/vehicles/mecha/working/clarke.dm +++ b/code/modules/vehicles/mecha/working/clarke.dm @@ -11,7 +11,7 @@ lights_power = 7 deflect_chance = 10 step_energy_drain = 15 //slightly higher energy drain since you movin those wheels FAST - armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 10, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100) //low armor to compensate for fire protection and speed + armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 10, BOMB = 60, BIO = 0, FIRE = 100, ACID = 100) //low armor to compensate for fire protection and speed max_equip = 7 wreckage = /obj/structure/mecha_wreckage/clarke enter_delay = 40 diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 703d3c59239..1b993806f60 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -13,7 +13,7 @@ max_integrity = 200 lights_power = 7 deflect_chance = 15 - armor = list(MELEE = 40, BULLET = 20, LASER = 10, ENERGY = 20, BOMB = 40, BIO = 0, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 20, LASER = 10, ENERGY = 20, BOMB = 40, BIO = 0, FIRE = 100, ACID = 100) max_equip = 6 wreckage = /obj/structure/mecha_wreckage/ripley internals_req_access = list(ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_MINING) @@ -68,7 +68,7 @@ movedelay = 3 //SKYRAT EDIT - Movedelay is now 3, from 4. max_temperature = 30000 max_integrity = 250 - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, BIO = 0, FIRE = 100, ACID = 100) wreckage = /obj/structure/mecha_wreckage/ripley/mk2 enclosed = TRUE enter_delay = 40 diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm index 9d464b0e3ba..55641607fd1 100644 --- a/code/modules/vehicles/secway.dm +++ b/code/modules/vehicles/secway.dm @@ -4,7 +4,7 @@ desc = "A brave security cyborg gave its life to help you look like a complete tool." icon_state = "secway" max_integrity = 60 - armor = list(MELEE = 10, BULLET = 0, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 10, BULLET = 0, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 60, ACID = 60) key_type = /obj/item/key/security integrity_failure = 0.5 diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 80ebdb312f2..8d03ef2f2da 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -5,7 +5,7 @@ icon_state = "wheelchair" layer = OBJ_LAYER max_integrity = 100 - armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 30) //Wheelchairs aren't super tough yo + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 20, ACID = 30) //Wheelchairs aren't super tough yo density = FALSE //Thought I couldn't fix this one easily, phew /// Run speed delay is multiplied with this for vehicle move delay. var/delay_multiplier = 6.7 @@ -83,7 +83,7 @@ icon_state = "gold_wheelchair" overlay_icon = "gold_wheelchair_overlay" max_integrity = 200 - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 0, BOMB = 20, BIO = 0, RAD = 0, FIRE = 30, ACID = 40) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 0, BOMB = 20, BIO = 0, FIRE = 30, ACID = 40) custom_materials = list(/datum/material/gold = 10000) foldabletype = /obj/item/wheelchair/gold diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index d8f3ccc6672..d04cd84faa5 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -54,7 +54,7 @@ verb_exclaim = "beeps" max_integrity = 300 integrity_failure = 0.33 - armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 70) + armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 70) circuit = /obj/item/circuitboard/machine/vendor payment_department = ACCOUNT_SRV light_power = 0.5 diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm index 4bdb47f54e8..3bc75718915 100644 --- a/code/modules/vending/liberation.dm +++ b/code/modules/vending/liberation.dm @@ -33,7 +33,7 @@ /obj/item/bedsheet/patriot = 5, /obj/item/food/burger/superbite = 3 ) //U S A - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF default_price = PAYCHECK_HARD * 2.5 extra_price = PAYCHECK_COMMAND * 2.5 diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index c7d5684d6a5..03de2e42194 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -27,7 +27,7 @@ /obj/item/dualsaber/toy = 5, /obj/item/toy/cards/deck/syndicate = 10 //Gambling and it hurts, making it a +18 item ) - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/donksoft default_price = PAYCHECK_HARD diff --git a/code/modules/vending/magivend.dm b/code/modules/vending/magivend.dm index 2b91ab57cd7..8494a5d0e50 100644 --- a/code/modules/vending/magivend.dm +++ b/code/modules/vending/magivend.dm @@ -17,7 +17,7 @@ /obj/item/staff = 2 ) contraband = list(/obj/item/reagent_containers/glass/bottle/wizarditis = 1) //No one can get to the machine to hack it anyways; for the lulz - Microwave - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 100, ACID = 50) resistance_flags = FIRE_PROOF default_price = 0 //Just in case, since it's primary use is storage. extra_price = PAYCHECK_COMMAND diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 0d45300b5da..0ae1a408341 100755 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/modular_skyrat/master_files/code/game/objects/items/holy_weapons.dm b/modular_skyrat/master_files/code/game/objects/items/holy_weapons.dm index 2a629a06b54..e68346d2bff 100644 --- a/modular_skyrat/master_files/code/game/objects/items/holy_weapons.dm +++ b/modular_skyrat/master_files/code/game/objects/items/holy_weapons.dm @@ -53,7 +53,7 @@ icon_state = "cultrobes" inhand_icon_state = "cultrobes" body_parts_covered = CHEST|GROIN|LEGS|ARMS - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80, WOUND = 20) //Chaplain Riot armor + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80, WOUND = 20) //Chaplain Riot armor allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) hoodtype = /obj/item/clothing/head/hooded/cultlain_hood @@ -64,7 +64,7 @@ body_parts_covered = HEAD flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS flags_cover = HEADCOVERSEYES - armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 80) //Chaplain Riot Helmet + armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 80, ACID = 80) //Chaplain Riot Helmet /obj/item/storage/box/holy/narsian name = "Ancient Kit" diff --git a/modular_skyrat/master_files/code/modules/clothing/head/monkey_magnification_helmet.dm b/modular_skyrat/master_files/code/modules/clothing/head/monkey_magnification_helmet.dm index e2a94e97091..ee67e52f5aa 100644 --- a/modular_skyrat/master_files/code/modules/clothing/head/monkey_magnification_helmet.dm +++ b/modular_skyrat/master_files/code/modules/clothing/head/monkey_magnification_helmet.dm @@ -4,7 +4,7 @@ icon_state = "monkeymind" inhand_icon_state = "monkeymind" strip_delay = 100 - armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 0) var/mob/living/carbon/human/magnification = null ///if the helmet is on a valid target (just works like a normal helmet if not (cargo please stop)) var/polling = FALSE///if the helmet is currently polling for targets (special code for removal) var/light_colors = 1 ///which icon state color this is (red, blue, yellow) diff --git a/modular_skyrat/modules/3516/code/silverhand_bundle.dm b/modular_skyrat/modules/3516/code/silverhand_bundle.dm index 6a34f2671ed..4579cfaf418 100644 --- a/modular_skyrat/modules/3516/code/silverhand_bundle.dm +++ b/modular_skyrat/modules/3516/code/silverhand_bundle.dm @@ -21,7 +21,7 @@ /obj/item/clothing/under/pants/black/robohand name = "badass pants" desc = "Strangely firm yet soft black pants, these appear to have some armor padding for added protection." - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 5) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 0, FIRE = 0, ACID = 0, WOUND = 5) /obj/item/autosurgeon/organ/syndicate/nodrop starting_organ = /obj/item/organ/cyberimp/brain/anti_drop @@ -31,7 +31,7 @@ name = "badass sunglasses" desc = "Strangely ancient technology used to help provide rudimentary eye cover. Enhanced shielding blocks flashes. These ones seem to be bulletproof?" body_parts_covered = HEAD - armor = list(MELEE = 20, BULLET = 60, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 5) + armor = list(MELEE = 20, BULLET = 60, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 0, FIRE = 0, ACID = 0, WOUND = 5) //Again, not a bug, it's a feature. ALL PARTS COVERED!! /obj/item/clothing/suit/armor/bulletproof/robohand diff --git a/modular_skyrat/modules/SEVA_suit/seva_obj.dm b/modular_skyrat/modules/SEVA_suit/seva_obj.dm index b5769f9af1c..93dcb089420 100644 --- a/modular_skyrat/modules/SEVA_suit/seva_obj.dm +++ b/modular_skyrat/modules/SEVA_suit/seva_obj.dm @@ -12,7 +12,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS hoodtype = /obj/item/clothing/head/hooded/seva - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, RAD = 15, FIRE = 100, ACID = 25, WOUND = 2) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, FIRE = 100, ACID = 25, WOUND = 2) resistance_flags = FIRE_PROOF transparent_protection = HIDEJUMPSUIT allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) @@ -28,7 +28,7 @@ flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS cold_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, RAD = 15, FIRE= 100, ACID = 25, WOUND = 1) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 50, FIRE= 100, ACID = 25, WOUND = 1) resistance_flags = FIRE_PROOF /obj/item/clothing/mask/gas/seva diff --git a/modular_skyrat/modules/Syndie_edits/code/clothing/suit/syndie_edits.dm b/modular_skyrat/modules/Syndie_edits/code/clothing/suit/syndie_edits.dm index 33a4026095c..e1d425a39d1 100644 --- a/modular_skyrat/modules/Syndie_edits/code/clothing/suit/syndie_edits.dm +++ b/modular_skyrat/modules/Syndie_edits/code/clothing/suit/syndie_edits.dm @@ -8,7 +8,7 @@ body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 0, RAD = 0, FIRE = 100, ACID = 90, WOUND = 10) + armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 50, BOMB = 25, BIO = 0, FIRE = 100, ACID = 90, WOUND = 10) dog_fashion = null resistance_flags = FIRE_PROOF diff --git a/modular_skyrat/modules/additionalert/odst/code/modules/clothing/spacesuits/hardsuit.dm b/modular_skyrat/modules/additionalert/odst/code/modules/clothing/spacesuits/hardsuit.dm index 1223d301d69..a67db23055f 100644 --- a/modular_skyrat/modules/additionalert/odst/code/modules/clothing/spacesuits/hardsuit.dm +++ b/modular_skyrat/modules/additionalert/odst/code/modules/clothing/spacesuits/hardsuit.dm @@ -18,7 +18,7 @@ hardsuit_type = "odst" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/odst allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/tank/internals) - armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, RAD = 70, FIRE = 100, ACID = 100, WOUND = 65) + armor = list(MELEE = 65, BULLET = 50, LASER = 50, ENERGY = 60, BOMB = 55, BIO = 100, FIRE = 100, ACID = 100, WOUND = 65) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/modular_skyrat/modules/additionalert/odst/code/modules/clothing/under/syndicate.dm b/modular_skyrat/modules/additionalert/odst/code/modules/clothing/under/syndicate.dm index 78b75349c1f..1195da817c5 100644 --- a/modular_skyrat/modules/additionalert/odst/code/modules/clothing/under/syndicate.dm +++ b/modular_skyrat/modules/additionalert/odst/code/modules/clothing/under/syndicate.dm @@ -4,7 +4,7 @@ icon_state = "ert_odst" inhand_icon_state = "ert_odst" has_sensor = NO_SENSORS - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) alt_covers_chest = TRUE icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' diff --git a/modular_skyrat/modules/aesthetics/clothing/clothing.dm b/modular_skyrat/modules/aesthetics/clothing/clothing.dm index cae47593f26..37a3d112d60 100644 --- a/modular_skyrat/modules/aesthetics/clothing/clothing.dm +++ b/modular_skyrat/modules/aesthetics/clothing/clothing.dm @@ -121,7 +121,7 @@ worn_icon = 'modular_skyrat/modules/aesthetics/clothing/suit.dmi' icon_state = "labcoat_rd" body_parts_covered = CHEST|ARMS|LEGS - armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 80, RAD = 40, FIRE = 80, ACID = 70) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 80, FIRE = 80, ACID = 70) mutant_variants = NONE ///////////////////////////////////////////////////////////////////////HEAD diff --git a/modular_skyrat/modules/awaymissions_skyrat/mission_code/mothership_astrum.dm b/modular_skyrat/modules/awaymissions_skyrat/mission_code/mothership_astrum.dm index c15e14cce22..6e9e0545f63 100644 --- a/modular_skyrat/modules/awaymissions_skyrat/mission_code/mothership_astrum.dm +++ b/modular_skyrat/modules/awaymissions_skyrat/mission_code/mothership_astrum.dm @@ -280,7 +280,7 @@ icon_state = "vest_combat" inhand_icon_state = "armor" blood_overlay_type = "armor" - armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 20, BIO = 50, RAD = 30, FIRE = 90, ACID = 90) + armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 20, BIO = 50, FIRE = 90, ACID = 90) resistance_flags = FIRE_PROOF | ACID_PROOF allowed = list( /obj/item/melee, @@ -302,7 +302,7 @@ inhand_icon_state = "alienhelmet" blockTracking = TRUE flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT - armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100, WOUND = 15) + armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 40, BOMB = 50, BIO = 90, FIRE = 100, ACID = 100, WOUND = 15) resistance_flags = FIRE_PROOF | ACID_PROOF // Machine that removes nanites diff --git a/modular_skyrat/modules/awaymissions_skyrat/mission_code/zombieprison.dm b/modular_skyrat/modules/awaymissions_skyrat/mission_code/zombieprison.dm index cebb79d4d8e..b2641d3667b 100644 --- a/modular_skyrat/modules/awaymissions_skyrat/mission_code/zombieprison.dm +++ b/modular_skyrat/modules/awaymissions_skyrat/mission_code/zombieprison.dm @@ -521,7 +521,7 @@ worn_icon = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmob.dmi' worn_icon_digi = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmobdigi.dmi' icon_state = "prisoncopuni" - armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" = 10, "bio" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/under/scalamovdoc desc = "A blue shirt with integrated brown, padded vest. The uniform is lined with materials to enhance resistance to fire, radiation, and biohazards." @@ -530,7 +530,7 @@ worn_icon = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmob.dmi' worn_icon_digi = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmobdigi.dmi' icon_state = "prisondocuni" - armor = list("melee" = 5, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 80, "rad" = 50, "fire" = 80, "acid" = 50) + armor = list("melee" = 5, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 80, "fire" = 80, "acid" = 50) /obj/item/clothing/under/scalamovprisoner desc = "A prisoner jumpsuit for the Scalamov prison, lined with material to provide biohazard resistance.." @@ -539,7 +539,7 @@ worn_icon = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmob.dmi' worn_icon_digi = 'modular_skyrat/modules/awaymissions_skyrat/icons/clothing/mob/under/prisonmobdigi.dmi' icon_state = "prisonuni" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 10, "fire" = 30, "acid" = 30) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "fire" = 30, "acid" = 30) //GHOSTROLES diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm index 1c3b42069e3..3cf91b0bb2e 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm @@ -6,4 +6,4 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 100, "acid" = 100) diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm index b9cbaafed85..fc745162357 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm @@ -6,7 +6,7 @@ greyscale_colors = "#3A4E7D#DEB63D" //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/head_muzzled.dmi' icon_state = "beret_badge_police" - armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 15, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 15, "bomb" = 25, "bio" = 0, "fire" = 75, "acid" = 75) /obj/item/clothing/head/beret/blueshield/navy name = "navy blueshield's beret" diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm index 98250f6588b..f2dabb72354 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm @@ -4,5 +4,5 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "bs_envirohelm" - armor = list("melee" = 30, "bullet" = 20, "laser" = 20,"energy" = 20, "bomb" = 25, "bio" = 100, "rad" = 0, "fire" = 100, "acid" = 90) + armor = list("melee" = 30, "bullet" = 20, "laser" = 20,"energy" = 20, "bomb" = 25, "bio" = 100, "fire" = 100, "acid" = 90) resistance_flags = FIRE_PROOF diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm index 92fc8cea5cd..d213f4b7b86 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm @@ -7,7 +7,7 @@ //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/suit_digi.dmi' icon_state = "blueshield" body_parts_covered = CHEST|ARMS - armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/armor/vest/blueshieldarmor name = "Blueshield's Armor" @@ -16,7 +16,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "blueshieldarmor" body_parts_covered = CHEST - armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/hooded/wintercoat/blueshield name = "blueshield's winter coat" @@ -27,7 +27,7 @@ desc = "A comfy kevlar-lined coat with \"NT\" emblazoned on the back." hoodtype = /obj/item/clothing/head/hooded/winterhood/blueshield allowed = list(/obj/item/melee/baton/security/loaded) - armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 25, "bomb" = 30, "bio" = 0, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/hooded/wintercoat/blueshield/Initialize() . = ..() @@ -38,4 +38,4 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "winterhood_blueshield" desc = "A comfy kevlar-lined hood to go with the comfy kevlar-lined coat." - armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 15, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + armor = list("melee" = 35, "bullet" = 25, "laser" = 25,"energy" = 15, "bomb" = 25, "bio" = 0, "fire" = 75, "acid" = 75) diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm index 6c2c88ed50f..98661f8a99c 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm @@ -4,6 +4,6 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "bs_envirosuit" - armor = list("melee" = 10, "bullet" = 0, "laser" = 10,"energy" = 0, "bomb" = 5, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) + armor = list("melee" = 10, "bullet" = 0, "laser" = 10,"energy" = 0, "bomb" = 5, "bio" = 100, "fire" = 95, "acid" = 95) sensor_mode = SENSOR_COORDS random_sensor = FALSE diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm index 39aa1172146..b0b2231465a 100644 --- a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm @@ -6,7 +6,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi' icon_state = "blueshield" - armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "fire" = 50, "acid" = 50) can_adjust = FALSE sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -18,7 +18,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi' icon_state = "bs_turtleneck" - armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "fire" = 50, "acid" = 50) can_adjust = FALSE sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -30,7 +30,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi' icon_state = "blueshieldskirt" - armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" = 10, "bio" = 0, "fire" = 50, "acid" = 50) can_adjust = FALSE sensor_mode = SENSOR_COORDS random_sensor = FALSE diff --git a/modular_skyrat/modules/brigoff/code/modules/clothing/suits/armor.dm b/modular_skyrat/modules/brigoff/code/modules/clothing/suits/armor.dm index 102de55a37a..8c120143a87 100644 --- a/modular_skyrat/modules/brigoff/code/modules/clothing/suits/armor.dm +++ b/modular_skyrat/modules/brigoff/code/modules/clothing/suits/armor.dm @@ -5,4 +5,4 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "brigcoat" body_parts_covered = CHEST|ARMS - armor = list("melee" = 10, "bullet" = 10, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 10, "bullet" = 10, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0) diff --git a/modular_skyrat/modules/brigoff/code/modules/clothing/under/jobs/security.dm b/modular_skyrat/modules/brigoff/code/modules/clothing/under/jobs/security.dm index 8543c45c69b..8c99f89f12e 100644 --- a/modular_skyrat/modules/brigoff/code/modules/clothing/under/jobs/security.dm +++ b/modular_skyrat/modules/brigoff/code/modules/clothing/under/jobs/security.dm @@ -4,7 +4,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "brigguard" - armor = list("melee" = 10, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 10, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0) can_adjust = FALSE sensor_mode = SENSOR_COORDS random_sensor = FALSE diff --git a/modular_skyrat/modules/customization/modules/clothing/head/head.dm b/modular_skyrat/modules/customization/modules/clothing/head/head.dm index d7493005079..527344f0945 100644 --- a/modular_skyrat/modules/customization/modules/clothing/head/head.dm +++ b/modular_skyrat/modules/customization/modules/clothing/head/head.dm @@ -4,7 +4,7 @@ name = "flak helmet" icon_state = "m1helm" inhand_icon_state = "helmet" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0.1, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = -15, "wound" = 1) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0.1, "bio" = 0, "fire" = -10, "acid" = -15, "wound" = 1) desc = "A dilapidated helmet used in ancient wars. This one is brittle and essentially useless. An ace of spades is tucked into the band around the outer shell." pocket_storage_component_path = /datum/component/storage/concrete/pockets/tiny/spacenam //So you can stuff other things in the elastic band instead of it simply being a fluff thing. mutant_variants = NONE @@ -282,7 +282,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "imphop" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) /obj/item/clothing/head/imperial/hos name = "head of security's naval officer cap" @@ -290,7 +290,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "imphos" - armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60, WOUND = 10) + armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 10, FIRE = 50, ACID = 60, WOUND = 10) strip_delay = 80 /obj/item/clothing/head/imperial/grey @@ -306,7 +306,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "impcap" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 5) + armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 5) strip_delay = 60 /obj/item/clothing/head/imperial/ce @@ -314,7 +314,7 @@ desc = "Despite seeming like it's made of metal, it's actually a very cheap plastic.." icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50, WOUND = 10) + armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, FIRE = 100, ACID = 50, WOUND = 10) clothing_flags = STOPSPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT diff --git a/modular_skyrat/modules/customization/modules/clothing/head/jobs.dm b/modular_skyrat/modules/customization/modules/clothing/head/jobs.dm index 177b1ee95c0..8574c5d21f9 100644 --- a/modular_skyrat/modules/customization/modules/clothing/head/jobs.dm +++ b/modular_skyrat/modules/customization/modules/clothing/head/jobs.dm @@ -20,7 +20,7 @@ greyscale_config = /datum/greyscale_config/beret_badge_fancy greyscale_config_worn = /datum/greyscale_config/beret_badge_fancy/worn greyscale_colors = "#3C485A#FF0000#00AEEF" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 50, WOUND = 6) + armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 30, ACID = 50, WOUND = 6) strip_delay = 60 /obj/item/clothing/head/beret/sec/navyofficer diff --git a/modular_skyrat/modules/customization/modules/clothing/head/trek.dm b/modular_skyrat/modules/customization/modules/clothing/head/trek.dm index 8a5d3af4ada..5d189eabda1 100644 --- a/modular_skyrat/modules/customization/modules/clothing/head/trek.dm +++ b/modular_skyrat/modules/customization/modules/clothing/head/trek.dm @@ -1,7 +1,7 @@ //Trekkie hats /obj/item/clothing/head/caphat/formal/fedcover name = "Federation Officer's Cap" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) desc = "An officer's cap that demands discipline from the one who wears it." icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' icon_state = "fedcapofficer" diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm b/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm index 55dce0b587c..54885927d5a 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm @@ -9,7 +9,7 @@ icon_state = "coatparamed" inhand_icon_state = "coatparamed" allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 0, "acid" = 45, "wound" = 3) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "fire" = 0, "acid" = 45, "wound" = 3) hoodtype = /obj/item/clothing/head/hooded/winterhood/paramedic /obj/item/clothing/head/hooded/winterhood/paramedic @@ -26,7 +26,7 @@ icon_state = "coatrobotics" inhand_icon_state = "coatrobotics" allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/melee/baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/screwdriver, /obj/item/crowbar, /obj/item/wrench, /obj/item/stack/cable_coil, /obj/item/weldingtool, /obj/item/multitool) - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0, "wound" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "fire" = 0, "acid" = 0, "wound" = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/robotics /obj/item/clothing/head/hooded/winterhood/robotics @@ -59,7 +59,7 @@ desc = "A brass-plated button up winter coat. Instead of a zipper tab, it has a brass cog with a tiny red gemstone inset." icon_state = "coatratvar" inhand_icon_state = "coatratvar" - armor = list("melee" = 30, "bullet" = 45, "laser" = -10, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60, "wound" = 10) + armor = list("melee" = 30, "bullet" = 45, "laser" = -10, "energy" = 0, "bomb" = 30, "bio" = 0, "fire" = 60, "acid" = 60, "wound" = 10) hoodtype = /obj/item/clothing/head/hooded/winterhood/ratvar var/real = TRUE @@ -91,7 +91,7 @@ desc = "A somber button-up in tones of grey entropy and a wicked crimson zipper. When pulled all the way up, the zipper looks like a bloody gash. The zipper pull looks like a single drop of blood." icon_state = "coatnarsie" inhand_icon_state = "coatnarsie" - armor = list("melee" = 30, "bullet" = 20, "laser" = 30,"energy" = 10, "bomb" = 30, "bio" = 10, "rad" = 10, "fire" = 30, "acid" = 30, "wound" = 10) + armor = list("melee" = 30, "bullet" = 20, "laser" = 30,"energy" = 10, "bomb" = 30, "bio" = 10, "fire" = 30, "acid" = 30, "wound" = 10) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/restraints/legcuffs/bola/cult,/obj/item/melee/cultblade,/obj/item/melee/cultblade/dagger,/obj/item/reagent_containers/glass/beaker/unholywater,/obj/item/cult_shift,/obj/item/flashlight/flare/culttorch,/obj/item/melee/cultblade/halberd) hoodtype = /obj/item/clothing/head/hooded/winterhood/narsie var/real = TRUE @@ -120,7 +120,7 @@ icon_state = "coatratvar" inhand_icon_state = "coatratvar" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0, "wound" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0, "wound" = 0) real = FALSE /obj/item/clothing/suit/hooded/wintercoat/narsie/fake @@ -129,7 +129,7 @@ icon_state = "coatnarsie" inhand_icon_state = "coatnarsie" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0, "wound" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0, "wound" = 0) real = FALSE /obj/item/clothing/suit/flakjack @@ -142,7 +142,7 @@ blood_overlay_type = "armor" body_parts_covered = CHEST resistance_flags = NONE - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 0, "rad" = 0, "fire" = -5, "acid" = -15, "wound" = 0) //nylon sucks against acid + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 0, "fire" = -5, "acid" = -15, "wound" = 0) //nylon sucks against acid mutant_variants = NONE /obj/item/clothing/suit/hooded/cloak/david @@ -187,7 +187,7 @@ inhand_icon_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, FIRE = 0, ACID = 45) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -210,7 +210,7 @@ mutant_variants = NONE blood_overlay_type = "coat" toggle_noun = "zipper" - armor = list(MELEE = 10, BULLET = 5, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 5, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/toggle/lawyer/black/better diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm b/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm index 94f94a6c015..d8feea03f85 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm @@ -178,7 +178,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/brownfurrich/public name = "fur coat" @@ -215,7 +215,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/modern_winter icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -248,7 +248,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 10, BULLET = 10, LASER = 20,ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 20,ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/autumn icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -260,7 +260,7 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/texas icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -285,7 +285,7 @@ name = "security ukrainian coat" icon_state = "don_cossak" mutant_variants = NONE - armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 10, BULLET = 10, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/corgisuit/en name = "\improper super-hero E-N suit" diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm b/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm index 24687f46adc..16f6dd53e88 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm @@ -24,7 +24,7 @@ /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/taperecorder) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) var/unbuttoned = 0 //This makes the fed coats button and unbuttonable. Doesn't aply to modern fedcoats. @@ -88,7 +88,7 @@ /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/taperecorder) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) /obj/item/clothing/suit/storage/fluff/mfedcoat/medsci diff --git a/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm b/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm index 47ad1fd6bbe..c873bf14912 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm @@ -111,7 +111,7 @@ icon_state = "tactifool" inhand_icon_state = "bl_suit" has_sensor = HAS_SENSORS - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/syndicate/tacticool/skirt/sensors name = "tacticool skirtleneck" @@ -119,13 +119,13 @@ icon_state = "tactifool_skirt" inhand_icon_state = "bl_suit" has_sensor = HAS_SENSORS - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) fitted = FEMALE_UNIFORM_TOP dying_key = DYE_REGISTRY_JUMPSKIRT /obj/item/clothing/under/syndicate/bloodred/sleepytime/sensors has_sensor = HAS_SENSORS - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/syndicate/tacticool/CtrlShiftClick(mob/user) //This handles changing the design between new and old for skirtle and turtlenecks . = ..() diff --git a/modular_skyrat/modules/customization/modules/clothing/under/misc.dm b/modular_skyrat/modules/customization/modules/clothing/under/misc.dm index 49ebb398148..0e6d2ca9ecb 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/misc.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/misc.dm @@ -82,7 +82,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "blackwatch" inhand_icon_state = "kilt" - armor = list(MELEE = 30, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 20, WOUND = 10) + armor = list(MELEE = 30, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 10, ACID = 20, WOUND = 10) body_parts_covered = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/misc/discounder @@ -152,7 +152,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "enclaveo" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/enclave @@ -161,7 +161,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "enclave" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) body_parts_covered = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/enclaveo/real @@ -170,7 +170,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "enclaveo" - armor = list(MELEE = 0, BULLET = 10, LASER = 20,ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 10, WOUND = 10) + armor = list(MELEE = 0, BULLET = 10, LASER = 20,ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 0, ACID = 10, WOUND = 10) body_parts_covered = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/enclave/real @@ -179,7 +179,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "enclave" - armor = list(MELEE = 0, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 10, WOUND = 10) + armor = list(MELEE = 0, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 0, ACID = 10, WOUND = 10) body_parts_covered = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/tachawaiian @@ -361,7 +361,7 @@ inhand_icon_state = "b_suit" sensor_mode = SENSOR_COORDS random_sensor = FALSE - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 15) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 15) /obj/item/clothing/under/rank/cargo/casualman name = "cargo tech casual wear" @@ -379,7 +379,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "qmsynd" has_sensor = NO_SENSORS - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) can_adjust = FALSE /obj/item/clothing/under/uvf diff --git a/modular_skyrat/modules/customization/modules/clothing/under/security.dm b/modular_skyrat/modules/customization/modules/clothing/under/security.dm index 63afed6d463..7df0d0d3b58 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/security.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/security.dm @@ -49,7 +49,7 @@ icon_state = "det_bomber" inhand_icon_state = "det_bomber" body_parts_covered = CHEST|ARMS - armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 35, BOMB = 0, BIO = 0, FIRE = 0, ACID = 45) cold_protection = CHEST|ARMS mutant_variants = NONE heat_protection = CHEST|ARMS @@ -64,7 +64,7 @@ can_adjust = FALSE /obj/item/clothing/under/rank/security/detective/cowboy/armorless - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) /obj/item/clothing/suit/cowboyvest name = "blonde cowboy vest" @@ -218,7 +218,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "scrubsred" - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 30, ACID = 30, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 30, ACID = 30, WOUND = 10) diff --git a/modular_skyrat/modules/customization/modules/clothing/under/trek.dm b/modular_skyrat/modules/customization/modules/clothing/under/trek.dm index 92a370d3520..05439ab7188 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/trek.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/trek.dm @@ -73,7 +73,7 @@ name = "operations command uniform" desc = "An uniform worn by commanding officers of operations." icon_state = "orv_com_ops" - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) //copies normal engsec values + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) //copies normal engsec values strip_delay = 50 /obj/item/clothing/under/trek/modular_skyrat/command/orv/medsci diff --git a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm index 82322d59f0b..8de508f5b01 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm @@ -33,20 +33,20 @@ name = "engineering jacket" desc = "A comfortable jacket in engineering yellow." icon_state = "engi_dep_jacket" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 45, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 45, WOUND = 0) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) /obj/item/clothing/suit/toggle/jacket/sci name = "science jacket" desc = "A comfortable jacket in science purple." icon_state = "sci_dep_jacket" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 0, ACID = 0, WOUND = 0) /obj/item/clothing/suit/toggle/jacket/med name = "medbay jacket" desc = "A comfortable jacket in medical blue." icon_state = "med_dep_jacket" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 0, ACID = 45, WOUND = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 0, ACID = 45, WOUND = 0) /obj/item/clothing/suit/toggle/jacket/supply name = "cargo jacket" @@ -72,7 +72,7 @@ name = "security jacket" desc = "A comfortable jacket in security blue. Probably against uniform regulations." icon_state = "sec_dep_jacket" - armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 45, WOUND = 0) + armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, FIRE = 0, ACID = 45, WOUND = 0) /obj/item/clothing/suit/toggle/jacket/sec/old //Oldsec (Red) icon_state = "sec_dep_jacket_old" diff --git a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/utility.dm b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/utility.dm index ac5af1be4e6..a5c5e1949f2 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/utility.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/utility.dm @@ -8,17 +8,17 @@ can_adjust = FALSE /obj/item/clothing/under/utility/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/eng name = "engineering utility uniform" desc = "A utility uniform worn by Engineering personnel." icon_state = "util_eng" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 60, ACID = 20) //Same stats as default engineering jumpsuit + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 60, ACID = 20) //Same stats as default engineering jumpsuit /obj/item/clothing/under/utility/eng/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS //"Who is this SYNDICATE OPERATIVE on sensors?" /obj/item/clothing/under/utility/med @@ -26,10 +26,10 @@ desc = "A utility uniform worn by Medical doctors." icon_state = "util_med" permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) //Same stats as default medical jumpsuit + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) //Same stats as default medical jumpsuit /obj/item/clothing/under/utility/med/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/sci @@ -37,11 +37,11 @@ desc = "A utility uniform worn by NT-certified Science staff." icon_state = "util_sci" permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) //Same stats as default science jumpsuit + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 0, ACID = 0) //Same stats as default science jumpsuit /obj/item/clothing/under/utility/sci/syndicate desc = "A utility uniform worn by Science staff." - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/cargo @@ -50,7 +50,7 @@ icon_state = "util_cargo" /obj/item/clothing/under/utility/cargo/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/cargo/gorka @@ -77,23 +77,23 @@ name = "security utility uniform" desc = "A utility uniform worn by Security officers." icon_state = "util_sec" - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30, WOUND = 10) //Same stats as default security jumpsuit + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 30, WOUND = 10) //Same stats as default security jumpsuit /obj/item/clothing/under/utility/sec/old //Oldsec (Red) icon_state = "util_sec_old" /obj/item/clothing/under/utility/sec/old/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/com name = "command utility uniform" desc = "A utility uniform worn by Station Command." icon_state = "util_com" - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 15) //Same stats as default captain uniform + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 15) //Same stats as default captain uniform /obj/item/clothing/under/utility/com/syndicate - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) //Same stats as the tactical turtleneck. has_sensor = NO_SENSORS /obj/item/clothing/under/utility/robo_sleek @@ -106,14 +106,14 @@ desc = "It's made of a special fiber that provides minor protection against biohazards. It's detailed with red stripes and medical symbols, denoting the wearer as a first-responder." icon_state = "pmedred" permeability_coefficient = 0.5 - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) //Same stats as the paramedic uniform + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 0, ACID = 0) //Same stats as the paramedic uniform /obj/item/clothing/under/utility/haz_green name = "chemical hazard uniform" desc = "A hazard uniform with additional protection from gas and chemical hazards, at the cost of less fire- and radiation-proofing." icon_state = "hazard_green" can_adjust = TRUE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 20, ACID = 60) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 20, ACID = 60) resistance_flags = ACID_PROOF /obj/item/clothing/under/utility/haz_white @@ -121,5 +121,5 @@ desc = "An EMT uniform used for first responders in situations involving gas and/or chemical hazards. The label reads, \"Not designed for prolonged exposure\"." icon_state = "hazard_white" can_adjust = TRUE - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 10, ACID = 50) //Worse stats than the proper hazard uniform + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, FIRE = 10, ACID = 50) //Worse stats than the proper hazard uniform resistance_flags = ACID_PROOF diff --git a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm index 77e0a61f62d..2d8ddbaefe8 100644 --- a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm +++ b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm @@ -351,7 +351,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' mutant_variants = NONE can_adjust = FALSE //There wasnt an adjustable sprite anyways - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, WOUND = 5) //same armor as a greyshirt - DONOR ITEMS ARE PURELY COSMETIC + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 5) //same armor as a greyshirt - DONOR ITEMS ARE PURELY COSMETIC has_sensor = HAS_SENSORS //Actually has sensors, to balance the new lack of armor //Donation reward for Thedragmeme @@ -672,7 +672,7 @@ blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back mutant_variants = NONE - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0) //Donation reward for inferno707 /obj/item/clothing/mask/hheart @@ -844,7 +844,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/head.dmi' icon_state = "emissionhelm" inhand_icon_state = "emissionhelm" - armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 0, FIRE = 100, ACID = 75, WOUND = 10) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10) // Donation reward for CandleJax /obj/item/clothing/under/plasmaman/security/candlejax diff --git a/modular_skyrat/modules/exp_corps/code/clothing.dm b/modular_skyrat/modules/exp_corps/code/clothing.dm index a5c1d331320..84eedf9a561 100644 --- a/modular_skyrat/modules/exp_corps/code/clothing.dm +++ b/modular_skyrat/modules/exp_corps/code/clothing.dm @@ -3,7 +3,7 @@ icon_state = "exp_corps" icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 10, RAD = 10, FIRE = 30, ACID = 30, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 10, FIRE = 30, ACID = 30, WOUND = 10) strip_delay = 70 alt_covers_chest = TRUE sensor_mode = SENSOR_COORDS @@ -65,7 +65,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/feet.dmi' icon_state = "exp_corps" inhand_icon_state = "exp_corps" - armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 40, BOMB = 40, BIO = 0, RAD = 40, FIRE = 80, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 40, BOMB = 40, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) /obj/item/clothing/gloves/color/black/expeditionary_corps name = "expeditionary corps gloves" @@ -77,7 +77,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) /obj/item/clothing/gloves/color/chief_engineer/expeditionary_corps name = "expeditionary corps insulated gloves" @@ -90,7 +90,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) /obj/item/clothing/gloves/color/latex/nitrile/expeditionary_corps name = "expeditionary corps medic gloves" @@ -103,7 +103,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 50) /obj/item/storage/backpack/duffelbag/expeditionary_corps name = "expeditionary corps bag" @@ -122,7 +122,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' body_parts_covered = CHEST|GROIN|ARMS - armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 40, BOMB = 40, BIO = 0, RAD = 40, FIRE = 80, ACID = 100, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 40, BOMB = 40, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS dog_fashion = null @@ -147,7 +147,7 @@ icon_state = "hardsuit-hexp_corps" inhand_icon_state = "eng_hardsuit" hardsuit_type = "hexp_corps" - armor = list(MELEE = 42, BULLET = 42, LASER = 42, ENERGY = 42, BOMB = 60, BIO = 0, RAD = 100, FIRE = 80, ACID = 100, WOUND = 30) + armor = list(MELEE = 42, BULLET = 42, LASER = 42, ENERGY = 42, BOMB = 60, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/expeditionary_corps jetpack = /obj/item/tank/jetpack/suit @@ -163,7 +163,7 @@ icon_state = "hardsuit0-hexp_corps" inhand_icon_state = "sec_helm" hardsuit_type = "hexp_corps" - armor = list(MELEE = 42, BULLET = 42, LASER = 42, ENERGY = 42, BOMB = 60, BIO = 0, RAD = 100, FIRE = 80, ACID = 100, WOUND = 30) + armor = list(MELEE = 42, BULLET = 42, LASER = 42, ENERGY = 42, BOMB = 60, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT visor_flags = STOPSPRESSUREDAMAGE slowdown = 0.5 @@ -174,7 +174,7 @@ icon_state = "exp_corps" icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 40, FIRE = 80, ACID = 100, WOUND = 30) + armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) mutant_variants = NONE var/nightvision = FALSE var/mob/living/carbon/current_user diff --git a/modular_skyrat/modules/firefighter/code/firefighter.dm b/modular_skyrat/modules/firefighter/code/firefighter.dm index 51118e60a8c..76c135ccfd0 100644 --- a/modular_skyrat/modules/firefighter/code/firefighter.dm +++ b/modular_skyrat/modules/firefighter/code/firefighter.dm @@ -6,7 +6,7 @@ base_icon_state = "firefighter" resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF lights_power = 7 - armor = list(MELEE = 40, BULLET = 30, LASER = 60, ENERGY = 30, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100) + armor = list(MELEE = 40, BULLET = 30, LASER = 60, ENERGY = 30, BOMB = 60, BIO = 0, FIRE = 100, ACID = 100) max_integrity = 400 max_temperature = 80000 enclosed = TRUE diff --git a/modular_skyrat/modules/hev_suit/code/hev_suit.dm b/modular_skyrat/modules/hev_suit/code/hev_suit.dm index 5bab424ca51..85c9d7f8818 100644 --- a/modular_skyrat/modules/hev_suit/code/hev_suit.dm +++ b/modular_skyrat/modules/hev_suit/code/hev_suit.dm @@ -37,7 +37,7 @@ icon_state = "hardsuit0-hev" inhand_icon_state = "sec_helm" hardsuit_type = "hev" - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 40, RAD = 40, FIRE = 40, ACID = 40, WOUND = 10) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 40, FIRE = 40, ACID = 40, WOUND = 10) obj_flags = NO_MAT_REDEMPTION resistance_flags = LAVA_PROOF|FIRE_PROOF|UNACIDABLE|ACID_PROOF|INDESTRUCTIBLE|FREEZE_PROOF clothing_flags = STOPSPRESSUREDAMAGE|THICKMATERIAL|SNUG_FIT|LAVAPROTECT|BLOCK_GAS_SMOKE_EFFECT|SCAN_REAGENTS @@ -52,7 +52,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "hardsuit-hev" inhand_icon_state = "eng_hardsuit" - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 40, RAD = 40, FIRE = 40, ACID = 40, WOUND = 10) //This is gordons suit, of course it's strong. + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 40, FIRE = 40, ACID = 40, WOUND = 10) //This is gordons suit, of course it's strong. allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/hev_suit jetpack = /obj/item/tank/jetpack/suit @@ -466,7 +466,6 @@ deactivate() /obj/item/clothing/suit/space/hardsuit/hev_suit/proc/medical_systems() - RegisterSignal(current_user, COMSIG_ATOM_RAD_ACT, .proc/process_radiation) RegisterSignal(current_user, COMSIG_CARBON_GAIN_WOUND, .proc/process_wound) RegisterSignal(current_user, COMSIG_ATOM_ACID_ACT, .proc/process_acid) START_PROCESSING(SSobj, src) @@ -622,13 +621,6 @@ acid_statement_cooldown = world.time + HEV_COOLDOWN_ACID send_hev_sound('modular_skyrat/master_files/sound/blackmesa/hev/chemical_detected.ogg') -/obj/item/clothing/suit/space/hardsuit/hev_suit/proc/process_radiation() - SIGNAL_HANDLER - if(world.time <= rad_statement_cooldown) - return - rad_statement_cooldown = world.time + HEV_COOLDOWN_RADS - send_hev_sound('modular_skyrat/master_files/sound/blackmesa/hev/radiation_detected.ogg') - /obj/item/clothing/suit/space/hardsuit/hev_suit/proc/weaponselect() ADD_TRAIT(current_user, list(TRAIT_GUNFLIP,TRAIT_GUN_NATURAL), "hev_trait") playsound(src, 'modular_skyrat/master_files/sound/blackmesa/hev/06_weaponselect_on.ogg', 50) @@ -696,7 +688,6 @@ UnregisterSignal(current_user, list( COMSIG_ATOM_ACID_ACT, COMSIG_CARBON_GAIN_WOUND, - COMSIG_ATOM_RAD_ACT, COMSIG_MOB_RUN_ARMOR, COMSIG_MOB_STATCHANGE )) diff --git a/modular_skyrat/modules/icspawning/code/modules/clothing/outfits/standard.dm b/modular_skyrat/modules/icspawning/code/modules/clothing/outfits/standard.dm index 3fd08c4abd1..8a32480c5f3 100644 --- a/modular_skyrat/modules/icspawning/code/modules/clothing/outfits/standard.dm +++ b/modular_skyrat/modules/icspawning/code/modules/clothing/outfits/standard.dm @@ -9,7 +9,7 @@ /obj/item/clothing/suit/armor/vest/debug name = "Bluespace Tech vest" desc = "A sleek piece of armour designed for Bluespace agents." - armor = list("melee" = 95, "bullet" = 95, "laser" = 95, "energy" = 95, "bomb" = 95, "bio" = 95, "rad" = 100, "fire" = 98, "acid" = 98) + armor = list("melee" = 95, "bullet" = 95, "laser" = 95, "energy" = 95, "bomb" = 95, "bio" = 95, "fire" = 98, "acid" = 98) w_class = WEIGHT_CLASS_TINY /obj/item/clothing/suit/space/hardsuit/ert/debug @@ -19,7 +19,7 @@ inhand_icon_state = "flightsuit" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/debug max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list("melee" = 98, "bullet" = 98, "laser" = 98, "energy" = 98, "bomb" = 98, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) + armor = list("melee" = 98, "bullet" = 98, "laser" = 98, "energy" = 98, "bomb" = 98, "bio" = 100, "fire" = 100, "acid" = 100) w_class = WEIGHT_CLASS_TINY /obj/item/clothing/head/helmet/space/hardsuit/ert/debug @@ -29,7 +29,7 @@ inhand_icon_state = "hardsuit0-flight" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT hardsuit_type = "flight" - armor = list("melee" = 98, "bullet" = 98, "laser" = 98, "energy" = 98, "bomb" = 98, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) + armor = list("melee" = 98, "bullet" = 98, "laser" = 98, "energy" = 98, "bomb" = 98, "bio" = 100, "fire" = 100, "acid" = 100) /obj/item/clothing/shoes/combat/debug clothing_flags = NOSLIP diff --git a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/alientoollab.dmm b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/alientoollab.dmm index fc68bcc2ac4..46b01a3fee1 100644 --- a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/alientoollab.dmm +++ b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/alientoollab.dmm @@ -68,7 +68,7 @@ /area/ruin/space/has_grav/powered) "k" = ( /obj/machinery/porta_turret/syndicate/energy{ - armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100); + armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "fire" = 100, "acid" = 100); dir = 9; shot_delay = 10 }, diff --git a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/forgottenship_skyrat.dmm b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/forgottenship_skyrat.dmm index cd486b80e6e..3fc85c8956a 100644 --- a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/forgottenship_skyrat.dmm +++ b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/forgottenship_skyrat.dmm @@ -4,7 +4,7 @@ /area/template_noop) "ab" = ( /obj/machinery/porta_turret/syndicate/energy{ - armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100); + armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "fire" = 100, "acid" = 100); dir = 4; name = "Syndicate Ship Turret"; on = 0; @@ -235,7 +235,7 @@ "aF" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -534,7 +534,7 @@ "bE" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -667,7 +667,7 @@ "bV" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -1081,7 +1081,7 @@ "da" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -1123,7 +1123,7 @@ /area/ruin/space/has_grav/syndicate_forgotten_ship) "dg" = ( /obj/machinery/porta_turret/syndicate/energy{ - armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100); + armor = list("melee" = 40, "bullet" = 40, "laser" = 60, "energy" = 60, "bomb" = 60, "bio" = 0, "fire" = 100, "acid" = 100); dir = 4; name = "Syndicate Ship Turret"; on = 0; @@ -1415,7 +1415,7 @@ /obj/machinery/light, /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -1854,7 +1854,7 @@ "ze" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -2000,7 +2000,7 @@ "Ha" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -2037,7 +2037,7 @@ "Iq" = ( /obj/structure/closet/syndicate{ anchored = 1; - armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60); + armor = list("melee" = 70, "bullet" = 40, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "fire" = 70, "acid" = 60); desc = "A basic closet for all your villainous needs."; locked = 1; name = "Closet"; @@ -2148,7 +2148,7 @@ }, /obj/structure/fans/tiny, /obj/machinery/door/airlock/grunge{ - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 90); + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "fire" = 90, "acid" = 90); desc = "Vault airlock preventing air from going out."; name = "Syndicate Vault Airlock"; req_one_access_txt = "150" diff --git a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/interdynefob.dmm b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/interdynefob.dmm index 9ca10333d6b..c36355ba614 100644 --- a/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/interdynefob.dmm +++ b/modular_skyrat/modules/mapping/_maps/RandomRuins/SpaceRuins/interdynefob.dmm @@ -11649,7 +11649,7 @@ /obj/structure/closet/crate, /obj/item/inflatable/door, /obj/item/clothing/suit/fire/atmos{ - armor = list("melee" = 20, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 80, "acid" = 50); + armor = list("melee" = 20, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 10, "fire" = 80, "acid" = 50); desc = "An old, reinforced and obviously stolen firesuit. There's an expiry date for the thermal padding, safe to say it's well past the expiration date."; name = "padded firesuit"; slowdown = 0.25 @@ -12646,12 +12646,12 @@ /obj/structure/cable, /obj/item/clothing/head/sec/navywarden/syndicate, /obj/item/clothing/suit/armor/hos/trenchcoat{ - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50, "wound" = 10); + armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "fire" = 50, "acid" = 50, "wound" = 10); desc = "A trenchcoat enhanced with a special lightweight kevlar. It has little Syndicate logos sewn onto the shoulder badges with the letters 'MAA' just under it."; name = "Master at arms' armored trenchcoat" }, /obj/item/clothing/suit/armor/hos{ - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50, "wound" = 10); + armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "fire" = 50, "acid" = 50, "wound" = 10); desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a likely chance to get bullied for being outside of the brig"; name = "Master at arms' armored greatcoat" }, diff --git a/modular_skyrat/modules/mapping/code/_unsorted/genpop/turnstile.dm b/modular_skyrat/modules/mapping/code/_unsorted/genpop/turnstile.dm index 30253e0b053..ccf882c5184 100644 --- a/modular_skyrat/modules/mapping/code/_unsorted/genpop/turnstile.dm +++ b/modular_skyrat/modules/mapping/code/_unsorted/genpop/turnstile.dm @@ -4,7 +4,7 @@ icon = 'modular_skyrat/modules/mapping/icons/unique/turnstile.dmi' icon_state = "turnstile_map" density = TRUE - armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 90, acid = 70) + armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, fire = 90, acid = 70) anchored = TRUE use_power = FALSE idle_power_usage = 2 diff --git a/modular_skyrat/modules/mapping/code/_unsorted/pool.dm b/modular_skyrat/modules/mapping/code/_unsorted/pool.dm index b50c4828313..c054746391c 100644 --- a/modular_skyrat/modules/mapping/code/_unsorted/pool.dm +++ b/modular_skyrat/modules/mapping/code/_unsorted/pool.dm @@ -35,7 +35,7 @@ wash_atom(loc) /turf/open/water/overlay/proc/wash_atom(atom/A) - A.wash(CLEAN_RAD | CLEAN_TYPE_WEAK) // Clean radiation non-instantly + A.wash(CLEAN_RAD) // Clean radiation non-instantly A.wash(CLEAN_WASH) ///////////// CLEANING BLOCK ///////////// /////////////////////////////////////////// diff --git a/modular_skyrat/modules/materials_glass/glass.dm b/modular_skyrat/modules/materials_glass/glass.dm index 422e008fa00..7db139a87ab 100644 --- a/modular_skyrat/modules/materials_glass/glass.dm +++ b/modular_skyrat/modules/materials_glass/glass.dm @@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ icon_state = "sheet-glass" inhand_icon_state = "sheet-glass" mats_per_unit = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/glass grind_results = list(/datum/reagent/silicon = 20) @@ -98,7 +98,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ inhand_icon_state = "sheet-pglass" mats_per_unit = list(/datum/material/alloy/plasmaglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/plasmaglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 75, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 75, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plasmaglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) @@ -138,7 +138,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ icon_state = "sheet-rglass" inhand_icon_state = "sheet-rglass" mats_per_unit = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 70, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 70, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/rglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10) @@ -184,7 +184,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ icon_state = "sheet-prglass" inhand_icon_state = "sheet-prglass" mats_per_unit = list(/datum/material/alloy/plasmaglass=MINERAL_MATERIAL_AMOUNT, /datum/material/iron = MINERAL_MATERIAL_AMOUNT * 0.5) - armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF material_flags = NONE merge_type = /obj/item/stack/sheet/plasmarglass @@ -205,7 +205,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ inhand_icon_state = "sheet-titaniumglass" mats_per_unit = list(/datum/material/alloy/titaniumglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/titaniumglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/titaniumglass tableVariant = /obj/structure/table/reinforced/titaniumglass @@ -222,7 +222,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ inhand_icon_state = "sheet-plastitaniumglass" mats_per_unit = list(/datum/material/alloy/plastitaniumglass=MINERAL_MATERIAL_AMOUNT) material_type = /datum/material/alloy/plastitaniumglass - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100) material_flags = NONE resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass @@ -248,7 +248,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ attack_verb_simple = list("stab", "slash", "slice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF - armor = list(MELEE = 100, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 100) + armor = list(MELEE = 100, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 0, FIRE = 50, ACID = 100) max_integrity = 40 sharpness = SHARP_EDGED var/icon_prefix diff --git a/modular_skyrat/modules/modular_items/code/game/modular_clothing.dm b/modular_skyrat/modules/modular_items/code/game/modular_clothing.dm index 693e1f381cd..3f5d834a960 100644 --- a/modular_skyrat/modules/modular_items/code/game/modular_clothing.dm +++ b/modular_skyrat/modules/modular_items/code/game/modular_clothing.dm @@ -25,7 +25,7 @@ icon = 'modular_skyrat/modules/modular_items/icons/obj/modular_clothing.dmi' worn_icon = 'modular_skyrat/modules/modular_items/icons/mob/modular_clothing.dmi' icon_state = "fatigues" - armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30, WOUND = 10) + armor = list(MELEE = 10, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 30, ACID = 30, WOUND = 10) strip_delay = 50 alt_covers_chest = FALSE sensor_mode = SENSOR_COORDS diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm index 5f468668ab7..bb54da3cfc2 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/deprivation_helmet.dm @@ -13,7 +13,7 @@ righthand_file = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_inhands/lewd_inhand_right.dmi' flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT|HIDEFACIALHAIR flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 25, RAD = 10, FIRE = 20, ACID = 15) + armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 25, FIRE = 20, ACID = 15) clothing_flags = SNUG_FIT var/color_changed = FALSE //these three vars needed to turn deprivation stuff on or off diff --git a/modular_skyrat/modules/modular_weapons/code/modules/projectiles/guns/energy/cell_based/medgun/medcells.dm b/modular_skyrat/modules/modular_weapons/code/modules/projectiles/guns/energy/cell_based/medgun/medcells.dm index f060ce358db..90e4a95eddf 100644 --- a/modular_skyrat/modules/modular_weapons/code/modules/projectiles/guns/energy/cell_based/medgun/medcells.dm +++ b/modular_skyrat/modules/modular_weapons/code/modules/projectiles/guns/energy/cell_based/medgun/medcells.dm @@ -83,7 +83,6 @@ if(!IsLivingHuman(target)) return FALSE target.adjustToxLoss(-amount_healed) - target.radiation = max(target.radiation - (amount_healed * 8), 0)//Rads are treatable, but inefficent// //T1 Healing Projectiles// //The Basic Brute Heal Projectile// diff --git a/modular_skyrat/modules/moretraitoritems/code/game/objects/items/clothing/suits/mafioso.dm b/modular_skyrat/modules/moretraitoritems/code/game/objects/items/clothing/suits/mafioso.dm index 3af9d33f1b0..5a99e847f3a 100644 --- a/modular_skyrat/modules/moretraitoritems/code/game/objects/items/clothing/suits/mafioso.dm +++ b/modular_skyrat/modules/moretraitoritems/code/game/objects/items/clothing/suits/mafioso.dm @@ -1,17 +1,17 @@ /obj/item/clothing/suit/det_suit/noir/mafioso name = "mafioso trenchcoat" desc = "The guy wearing this means serious business..." - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 10, FIRE = 30, ACID = 30, WOUND = 20)//Slightly worse than the sec coat + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 30, ACID = 30, WOUND = 20)//Slightly worse than the sec coat /obj/item/clothing/under/suit/blacktwopiece/armoured - armor = list(MELEE = 10, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, RAD = 10, FIRE = 50, ACID = 40)//Same as tacticool + armor = list(MELEE = 10, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40)//Same as tacticool /obj/item/clothing/head/beret/sec/ocelot name = "ocelot beret" desc = "A red beret with the neo-russian insignia stamped on it. This bitch is wearing perfume." - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 25, BIO = 0, RAD = 0, FIRE = 20, ACID = 50, WOUND = 4) + armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 30, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50, WOUND = 4) /obj/item/clothing/suit/det_suit/noir/ocelot name = "ocelot trenchcoat" desc = "A black armoured trenchcoat worn by a certain gun spinning spy. Don't confuse me with those uniformed fools." - armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, RAD = 10, FIRE = 30, ACID = 30, WOUND = 20)//Slightly worse than the sec coat + armor = list(MELEE = 25, BULLET = 20, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 30, ACID = 30, WOUND = 20)//Slightly worse than the sec coat diff --git a/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm b/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm index d38351e0dec..c82b313532f 100644 --- a/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm +++ b/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm @@ -43,7 +43,7 @@ icon_state = "ntrep_cap" inhand_icon_state = "that" flags_inv = 0 - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5, WOUND = 4) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 30, ACID = 5, WOUND = 4) strip_delay = 60 dog_fashion = null mutant_variants = NONE @@ -57,12 +57,12 @@ icon_state = "beret_badge" /obj/item/clothing/head/beret/centcom_formal/ntrep - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5, WOUND = 4) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 30, ACID = 5, WOUND = 4) /obj/item/clothing/suit/toggle/armor/vest/centcom_formal/ntrep //icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' icon_state = "centcom_formal" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) /obj/item/clothing/suit/hooded/wintercoat/centcom/ntrep - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) diff --git a/modular_skyrat/modules/powerarmor/code/powerarmor.dm b/modular_skyrat/modules/powerarmor/code/powerarmor.dm index 9c85fbe3227..c1a6f809354 100644 --- a/modular_skyrat/modules/powerarmor/code/powerarmor.dm +++ b/modular_skyrat/modules/powerarmor/code/powerarmor.dm @@ -259,8 +259,8 @@ var/upgradeboosted = FALSE ///the cooldown for doing the process COOLDOWN_DECLARE(healing_cooldown) - ///the list of possible armor upgrades: melee, bullet, laser, energy, bio, rad, fire - var/list/armor_upgraded = list(0, 0, 0, 0, 0, 0, 0) + ///the list of possible armor upgrades: melee, bullet, laser, energy, bio, fire + var/list/armor_upgraded = list(0, 0, 0, 0, 0, 0) ///the list of possible healing upgrades: brute, burn, toxin, oxygen, stamina var/list/healing_upgraded = list(FALSE, FALSE, FALSE, FALSE, FALSE) ///the list of possible misc. upgrades: spaceproof, light, welding, temp-regulating, storage @@ -347,8 +347,7 @@ armor.laser = armor_upgraded[3] * 20 armor.energy = armor_upgraded[4] * 20 armor.bio = armor_upgraded[5] * 20 - armor.rad = armor_upgraded[6] * 20 - armor.fire = armor_upgraded[7] * 20 + armor.fire = armor_upgraded[6] * 20 clothing_flags = initial(clothing_flags) min_cold_protection_temperature = initial(min_cold_protection_temperature) max_heat_protection_temperature = initial(max_heat_protection_temperature) @@ -394,10 +393,8 @@ armor_upgraded[4]++ if("bio armor") armor_upgraded[5]++ - if("rad armor") - armor_upgraded[6]++ if("fire armor") - armor_upgraded[7]++ + armor_upgraded[6]++ if("brute healing") if(healing_upgraded[1]) return @@ -498,8 +495,7 @@ armor.laser = power_suit.armor_upgraded[3] * 20 armor.energy = power_suit.armor_upgraded[4] * 20 armor.bio = power_suit.armor_upgraded[5] * 20 - armor.rad = power_suit.armor_upgraded[6] * 20 - armor.fire = power_suit.armor_upgraded[7] * 20 + armor.fire = power_suit.armor_upgraded[6] * 20 clothing_flags = initial(clothing_flags) min_cold_protection_temperature = initial(min_cold_protection_temperature) max_heat_protection_temperature = initial(max_heat_protection_temperature) @@ -567,10 +563,6 @@ upgrade_type = "bio armor" upgrade_cost = 3 -/obj/item/powerarmor_upgrade/rad_armor - upgrade_type = "rad armor" - upgrade_cost = 3 - /obj/item/powerarmor_upgrade/fire_armor upgrade_type = "fire armor" upgrade_cost = 3 @@ -710,11 +702,6 @@ id = "paupgradebio" build_path = /obj/item/powerarmor_upgrade/bio_armor -/datum/design/powerarmor/upgrades/rad_armor - name = "Power Armor Upgrades (Rad Armor)" - id = "paupgraderad" - build_path = /obj/item/powerarmor_upgrade/rad_armor - /datum/design/powerarmor/upgrades/fire_armor name = "Power Armor Upgrades (Fire Armor)" id = "paupgradefire" @@ -795,7 +782,6 @@ "paupgradelaser", "paupgradeenergy", "paupgradebio", - "paupgraderad", "paupgradefire", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000) diff --git a/modular_skyrat/modules/reagent_forging/code/modules/reagent_forging/forge_clothing.dm b/modular_skyrat/modules/reagent_forging/code/modules/reagent_forging/forge_clothing.dm index 9207d11260a..cbc247487f6 100644 --- a/modular_skyrat/modules/reagent_forging/code/modules/reagent_forging/forge_clothing.dm +++ b/modular_skyrat/modules/reagent_forging/code/modules/reagent_forging/forge_clothing.dm @@ -6,7 +6,7 @@ icon_state = "chain_armor" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' resistance_flags = FIRE_PROOF - armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0, WOUND = 30) mutant_variants = NONE /obj/item/clothing/suit/armor/reagent_clothing/Initialize() @@ -22,7 +22,7 @@ icon_state = "chain_glove" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' resistance_flags = FIRE_PROOF - armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0, WOUND = 30) mutant_variants = NONE /obj/item/clothing/gloves/reagent_clothing/Initialize() @@ -37,7 +37,7 @@ icon_state = "chain_helmet" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' resistance_flags = FIRE_PROOF - armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 0, WOUND = 30) + armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0, WOUND = 30) /obj/item/clothing/head/helmet/reagent_clothing/Initialize() . = ..() @@ -50,7 +50,7 @@ icon = 'modular_skyrat/modules/reagent_forging/icons/obj/forge_clothing.dmi' icon_state = "chain_boot" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' - armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FIRE_PROOF can_be_tied = FALSE @@ -65,7 +65,7 @@ icon = 'modular_skyrat/modules/reagent_forging/icons/obj/forge_clothing.dmi' icon_state = "plate_boot" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' - armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FIRE_PROOF can_be_tied = FALSE @@ -80,7 +80,7 @@ icon = 'modular_skyrat/modules/reagent_forging/icons/obj/forge_clothing.dmi' icon_state = "horseshoe" worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' - armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 20, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) resistance_flags = FIRE_PROOF can_be_tied = FALSE diff --git a/modular_skyrat/modules/sec_haul/code/junior_officer/junior_officer_clothes.dm b/modular_skyrat/modules/sec_haul/code/junior_officer/junior_officer_clothes.dm index b43e2b2ca99..39c9c4ead07 100644 --- a/modular_skyrat/modules/sec_haul/code/junior_officer/junior_officer_clothes.dm +++ b/modular_skyrat/modules/sec_haul/code/junior_officer/junior_officer_clothes.dm @@ -25,6 +25,6 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS allowed = list(/obj/item/gun/ballistic/automatic/pistol/pepperball, /obj/item/melee/baton) - armor = list(MELEE = 15, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 50, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 50, FIRE = 50, ACID = 50) toggle_noun = "zipper" mutant_variants = NONE diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm index 02289e3115b..8a12f528eb2 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm @@ -324,7 +324,7 @@ icon_state = "hardsuit0-peacekeeper" inhand_icon_state = "sec_helm" hardsuit_type = "peacekeeper" - armor = list(MELEE = 35, BULLET = 15, LASER = 30,ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 20) + armor = list(MELEE = 35, BULLET = 15, LASER = 30,ENERGY = 40, BOMB = 10, BIO = 100, FIRE = 75, ACID = 75, WOUND = 20) /obj/item/clothing/suit/space/hardsuit/security_peacekeeper name = "Armadyne SS-01 Voidsuit" @@ -334,7 +334,7 @@ worn_icon_digi = 'modular_skyrat/master_files/icons/mob/clothing/suit_digi.dmi' icon_state = "hardsuit-peacekeeper" inhand_icon_state = "sec_hardsuit" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 20) + armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, FIRE = 75, ACID = 75, WOUND = 20) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security_peacekeeper hardsuit_tail_colors = list("#BBBBBB", "#444444", "#333377") diff --git a/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm b/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm index d0ebc7172b6..fe2e73e4bb6 100644 --- a/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm +++ b/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm @@ -4,7 +4,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' mutant_variants = NONE - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/firstaid) /obj/item/clothing/suit/hazardvest/security_medic @@ -16,7 +16,7 @@ worn_icon_state = "secmed_vest" mutant_variants = NONE allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/firstaid) - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, WOUND = 10) + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) /obj/item/clothing/suit/armor/vest/peacekeeper/security_medic name = "security medic's armor vest" diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm index 286bf675a31..8c533b75ef6 100644 --- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm +++ b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle.dm @@ -62,7 +62,7 @@ return /obj/effect/accelerated_particle/proc/toxmob(mob/living/M) - M.rad_act(energy*6) + M.adjustToxLoss(energy / 10) /obj/effect/accelerated_particle/proc/move() if(!step(src,dir)) diff --git a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm index 5103831d110..0085f004244 100644 --- a/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm +++ b/modular_skyrat/modules/singularity_engine/code/particle_accelerator/particle_accelerator.dm @@ -23,7 +23,7 @@ anchored = FALSE density = TRUE max_integrity = 500 - armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 80) + armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 90, "acid" = 80) var/obj/machinery/particle_accelerator/control_box/master = null var/construction_state = PA_CONSTRUCTION_UNSECURED diff --git a/modular_skyrat/modules/tribal_extended/code/weapons/sword.dm b/modular_skyrat/modules/tribal_extended/code/weapons/sword.dm index 933281b07b4..60b08218108 100644 --- a/modular_skyrat/modules/tribal_extended/code/weapons/sword.dm +++ b/modular_skyrat/modules/tribal_extended/code/weapons/sword.dm @@ -16,4 +16,4 @@ hitsound = 'sound/weapons/bladeslice.ogg' attack_verb_continuous = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 0 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 100, "acid" = 50) diff --git a/modular_skyrat/modules/wrestlingring/code/game/objects/structures/wrestlingring.dm b/modular_skyrat/modules/wrestlingring/code/game/objects/structures/wrestlingring.dm index f967bda3d75..d937b5617c4 100644 --- a/modular_skyrat/modules/wrestlingring/code/game/objects/structures/wrestlingring.dm +++ b/modular_skyrat/modules/wrestlingring/code/game/objects/structures/wrestlingring.dm @@ -62,7 +62,7 @@ icon_state = "turnbuckle" density = TRUE anchored = TRUE - armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, RAD = 100, FIRE = 0, ACID = 0) + armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, BIO = 100, FIRE = 0, ACID = 0) max_integrity = 75 var/ini_dir diff --git a/tgstation.dme b/tgstation.dme index f1e9f90ea89..251d625d88b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -509,7 +509,6 @@ #include "code\datums\position_point_vector.dm" #include "code\datums\profiling.dm" #include "code\datums\progressbar.dm" -#include "code\datums\radiation_wave.dm" #include "code\datums\recipe.dm" #include "code\datums\ruins.dm" #include "code\datums\saymode.dm" @@ -634,6 +633,8 @@ #include "code\datums\components\forensics.dm" #include "code\datums\components\fullauto.dm" #include "code\datums\components\gas_leaker.dm" +#include "code\datums\components\geiger_sound.dm" +#include "code\datums\components\genetic_damage.dm" #include "code\datums\components\gps.dm" #include "code\datums\components\grillable.dm" #include "code\datums\components\gunpoint.dm" @@ -641,6 +642,7 @@ #include "code\datums\components\holderloving.dm" #include "code\datums\components\igniter.dm" #include "code\datums\components\infective.dm" +#include "code\datums\components\irradiated.dm" #include "code\datums\components\itempicky.dm" #include "code\datums\components\jousting.dm" #include "code\datums\components\knockoff.dm" @@ -661,7 +663,7 @@ #include "code\datums\components\pellet_cloud.dm" #include "code\datums\components\pricetag.dm" #include "code\datums\components\punchcooldown.dm" -#include "code\datums\components\radioactive.dm" +#include "code\datums\components\radiation_countdown.dm" #include "code\datums\components\religious_tool.dm" #include "code\datums\components\remote_materials.dm" #include "code\datums\components\rename.dm" @@ -855,7 +857,8 @@ #include "code\datums\elements\plant_backfire.dm" #include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\prevent_attacking_of_types.dm" -#include "code\datums\elements\rad_insulation.dm" +#include "code\datums\elements\radiation_protected_clothing.dm" +#include "code\datums\elements\radioactive.dm" #include "code\datums\elements\ranged_attacks.dm" #include "code\datums\elements\ridable.dm" #include "code\datums\elements\rust.dm" @@ -3328,13 +3331,13 @@ #include "code\modules\power\lighting\light_mapping_helpers.dm" #include "code\modules\power\lighting\light_wallframes.dm" #include "code\modules\power\singularity\boh_tear.dm" -#include "code\modules\power\singularity\collector.dm" #include "code\modules\power\singularity\containment_field.dm" #include "code\modules\power\singularity\emitter.dm" #include "code\modules\power\singularity\field_generator.dm" #include "code\modules\power\singularity\narsie.dm" #include "code\modules\power\singularity\singularity.dm" #include "code\modules\power\supermatter\supermatter.dm" +#include "code\modules\power\supermatter\supermatter_radiation.dm" #include "code\modules\power\tesla\coil.dm" #include "code\modules\power\tesla\energy_ball.dm" #include "code\modules\procedural_mapping\mapGenerator.dm" diff --git a/tgui/packages/tgui/interfaces/DnaConsole/DnaConsoleEnzymes.js b/tgui/packages/tgui/interfaces/DnaConsole/DnaConsoleEnzymes.js index fa4eb9fc15d..61a5fabf82e 100644 --- a/tgui/packages/tgui/interfaces/DnaConsole/DnaConsoleEnzymes.js +++ b/tgui/packages/tgui/interfaces/DnaConsole/DnaConsoleEnzymes.js @@ -1,7 +1,7 @@ import { useBackend } from '../../backend'; import { Box, Button, Collapsible, Dimmer, Divider, Icon, LabeledList, NumberInput, Section, Stack } from '../../components'; import { GeneticMakeupInfo } from './GeneticMakeupInfo'; -import { RADIATION_DURATION_MAX, RADIATION_STRENGTH_MAX } from './constants'; +import { PULSE_DURATION_MAX, PULSE_STRENGTH_MAX } from './constants'; const GeneticMakeupBufferInfo = (props, context) => { const { index, makeup } = props; @@ -193,7 +193,7 @@ const GeneticMakeupBuffers = (props, context) => { ); }; -const RadiationEmitterProbs = (props, context) => { +const PulseEmitterProbs = (props, context) => { const { data } = useBackend(context); const { stdDevAcc, @@ -224,7 +224,7 @@ const RadiationEmitterProbs = (props, context) => { ); }; -const RadiationEmitterPulseBoard = (props, context) => { +const PulseBoard = (props, context) => { const { act } = useBackend(context); const { subjectBlock = [], @@ -273,15 +273,15 @@ const RadiationEmitterPulseBoard = (props, context) => { ); }; -const RadiationEmitterSettings = (props, context) => { +const PulseSettings = (props, context) => { const { data, act } = useBackend(context); const { - radStrength, - radDuration, + pulseStrength, + pulseDuration, } = data; return (

    @@ -289,9 +289,9 @@ const RadiationEmitterSettings = (props, context) => { animated width="32px" stepPixelSize={10} - value={radStrength} + value={pulseStrength} minValue={1} - maxValue={RADIATION_STRENGTH_MAX} + maxValue={PULSE_STRENGTH_MAX} onDrag={(e, value) => act('set_pulse_strength', { val: value, })} /> @@ -301,9 +301,9 @@ const RadiationEmitterSettings = (props, context) => { animated width="32px" stepPixelSize={10} - value={radDuration} + value={pulseDuration} minValue={1} - maxValue={RADIATION_DURATION_MAX} + maxValue={PULSE_DURATION_MAX} onDrag={(e, value) => act('set_pulse_duration', { val: value, })} /> @@ -334,13 +334,13 @@ export const DnaConsoleEnzymes = (props, context) => { <> - + - + - diff --git a/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.js b/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.js index dcdca777f73..a85eca20c9c 100644 --- a/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.js +++ b/tgui/packages/tgui/interfaces/DnaConsole/DnaScanner.js @@ -6,7 +6,7 @@ const DnaScannerButtons = (props, context) => { const { data, act } = useBackend(context); const { hasDelayedAction, - isPulsingRads, + isPulsing, isScannerConnected, isScrambleReady, isViableSubject, @@ -30,7 +30,7 @@ const DnaScannerButtons = (props, context) => { )} {!!isViableSubject && (
    );