diff --git a/code/__DEFINES/math.dm b/code/__DEFINES/_math.dm similarity index 100% rename from code/__DEFINES/math.dm rename to code/__DEFINES/_math.dm diff --git a/code/__DEFINES/armour.dm b/code/__DEFINES/armour.dm new file mode 100644 index 000000000000..84837f38bbc1 --- /dev/null +++ b/code/__DEFINES/armour.dm @@ -0,0 +1,6 @@ +// Armour defines for the new armour system. + +#define ARMOUR_CONSTANT 50 +#define ARMOUR_EQUATION(damage, armour, modifier) (armour <= -ARMOUR_CONSTANT ? INFINITY : (damage / (1 + (armour / ARMOUR_CONSTANT))) * modifier) +#define ARMOUR_PERCENTAGE_TO_VALUE(percentage) (percentage >= 100 ? INFINITY : (5000 / (100 - percentage)) - 50) +#define ARMOUR_VALUE_TO_PERCENTAGE(value) (value == INFINITY ? 100 : round((100 - (100 / (1 + (value / ARMOUR_CONSTANT)))), 0.01)) diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm index f6cb410791f7..18b9fe58db74 100644 --- a/code/datums/weather/weather_types/radiation_storm.dm +++ b/code/datums/weather/weather_types/radiation_storm.dm @@ -33,7 +33,6 @@ /datum/weather/rad_storm/weather_act(mob/living/L) - var/resist = L.getarmor(null, RAD) if(!prob(60)) return @@ -41,10 +40,11 @@ return var/mob/living/carbon/human/H = L - if(HAS_TRAIT(H, TRAIT_RADIMMUNE)) + var/resist = H.getarmor(null, RAD) + if(HAS_TRAIT(H, TRAIT_RADIMMUNE) || resist == INFINITY) return - if(prob(max(0, 100 - resist)) && !HAS_TRAIT(H, TRAIT_GENELESS)) + if(prob(max(0, 100 - ARMOUR_VALUE_TO_PERCENTAGE(resist))) && !HAS_TRAIT(H, TRAIT_GENELESS)) randmuti(H) // Applies bad mutation if(prob(50)) if(prob(90)) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index b270227a8f9c..afb8ceed0d85 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -92,7 +92,7 @@ flags = BLOCKHAIR flags_inv = HIDEFACE flags_cover = HEADCOVERSEYES - armor = list(melee = 30, bullet = 10, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0, fire = 10, acid = 10) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 5, ACID = 5) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT magical = TRUE @@ -110,7 +110,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/culthood allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list(MELEE = 40, BULLET = 30, LASER = 40, ENERGY = 20, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 35, BULLET = 20, LASER = 35, ENERGY = 10, BOMB = 15, BIO = 5, RAD = 0, FIRE = 5, ACID = 5) flags_inv = HIDEJUMPSUIT magical = TRUE @@ -124,7 +124,7 @@ desc = "A space worthy helmet used by the followers of a cult." icon_state = "cult_helmet" item_state = "cult_helmet" - armor = list(MELEE = 70, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75) + armor = list(MELEE = 115, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 35, ACID = 150) magical = TRUE /obj/item/clothing/suit/space/cult @@ -135,7 +135,7 @@ w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals) slowdown = 1 - armor = list(MELEE = 70, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75) + armor = list(MELEE = 115, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 35, ACID = 150) magical = TRUE /obj/item/clothing/suit/hooded/cultrobes/cult_shield @@ -144,7 +144,7 @@ icon_state = "cult_armour" item_state = "cult_armour" w_class = WEIGHT_CLASS_BULKY - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 30, BOMB = 50, BIO = 30, RAD = 30, FIRE = 50, ACID = 60) + armor = list(MELEE = 50, BULLET = 35, LASER = 50, ENERGY = 20, BOMB = 50, BIO = 20, RAD = 20, FIRE = 50, ACID = 75) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/tome, /obj/item/melee/cultblade) hoodtype = /obj/item/clothing/head/hooded/cult_hoodie @@ -156,7 +156,7 @@ name = "empowered cultist hood" desc = "An empowered garb which creates a powerful shield around the user." icon_state = "cult_hoodalt" - armor = list(MELEE = 40, BULLET = 30, LASER = 40, ENERGY = 20, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10) + armor = list(MELEE = 35, BULLET = 20, LASER = 35, ENERGY = 10, BOMB = 15, BIO = 5, RAD = 0, FIRE = 5, ACID = 5) body_parts_covered = HEAD flags = BLOCKHAIR flags_inv = HIDEFACE @@ -200,7 +200,7 @@ flags_inv = HIDEJUMPSUIT allowed = list(/obj/item/tome, /obj/item/melee/cultblade) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - armor = list(MELEE = -50, BULLET = -50, LASER = -50, ENERGY = -50, BOMB = -50, BIO = -50, RAD = -50, FIRE = 0, ACID = 0) + armor = list(MELEE = -25, BULLET = -25, LASER = -25, ENERGY = -25, BOMB = -25, BIO = -25, RAD = -25, FIRE = 0, ACID = 0) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', @@ -233,7 +233,7 @@ flags = BLOCKHAIR flags_inv = HIDEFACE flags_cover = HEADCOVERSEYES - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = -25, BULLET = -25, LASER = -25, ENERGY = -25, BOMB = -25, BIO = -25, RAD = -25, FIRE = 0, ACID = 0) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', @@ -401,7 +401,7 @@ item_state = "cultrobesalt" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list(melee = 50, bullet = 30, laser = 50, energy = 20, bomb = 25, bio = 10, rad = 0, fire = 10, acid = 10) + armor = list(MELEE = 50, BULLET = 20, LASER = 50, ENERGY = 10, BOMB = 15, BIO = 5, RAD = 0, FIRE = 5, ACID = 5) flags_inv = HIDEJUMPSUIT flags = NODROP | DROPDEL @@ -565,7 +565,7 @@ force_wielded = 24 throwforce = 40 throw_speed = 2 - armour_penetration = 30 + armour_penetration_percentage = 50 block_chance = 30 attack_verb = list("attacked", "impaled", "stabbed", "torn", "gored") sharp = TRUE diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index adf79c09fa53..e368f6611753 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -9,7 +9,7 @@ w_class = WEIGHT_CLASS_SMALL force = 15 throwforce = 25 - armour_penetration = 35 + armour_penetration_flat = 35 sprite_sheets_inhand = null // Override parent var/drawing_rune = FALSE var/scribe_multiplier = 1 // Lower is faster diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index ade2681afba5..bae43ab44280 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -14,15 +14,15 @@ item_state = "armor" blood_overlay_type = "armor" origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4" - armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, RAD = 15, FIRE = 70, ACID = 70) + armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = 115, ACID = 115) actions_types = list(/datum/action/item_action/hands_free/activate) allowed = list(/obj/item/abductor, /obj/item/abductor_baton, /obj/item/melee/baton, /obj/item/gun/energy, /obj/item/restraints/handcuffs) var/mode = VEST_STEALTH var/stealth_active = 0 var/combat_cooldown = 10 var/datum/icon_snapshot/disguise - var/stealth_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, RAD = 15, 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 = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = 115, ACID = 115) + var/combat_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, RAD = 50, FIRE = 450, ACID = 450) sprite_sheets = null /obj/item/clothing/suit/armor/abductor/vest/Initialize(mapload) diff --git a/code/game/gamemodes/miniantags/guardian/types/assassin.dm b/code/game/gamemodes/miniantags/guardian/types/assassin.dm index a12fce36e82e..093ebbf5b57b 100644 --- a/code/game/gamemodes/miniantags/guardian/types/assassin.dm +++ b/code/game/gamemodes/miniantags/guardian/types/assassin.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/hostile/guardian/assassin melee_damage_lower = 15 melee_damage_upper = 15 - armour_penetration = 0 + armour_penetration_percentage = 0 playstyle_string = "As an Assassin type you do medium damage and have no damage resistance, but can enter stealth, massively increasing the damage of your next attack and causing it to ignore armor. Stealth is broken when you attack or take damage." magic_fluff_string = "..And draw the Space Ninja, a lethal, invisible assassin." tech_fluff_string = "Boot sequence complete. Assassin modules loaded. Holoparasite swarm online." @@ -44,7 +44,7 @@ if(toggle) melee_damage_lower = initial(melee_damage_lower) melee_damage_upper = initial(melee_damage_upper) - armour_penetration = initial(armour_penetration) + armour_penetration_percentage = initial(armour_penetration_percentage) obj_damage = initial(obj_damage) environment_smash = initial(environment_smash) alpha = initial(alpha) @@ -62,7 +62,7 @@ return melee_damage_lower = 50 melee_damage_upper = 50 - armour_penetration = 100 + armour_penetration_percentage = 100 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm index ecb6a5290799..141965ba3c12 100644 --- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm +++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm @@ -3,7 +3,7 @@ icon_state = "guardian" damage = 20 damage_type = BRUTE - armour_penetration = 100 + armour_penetration_percentage = 100 /mob/living/simple_animal/hostile/guardian/ranged friendly = "quietly assesses" diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 90f12c379466..3cec8d3bd609 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -461,7 +461,7 @@ throw_range = 5 throwforce = 0 w_class = WEIGHT_CLASS_SMALL - armour_penetration = 50 + armour_penetration_percentage = 50 block_chance = 50 var/active = FALSE diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d0b27207dacf..2a545ebcb3c9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -66,7 +66,10 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/permeability_coefficient = 1 // for chemicals/diseases var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up - var/armour_penetration = 0 //percentage of armour effectiveness to remove + /// Flat armour reduction, occurs after percentage armour penetration. + var/armour_penetration_flat = 0 + /// Percentage armour reduction, happens before flat armour reduction. + var/armour_penetration_percentage = 0 var/list/allowed = null //suit storage stuff. var/obj/item/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. diff --git a/code/game/objects/items/weapons/batons.dm b/code/game/objects/items/weapons/batons.dm index 7f3587cc053e..692e0b7d63e9 100644 --- a/code/game/objects/items/weapons/batons.dm +++ b/code/game/objects/items/weapons/batons.dm @@ -112,9 +112,13 @@ * * user - The attacking user */ /obj/item/melee/classic_baton/proc/on_non_silicon_stun(mob/living/target, mob/living/user) - var/armour = target.run_armor_check("chest", armour_penetration = stamina_armour_pen) // returns a % of their chest melee armour - var/factor = (100 - armour) / 100 // converts the % into a decimal - target.adjustStaminaLoss(stamina_damage * factor) + var/armour = target.run_armor_check("chest", armour_penetration_percentage = stamina_armour_pen) // returns their chest melee armour + var/percentage_reduction = 0 + if(ishuman(target)) + percentage_reduction = (100 - ARMOUR_VALUE_TO_PERCENTAGE(armour)) / 100 + else + percentage_reduction = (100 - armour) / 100 // converts the % into a decimal + target.adjustStaminaLoss(stamina_damage * percentage_reduction) /** * # Fancy Cane diff --git a/code/game/objects/items/weapons/grenades/frag.dm b/code/game/objects/items/weapons/grenades/frag.dm index 8dc1ba20d5bd..f264619c3352 100644 --- a/code/game/objects/items/weapons/grenades/frag.dm +++ b/code/game/objects/items/weapons/grenades/frag.dm @@ -26,7 +26,7 @@ /obj/item/grenade/frag/proc/embed_shrapnel(mob/living/carbon/human/H, amount) for(var/i = 0, i < amount, i++) - if(prob(embed_prob - H.getarmor(null, BOMB))) + if(prob(embed_prob - ARMOUR_VALUE_TO_PERCENTAGE(H.getarmor(null, BOMB)))) var/obj/item/embedded/S = new embedded_type(src) H.hitby(S, skipcatch = 1) S.throwforce = 1 diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index e68ee892fef1..ee08c52f99f7 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -229,7 +229,7 @@ item_state = "scythe0" desc = "Ask not for whom the bell tolls..." w_class = WEIGHT_CLASS_BULKY - armour_penetration = 35 + armour_penetration_flat = 30 slot_flags = SLOT_BACK sharp = TRUE attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index b7bf841d5a2e..202ae6c51a5b 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -99,7 +99,7 @@ w_class_on = WEIGHT_CLASS_HUGE hitsound = 'sound/weapons/bladeslice.ogg' flags = CONDUCT - armour_penetration = 100 + armour_penetration_percentage = 100 origin_tech = "combat=4;magnets=3" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") attack_verb_on = list() @@ -121,7 +121,8 @@ hitsound = "swing_hit" embed_chance = 75 embedded_impact_pain_multiplier = 10 - armour_penetration = 35 + armour_penetration_percentage = 50 + armour_penetration_flat = 10 origin_tech = "combat=3;magnets=4;syndicate=4" block_chance = 50 sharp = TRUE diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index e3778a18a19d..6f2d457b6cc8 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -37,7 +37,7 @@ throwforce = 10 w_class = WEIGHT_CLASS_BULKY block_chance = 50 - armour_penetration = 75 + armour_penetration_percentage = 75 sharp = TRUE origin_tech = "combat=5" attack_verb = list("lunged at", "stabbed") @@ -116,7 +116,7 @@ hitsound = 'sound/weapons/rapierhit.ogg' w_class = WEIGHT_CLASS_BULKY force = 25 - armour_penetration = 50 + armour_penetration_flat = 50 block_chance = 50 ///enchantment holder, gives it unique on hit effects. var/datum/enchantment/enchant = null diff --git a/code/game/objects/items/weapons/staff.dm b/code/game/objects/items/weapons/staff.dm index f040919c76ab..7bc970d2189a 100644 --- a/code/game/objects/items/weapons/staff.dm +++ b/code/game/objects/items/weapons/staff.dm @@ -8,7 +8,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - armour_penetration = 100 + armour_penetration_percentage = 100 attack_verb = list("bludgeoned", "whacked", "disciplined") resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 28cad82ffc64..3558b1f77537 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -226,7 +226,8 @@ /obj/item/twohanded/fireaxe/energized desc = "Someone with a love for fire axes decided to turn this one into a high-powered energy weapon. Seems excessive." force_wielded = 35 - armour_penetration = 20 + armour_penetration_flat = 10 + armour_penetration_percentage = 30 var/charge = 20 var/max_charge = 20 @@ -279,7 +280,8 @@ force_wielded = 34 wieldsound = 'sound/weapons/saberon.ogg' unwieldsound = 'sound/weapons/saberoff.ogg' - armour_penetration = 35 + armour_penetration_percentage = 50 + armour_penetration_flat = 10 origin_tech = "magnets=4;syndicate=5" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 75 @@ -392,7 +394,7 @@ force_wielded = 18 throwforce = 20 throw_speed = 4 - armour_penetration = 10 + armour_penetration_flat = 5 materials = list(MAT_METAL = 1150, MAT_GLASS = 2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") @@ -443,7 +445,7 @@ force_unwielded = 11 force_wielded = 20 //I have no idea how to balance throwforce = 22 - armour_penetration = 15 //Enhanced armor piercing + armour_penetration_percentage = 15 //Enhanced armor piercing icon_prefix = "bone_spear" //GREY TIDE @@ -576,7 +578,7 @@ /obj/item/twohanded/required/chainsaw/doomslayer name = "OOOH BABY" desc = "VRRRRRRR!!!" - armour_penetration = 100 + armour_penetration_percentage = 100 force_on = 30 /obj/item/twohanded/required/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) @@ -602,7 +604,8 @@ hitsound = null // Handled in the snowflaked attack proc wieldsound = 'sound/weapons/chainsawstart.ogg' hitsound = null - armour_penetration = 35 + armour_penetration_percentage = 50 + armour_penetration_flat = 10 origin_tech = "materials=6;syndicate=4" attack_verb = list("sawed", "cut", "hacked", "carved", "cleaved", "butchered", "felled", "timbered") sharp = TRUE diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index a18ba5038d3b..5be32e5b0487 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -1,5 +1,5 @@ //the essential proc to call when an obj must receive damage of any kind. -/obj/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0) +/obj/proc/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0) if(QDELETED(src)) stack_trace("[src] taking damage after deletion") return @@ -7,7 +7,7 @@ play_attack_sound(damage_amount, damage_type, damage_flag) if((resistance_flags & INDESTRUCTIBLE) || obj_integrity <= 0) return - damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration) + damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir, armour_penetration_flat, armour_penetration_percentage) if(damage_amount < DAMAGE_PRECISION) return . = damage_amount @@ -20,7 +20,7 @@ obj_destruction(damage_flag) ///returns the damage value of the attack after processing the obj's various armor protections -/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) +/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration_flat = 0, armour_penetration_percentage = 0) if(damage_flag == MELEE && damage_amount < damage_deflection) return 0 switch(damage_type) @@ -32,7 +32,7 @@ if(damage_flag) armor_protection = armor.getRating(damage_flag) if(armor_protection) //Only apply weak-against-armor/hollowpoint effects if there actually IS armor. - armor_protection = clamp(armor_protection - armour_penetration, min(armor_protection, 0), 100) + armor_protection = clamp((armor_protection * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat, min(armor_protection, 0), 100) return round(damage_amount * (100 - armor_protection)*0.01, DAMAGE_PRECISION) ///the sound played when the obj is damaged. @@ -68,7 +68,7 @@ playsound(src, P.hitsound, 50, TRUE) visible_message("[src] is hit by \a [P]!") if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object - take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration) + take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armour_penetration_flat, P.armour_penetration_percentage) ///Called to get the damage that hulks will deal to the obj. /obj/proc/hulk_damage() @@ -94,10 +94,10 @@ return take_damage(400, BRUTE, MELEE, 0, get_dir(src, B)) -/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) //used by attack_alien, attack_animal, and attack_slime +/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armour_penetration_flat = 0, armour_penetration_percentage = 0) //used by attack_alien, attack_animal, and attack_slime user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) - return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration) + return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armour_penetration_flat, armour_penetration_percentage) /obj/attack_alien(mob/living/carbon/alien/humanoid/user) if(attack_generic(user, 60, BRUTE, MELEE, 0)) @@ -112,9 +112,9 @@ if(M.environment_smash) play_soundeffect = 0 if(M.obj_damage) - . = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration) + . = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration_flat, M.armour_penetration_percentage) else - . = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration) + . = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration_flat, M.armour_penetration_percentage) if(. && !play_soundeffect) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) diff --git a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm index da15d2e573ce..5e7440460630 100644 --- a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm @@ -31,7 +31,7 @@ flags = ABSTRACT | NODROP | DROPDEL force = 10 force_wielded = 10 - armour_penetration = 20 + armour_penetration_flat = 20 block_chance = 50 sharp = TRUE attack_effect_override = ATTACK_EFFECT_CLAW diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm index 6ed5927165d2..8ef738a49c44 100644 --- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm +++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm @@ -157,7 +157,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" item_state = "anc_helm" - armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 75) + armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = 75) item_color = "ancient" resistance_flags = FIRE_PROOF sprite_sheets = null @@ -167,7 +167,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" item_state = "anc_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 75) + armor = list(MELEE = 30, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = 75) slowdown = 3 resistance_flags = FIRE_PROOF sprite_sheets = null diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 381a993ac5c6..6e6fb50c0646 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -199,7 +199,7 @@ sensor_mode = SENSOR_OFF //Hey who's this guy on the Syndicate Shuttle?? random_sensor = FALSE 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 = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action @@ -230,7 +230,7 @@ item_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) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' @@ -265,7 +265,7 @@ item_state = "meson" resistance_flags = NONE prescription_upgradable = TRUE - armor = list(MELEE = 10, BULLET = 10, LASER = 10, 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, RAD = 0, FIRE = 50, ACID = 50) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', @@ -334,7 +334,7 @@ item_state = "ygloves" 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 = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action @@ -450,7 +450,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 = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) var/datum/action/item_action/chameleon/change/chameleon_action diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index da9e05fddd6f..cafc0f15d97c 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -629,7 +629,7 @@ BLIND // can't see anything flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH item_state = "s_helmet" 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 = INFINITY, RAD = 50, FIRE = 200, ACID = 115) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT @@ -655,7 +655,7 @@ BLIND // can't see anything body_parts_covered = UPPER_TORSO|LOWER_TORSO|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 = INFINITY, RAD = 50, FIRE = 200, ACID = 115) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 799e8ab53152..367db4766b8c 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -123,7 +123,7 @@ prescription_upgradable = TRUE scan_reagents = 1 //You can see reagents while wearing science goggles resistance_flags = ACID_PROOF - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 200, ACID = INFINITY) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index b80d346bf308..d3ffb9ed1d75 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -242,7 +242,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, RAD = 0, FIRE = 115, ACID = 50) /obj/item/clothing/gloves/furgloves desc = "These gloves are warm and furry." diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 0dd5c01c5e0c..3eb447f32f48 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -37,7 +37,7 @@ 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, RAD = 0, FIRE = 200, ACID = 50) /obj/item/clothing/gloves/bracer name = "bone bracers" @@ -52,7 +52,7 @@ 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 = 10, BULLET = 15, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/gloves/botanic_leather name = "botanist's leather gloves" @@ -65,7 +65,7 @@ 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 = 70, ACID = 30) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 115, ACID = 20) /obj/item/clothing/gloves/batmangloves name = "batgloves" diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm index 3d9ae8b113c0..6806ca70acb8 100644 --- a/code/modules/clothing/head/beanie.dm +++ b/code/modules/clothing/head/beanie.dm @@ -85,7 +85,7 @@ desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beaniedurathread" item_color = null - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 5, BIO = 0, RAD = 0, FIRE = 20, ACID = 5) /obj/item/clothing/head/beanie/waldo name = "red striped bobble hat" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 5e50da79b761..2409ba56752c 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -7,7 +7,7 @@ var/brightness_on = 4 //luminosity when on var/on = FALSE item_color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite) - armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 5, RAD = 10, FIRE = INFINITY, ACID = 50) flags_inv = 0 actions_types = list(/datum/action/item_action/toggle_helmet_light) resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 6facbd827be4..ee2314beb3d4 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,7 +6,7 @@ flags = HEADBANGPROTECT flags_cover = HEADCOVERSEYES item_state = "helmetmaterials" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT @@ -73,7 +73,7 @@ desc = "A bulletproof helmet that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." icon_state = "swat" item_state = "swat-alt" - armor = list(MELEE = 15, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 40, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 10, BULLET = 75, LASER = 5, ENERGY = 5, BOMB = 45, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) dog_fashion = null /obj/item/clothing/head/helmet/riot @@ -81,7 +81,7 @@ desc = "It's a helmet specifically designed to protect against close range attacks." icon_state = "riot" item_state = "helmet" - 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 = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 200, ACID = 200) flags_inv = HIDEEARS flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH strip_delay = 80 @@ -121,7 +121,7 @@ desc = "They're often used by highly trained Swat Members." icon_state = "swat" item_state = "swat" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 50, BIO = 90, RAD = 20, FIRE = 50, ACID = 50) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, BIO = 450, RAD = 10, FIRE = 50, ACID = 50) flags = null flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD @@ -143,7 +143,7 @@ icon_state = "thunderdome" flags = null item_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 = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -155,7 +155,7 @@ name = "roman helmet" desc = "An ancient helmet made of bronze and leather." flags = null - armor = list(MELEE = 25, BULLET = 0, LASER = 25, ENERGY = 10, BOMB = 10, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 15, BULLET = 0, LASER = 15, ENERGY = 5, BOMB = 5, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = 50) resistance_flags = FIRE_PROOF icon_state = "roman" item_state = "roman" @@ -164,7 +164,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, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/head/helmet/roman/legionaire name = "roman legionaire helmet" @@ -174,7 +174,7 @@ /obj/item/clothing/head/helmet/roman/legionaire/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, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/head/helmet/gladiator name = "gladiator helmet" @@ -197,7 +197,7 @@ icon_state = "redtaghelm" flags = null item_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 = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. flags_inv = HIDEEARS|HIDEEYES dog_fashion = null @@ -208,7 +208,7 @@ icon_state = "bluetaghelm" flags = null item_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 = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) // Offer about the same protection as a hardhat. flags_inv = HIDEEARS|HIDEEYES dog_fashion = null @@ -242,14 +242,14 @@ desc = "Deus Vult." icon_state = "knight_templar" item_state = "knight_templar" - armor = list(melee = 20, bullet = 7, laser = 2, energy = 2, bomb = 2, bio = 2, rad = 0, fire = 80, acid = 80) + armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = 5, RAD = 0, FIRE = 200, ACID = 200) /obj/item/clothing/head/helmet/skull name = "skull helmet" desc = "An intimidating tribal helmet, it doesn't look very comfortable." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE flags_cover = HEADCOVERSEYES - armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) icon_state = "skull" item_state = "skull" strip_delay = 100 @@ -260,7 +260,7 @@ icon_state = "durathread" item_state = "durathread" resistance_flags = FLAMMABLE - armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 40, ACID = 50) + armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 35, ACID = 50) strip_delay = 60 //Commander diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 79adc34c2498..20116f51ef9b 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -20,7 +20,7 @@ icon_state = "captain" desc = "It's good being the king." item_state = "caphat" - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/captain @@ -36,7 +36,7 @@ name = "head of personnel's cap" icon_state = "hopcap" desc = "The symbol of true bureaucratic micromanagement." - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) dog_fashion = /datum/dog_fashion/head/hop //Nanotrasen Representative @@ -82,7 +82,7 @@ desc = "Someone who wears this will look very smart." icon_state = "detective" allowed = list(/obj/item/reagent_containers/food/snacks/candy/candy_corn, /obj/item/pen) - armor = list(MELEE = 25, BULLET = 5, LASER = 25, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 50) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) dog_fashion = /datum/dog_fashion/head/detective sprite_sheets = list( @@ -105,14 +105,14 @@ desc = "A beret made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beretdurathread" item_color = null - armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 30, ACID = 5) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 5, BIO = 0, RAD = 0, FIRE = 20, ACID = 5) //Security /obj/item/clothing/head/HoS name = "head of security's 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 = 30, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 5, RAD = 0, FIRE = 50, ACID = 75) strip_delay = 80 dog_fashion = /datum/dog_fashion/head/HoS @@ -130,7 +130,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 = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 60) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 20, ACID = 75) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/warden @@ -139,7 +139,7 @@ desc = "A red cap with an old-fashioned badge on the front for establishing that you are, in fact, the law." icon_state = "customshelm" item_state = "customshelm" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 /obj/item/clothing/head/drillsgt @@ -147,14 +147,14 @@ desc = "A wide-brimmed hat inspired by drill instructors, or when paired with red Security clothing, the Canadian Mounties of Terra." icon_state = "drillsgthat" item_state = "drillsgthat" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 /obj/item/clothing/head/beret/sec name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." icon_state = "beret_officer" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/beret/sec @@ -162,7 +162,7 @@ name = "warden's beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." icon_state = "beret_warden" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 50) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) /obj/item/clothing/head/beret/eng name = "engineering beret" @@ -230,13 +230,13 @@ icon_state = "solgovcberet" item_color = "solgovc" dog_fashion = null - armor = list(MELEE = 20, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60) + armor = list(MELEE = 10, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 5, RAD = 0, FIRE = 50, ACID = 75) strip_delay = 80 /obj/item/clothing/head/beret/solgov/command/elite name = "\improper Trans-Solar Federation Specops Lieutenant's beret" desc = "A beret worn by marines of the Trans-Solar Federation Specops division. The insignia signifies the wearer bears the rank of a Lieutenant." - armor = list(MELEE = 35, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 50, FIRE = 80, ACID = 80) + armor = list(MELEE = 25, BULLET = 75, LASER = 5, ENERGY = 5, BOMB = 15, BIO = 5, RAD = 50, FIRE = 200, ACID = 200) icon_state = "solgovceliteberet" item_color = "solgovcelite" resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 9c5e1d57366c..e2c0ad36fb77 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -5,7 +5,7 @@ icon_state = "centcom" desc = "It's good to be emperor." item_state = "centhat" - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 80 /obj/item/clothing/head/hairflower @@ -377,15 +377,13 @@ name = "officer beret" desc = "A black beret adorned with the shield—a silver kite shield with an engraved sword—of the Nanotrasen security forces, announcing to the world that the wearer is a defender of Nanotrasen." icon_state = "beret_centcom_officer" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 /obj/item/clothing/head/beret/centcom/officer/navy name = "navy blue officer beret" desc = "A navy blue beret adorned with the shield—a silver kite shield with an engraved sword—of the Nanotrasen security forces, announcing to the world that the wearer is a defender of Nanotrasen." icon_state = "beret_centcom_officer_navy" - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) - strip_delay = 60 /obj/item/clothing/head/beret/centcom/captain name = "captain's beret" @@ -499,7 +497,7 @@ name = "crown" desc = "A crown fit for a king, a petty king maybe." icon_state = "crown" - armor = list(MELEE = 15, BULLET = 0, LASER = 0, ENERGY = 15, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50) + armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = 50) resistance_flags = FIRE_PROOF /obj/item/clothing/head/crown/fancy diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 5c09f1b55849..7f77f47f4024 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -22,7 +22,7 @@ flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER can_toggle = TRUE - 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, RAD = 0, FIRE = INFINITY, ACID = 75) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) actions_types = list(/datum/action/item_action/toggle) visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 58dae5715444..b445776d1fef 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -108,7 +108,7 @@ desc = "It's baseball hat in tasteful red colour." icon_state = "secsoft" item_color = "sec" - armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 50) + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 50) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/softcap @@ -126,7 +126,7 @@ dog_fashion = null /obj/item/clothing/head/soft/solgov/marines - armor = list(MELEE = 20, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60) + armor = list(MELEE = 10, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 5, RAD = 0, FIRE = 50, ACID = 75) icon_state = "solgovsoft_flipped" strip_delay = 60 flipped = TRUE @@ -134,7 +134,7 @@ /obj/item/clothing/head/soft/solgov/marines/elite name = "\improper Trans-Solar Federation Specops marine cap" desc = "A cap worn by marines of the Trans-Solar Federation Specops division. You aren't quite sure how they made this bulletproof, but you are glad it is!" - armor = list(MELEE = 35, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 50, FIRE = 80, ACID = 80) + armor = list(MELEE = 25, BULLET = 75, LASER = 5, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 50, FIRE = 200, ACID = 200) icon_state = "solgovelitesoft_flipped" item_color = "solgovelite" resistance_flags = FIRE_PROOF @@ -142,7 +142,6 @@ /obj/item/clothing/head/soft/solgov/marines/command name = "\improper Trans-Solar Federation lieutenant's cap" desc = "A soft cap worn by marines of the Trans-Solar Federation. The insignia signifies the wearer bears the rank of a Lieutenant." - armor = list(MELEE = 20, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60) icon_state = "solgovcsoft_flipped" item_color = "solgovc" dog_fashion = null @@ -151,7 +150,7 @@ /obj/item/clothing/head/soft/solgov/marines/command/elite name = "\improper Trans-Solar Federation Specops Lieutenant's cap" desc = "A cap worn by marines of the Trans-Solar Federation Specops division. You aren't quite sure how they made this bulletproof, but you are glad it is! The insignia signifies the wearer bears the rank of a Lieutenant." - armor= list(MELEE = 35, BULLET = 60, LASER = 10, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 50, FIRE = 80, ACID = 80) + armor= list(MELEE = 25, BULLET = 75, LASER = 5, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 50, FIRE = 200, ACID = 200) icon_state = "solgovcelitesoft" item_color = "solgovcelite" resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index f0163d8753be..8d145ea9380d 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -30,7 +30,7 @@ materials = list(MAT_METAL=4000, MAT_GLASS=2000) flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 55) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = 60) origin_tech = "materials=2;engineering=3" actions_types = list(/datum/action/item_action/toggle) flags_inv = HIDEEARS|HIDEEYES|HIDEFACE @@ -47,7 +47,7 @@ desc = "A military-grade gas mask that can be connected to an air supply." icon_state = "gas_mining" actions_types = list(/datum/action/item_action/adjust) - armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 50, RAD = 0, FIRE = 20, ACID = 40) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 50, RAD = 0, FIRE = 10, ACID = 35) resistance_flags = FIRE_PROOF can_toggle = TRUE @@ -94,7 +94,7 @@ desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply." icon_state = "plaguedoctor" item_state = "gas_mask" - armor = list(MELEE = 0, BULLET = 0, LASER = 2, ENERGY = 2, BOMB = 0, BIO = 75, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 150, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/mask/gas/swat name = "\improper SWAT mask" diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 3b7823de94fb..774ce6961350 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -206,7 +206,7 @@ flags_cover = MASKCOVERSMOUTH gas_transfer_coefficient = 0.90 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 = 15, RAD = 0, FIRE = 0, ACID = 0) actions_types = list(/datum/action/item_action/adjust) can_toggle = TRUE diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index e9e66f49abce..a898b9d893e9 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -10,7 +10,7 @@ can_cut_open = 1 icon_state = "jackboots" item_state = "jackboots" - armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 10, RAD = 0, FIRE = 70, ACID = 50) + armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 50, BIO = 5, RAD = 0, FIRE = 115, ACID = 50) strip_delay = 70 resistance_flags = NONE @@ -18,7 +18,7 @@ name = "\improper SWAT shoes" desc = "High speed, no drag combat boots." permeability_coefficient = 0.01 - armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 25, BOMB = 50, BIO = 30, RAD = 30, FIRE = 90, ACID = 50) + armor = list(MELEE = 35, BULLET = 20, LASER = 15, ENERGY = 15, BOMB = 50, BIO = 20, RAD = 20, FIRE = 450, ACID = 50) flags = NOSLIP /obj/item/clothing/shoes/sandal @@ -50,7 +50,7 @@ strip_delay = 50 put_on_delay = 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, RAD = 0, FIRE = 35, ACID = 150) /obj/item/clothing/shoes/galoshes/dry name = "absorbent galoshes" @@ -336,7 +336,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, RAD = 0, FIRE = 35, ACID = 0) //lizards like to stay warm /obj/item/clothing/shoes/cowboy/lizardmasterwork name = "\improper Hugs-The-Feet lizard skin boots" diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index 9297fa2d12c6..39f9d7f8ce15 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -76,7 +76,7 @@ /obj/item/clothing/suit/space/vox 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 = 40, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) + armor = list(MELEE = 35, BULLET = 35, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT icon = 'icons/obj/clothing/species/vox/suits.dmi' @@ -87,7 +87,7 @@ ) /obj/item/clothing/head/helmet/space/vox - armor = list(melee = 40, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 30, rad = 30, fire = 80, acid = 85) + armor = list(MELEE = 35, BULLET = 35, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) flags = STOPSPRESSUREDMAGE flags_cover = HEADCOVERSEYES icon = 'icons/obj/clothing/species/vox/hats.dmi' diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index 21d5f6844546..7dc36d7ec27f 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -4,7 +4,7 @@ icon_state = "chronohelmet" item_state = "chronohelmet" slowdown = 1 - armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, RAD = 90, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 30, BIO = 90, RAD = 90, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/clothing/suit/space/chronos/suit = null @@ -24,7 +24,7 @@ icon_state = "chronosuit" item_state = "chronosuit" actions_types = list(/datum/action/item_action/toggle) - armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, RAD = 90, FIRE = 100, ACID = 1000) + armor = list(MELEE = 75, BULLET = 75, LASER = 75, ENERGY = 75, BOMB = 30, BIO = 90, RAD = 90, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF var/obj/item/clothing/head/helmet/space/chronos/helmet = null var/obj/effect/chronos_cam/camera = null diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm index b5aec5bc9319..9caa9b830bfc 100644 --- a/code/modules/clothing/spacesuits/ert.dm +++ b/code/modules/clothing/spacesuits/ert.dm @@ -5,7 +5,7 @@ icon_state = "hardsuit0-ert_commander" item_state = "helm-command" item_color = "ert_commander" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = 200, ACID = 200) resistance_flags = FIRE_PROOF var/obj/machinery/camera/portable/camera var/has_camera = TRUE @@ -55,7 +55,7 @@ item_state = "suit-command" 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 = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = 200, ACID = 200) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \ /obj/item/screwdriver, /obj/item/weldingtool, /obj/item/wirecutters, /obj/item/wrench, /obj/item/multitool, \ /obj/item/radio, /obj/item/analyzer, /obj/item/gun, /obj/item/melee/baton, /obj/item/reagent_containers/spray/pepper, \ @@ -131,7 +131,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer name = "emergency response team engineer helmet" desc = "A helmet worn by engineers of a Nanotrasen Emergency Response Team. Has yellow highlights. Armoured and space ready." - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 75, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 150, FIRE = 200, ACID = 200) icon_state = "hardsuit0-ert_engineer" item_state = "helm-orange" item_color = "ert_engineer" @@ -139,7 +139,7 @@ /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma name = "elite emergency response team engineer helmet" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) icon_state = "hardsuit0-gammaengineer" item_color = "gammaengineer" @@ -148,14 +148,14 @@ desc = "A suit worn by the engineers of a Nanotrasen Emergency Response Team. Has yellow highlights. Armoured, space ready, and fire resistant." icon_state = "ert_engineer" item_state = "suit-orange" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 75, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 150, FIRE = 200, ACID = 200) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer /obj/item/clothing/suit/space/hardsuit/ert/engineer/gamma name = "elite emergency response team engineer suit" max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT icon_state = "ert_gengineer" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 100, FIRE = 80, ACID = 80) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer/gamma slowdown = 0 @@ -252,13 +252,13 @@ name = "inquisitor's helmet" icon_state = "hardsuit0-inquisitor" item_color = "inquisitor" - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(MELEE = 95, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor name = "inquisitor's hardsuit" icon_state = "hardsuit-inquisitor" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/inquisitor - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(MELEE = 95, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) slowdown = 0 /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/berserker @@ -266,14 +266,14 @@ desc = "Peering into the eyes of the helmet is enough to seal damnation." icon_state = "hardsuit0-berserker" item_color = "berserker" - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(MELEE = 95, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) /obj/item/clothing/suit/space/hardsuit/ert/paranormal/berserker name = "champion's hardsuit" desc = "Voices echo from the hardsuit, driving the user insane." icon_state = "hardsuit-berserker" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal/berserker - armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100, fire = 80, acid = 80) + armor = list(MELEE = 95, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = 200, ACID = 200) slowdown = 0 // Solgov @@ -285,7 +285,7 @@ icon_state = "hardsuit0-solgovmarine" item_state = "hardsuit0-solgovmarine" item_color = "solgovmarine" - armor = list(MELEE = 35, BULLET = 60, LASER = 15, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 25, BULLET = 75, LASER = 10, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) /obj/item/clothing/suit/space/hardsuit/ert/solgov name = "\improper Trans-Solar Federation Specops Marine hardsuit" @@ -295,7 +295,7 @@ item_state = "ert_solgov_marine" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov slowdown = 0 - armor = list(MELEE = 35, BULLET = 60, LASER = 15, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 25, BULLET = 75, LASER = 10, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) /obj/item/clothing/head/helmet/space/hardsuit/ert/solgov/command name = "\improper Trans-Solar Federation Specops Lieutenant helmet" diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 90be8634b67d..e2013effa2d9 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -5,7 +5,7 @@ icon_state = "hardsuit0-engineering" item_state = "eng_helm" max_integrity = 300 - armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 50, ACID = 75) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 150, FIRE = 50, ACID = 150) var/basestate = "hardsuit" allowed = list(/obj/item/flashlight) var/brightness_on = 4 //luminosity when on @@ -146,7 +146,7 @@ icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" max_integrity = 300 - armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 50, ACID = 75) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 150, FIRE = 50, ACID = 150) allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) siemens_coefficient = 0 var/obj/item/clothing/head/helmet/space/hardsuit/helmet @@ -260,7 +260,7 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "hardsuit0-engineering" item_state = "eng_helm" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 100, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 150, FIRE = INFINITY, ACID = 150) resistance_flags = FIRE_PROOF item_color = "engineering" @@ -269,7 +269,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 75, FIRE = 100, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 150, FIRE = INFINITY, ACID = 150) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine dog_fashion = /datum/dog_fashion/back/hardsuit resistance_flags = FIRE_PROOF @@ -281,7 +281,7 @@ icon_state = "hardsuit0-atmos" item_state = "atmos_helm" item_color = "atmos" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 25, FIRE = 100, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 15, FIRE = INFINITY, ACID = 150) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -290,7 +290,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has thermal shielding." icon_state = "hardsuit-atmos" item_state = "atmos_hardsuit" - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 25, FIRE = 100, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 15, FIRE = INFINITY, ACID = 150) heat_protection = UPPER_TORSO|LOWER_TORSO|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 @@ -303,7 +303,7 @@ icon_state = "hardsuit0-white" item_state = "ce_helm" item_color = "white" - armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 90) + armor = list(MELEE = 35, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = 450) heat_protection = HEAD //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -312,7 +312,7 @@ desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish." icon_state = "hardsuit-white" item_state = "ce_hardsuit" - armor = list(MELEE = 40, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 90) + armor = list(MELEE = 35, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = 450) heat_protection = UPPER_TORSO|LOWER_TORSO|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/elite @@ -329,7 +329,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 = 5, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = 50, ACID = 150) brightness_on = 7 /obj/item/clothing/suit/space/hardsuit/mining @@ -339,7 +339,7 @@ item_state = "mining_hardsuit" max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = 50, ACID = 150) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -352,7 +352,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 35, BIO = 100, RAD = 50, FIRE = 50, ACID = 90) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, BIO = INFINITY, RAD = 50, FIRE = 50, ACID = 450) on = TRUE var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null actions_types = list(/datum/action/item_action/toggle_helmet_mode) @@ -434,7 +434,7 @@ w_class = WEIGHT_CLASS_NORMAL var/on = TRUE actions_types = list(/datum/action/item_action/toggle_hardsuit_mode) - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 35, BIO = 100, RAD = 50, FIRE = 50, ACID = 90) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, BIO = INFINITY, RAD = 50, FIRE = 50, ACID = 450) 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/syndi jetpack = /obj/item/tank/jetpack/suit @@ -448,7 +448,7 @@ desc = "An elite version of the syndicate helmet, with improved armour and fire shielding. It is in travel mode. Property of Gorlex Marauders." icon_state = "hardsuit0-syndielite" item_color = "syndielite" - armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 55, BIO = 100, RAD = 70, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 75, LASER = 50, ENERGY = 15, BOMB = 60, BIO = INFINITY, RAD = 115, FIRE = INFINITY, ACID = INFINITY) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -459,19 +459,19 @@ icon_state = "hardsuit0-syndielite" item_color = "syndielite" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite - armor = list(MELEE = 60, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 55, BIO = 100, RAD = 70, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 75, LASER = 50, ENERGY = 15, BOMB = 60, BIO = INFINITY, RAD = 115, FIRE = INFINITY, ACID = INFINITY) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF //Strike team hardsuits /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sst - armor = list(melee = 70, bullet = 70, laser = 50, energy = 40, bomb = 80, bio = 100, rad = 100, fire = 100, acid = 100) //Almost as good as DS gear, but unlike DS can switch to combat for mobility + armor = list(MELEE = 115, BULLET = 115, LASER = 50, ENERGY = 35, BOMB = 200, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Almost as good as DS gear, but unlike DS can switch to combat for mobility icon_state = "hardsuit0-sst" item_color = "sst" /obj/item/clothing/suit/space/hardsuit/syndi/elite/sst - armor = list(melee = 70, bullet = 70, laser = 50, energy = 40, bomb = 80, bio = 100, rad = 100, fire = 100, acid = 100) + armor = list(MELEE = 115, BULLET = 115, LASER = 50, ENERGY = 40, BOMB = 200, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) icon_state = "hardsuit0-sst" item_color = "sst" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sst @@ -505,7 +505,7 @@ item_state = "medical_helm" item_color = "medical" flash_protect = FLASH_PROTECTION_NONE - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 60, FIRE = 60, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 75, FIRE = 75, ACID = 150) scan_reagents = 1 //Generally worn by the CMO, so they'd get utility off of seeing reagents /obj/item/clothing/suit/space/hardsuit/medical @@ -514,7 +514,7 @@ icon_state = "hardsuit-medical" item_state = "medical_hardsuit" allowed = list(/obj/item/flashlight,/obj/item/tank/internals,/obj/item/storage/firstaid,/obj/item/healthanalyzer,/obj/item/stack/medical) - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 100, RAD = 60, FIRE = 60, ACID = 75) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 75, FIRE = 75, ACID = 150) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical slowdown = 0.5 @@ -527,7 +527,7 @@ item_color = "rd" flash_protect = FLASH_PROTECTION_NONE scan_reagents = TRUE - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = INFINITY, BIO = INFINITY, RAD = 75, FIRE = 75, ACID = 200) var/hud_active = FALSE var/explosion_detection_dist = 21 @@ -575,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 = 5, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = INFINITY, BIO = INFINITY, RAD = 75, FIRE = 75, ACID = 200) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd @@ -586,14 +586,14 @@ icon_state = "hardsuit0-sec" item_state = "sec_helm" item_color = "sec" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75) + armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = 150, ACID = 150) /obj/item/clothing/suit/space/hardsuit/security name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." icon_state = "hardsuit-sec" item_state = "sec_hardsuit" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75) + armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = 150, ACID = 150) allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank/internals,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security @@ -602,13 +602,13 @@ desc = "A special bulky helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "hardsuit0-hos" item_color = "hos" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 95, ACID = 95) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) /obj/item/clothing/suit/space/hardsuit/security/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." icon_state = "hardsuit-hos" - armor = list(MELEE = 45, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 50, FIRE = 95, ACID = 95) + armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit @@ -620,7 +620,7 @@ icon_state = "hardsuit0-singuloth" item_state = "singuloth_helm" item_color = "singuloth" - armor = list(melee = 40, bullet = 5, laser = 20, energy = 5, bomb = 25, bio = 100, rad = 100, fire = 95, acid = 95) + armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) sprite_sheets = null /obj/item/clothing/suit/space/hardsuit/singuloth @@ -629,7 +629,7 @@ icon_state = "hardsuit-singuloth" item_state = "singuloth_hardsuit" flags = STOPSPRESSUREDMAGE - armor = list(melee = 45, bullet = 25, laser = 30, energy = 10, bomb = 25, bio = 100, rad = 100, fire = 95, acid = 95) + armor = list(MELEE = 35, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/singuloth sprite_sheets = null @@ -642,7 +642,7 @@ icon_state = "hardsuit-hos" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded allowed = list(/obj/item/flashlight,/obj/item/tank/internals, /obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs) - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF var/current_charges = 3 var/max_charges = 3 //How many charges total the shielding has @@ -698,7 +698,7 @@ icon_state = "hardsuit0-sec" item_state = "sec_helm" item_color = "sec" - armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF @@ -710,7 +710,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_hardsuit" item_color = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) 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) slowdown = 0 helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi @@ -741,7 +741,7 @@ icon_state = "hardsuit1-syndi" item_state = "syndie_helm" item_color = "syndi" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 25, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) //////Security Version (Gamma armory only) @@ -751,7 +751,7 @@ desc = "A more advanced version of the normal security hardsuit. Comes with built in energy shielding." icon_state = "hardsuit-sec" item_state = "sec-hardsuit" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75) + armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = 150, ACID = 150) allowed = list(/obj/item/gun,/obj/item/flashlight,/obj/item/tank,/obj/item/melee/baton,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/restraints/handcuffs) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/gamma @@ -761,5 +761,5 @@ icon_state = "hardsuit0-sec" item_state = "sec_helm" item_color = "sec" - armor = list(MELEE = 35, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 10, BIO = 100, RAD = 50, FIRE = 75, ACID = 75) + armor = list(MELEE = 25, BULLET = 10, LASER = 20, ENERGY = 5, BOMB = 5, BIO = INFINITY, RAD = 50, FIRE = 150, ACID = 150) diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 18cb46c5a5c1..ac8327c2ba06 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -6,7 +6,7 @@ desc = "A special helmet designed for only the most fashionable of military figureheads." flags_inv = HIDEFACE permeability_coefficient = 0.01 - armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -30,7 +30,7 @@ item_state = "capspacesuit" w_class = WEIGHT_CLASS_BULKY allowed = list(/obj/item/tank/internals, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs) - armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 100, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = INFINITY, ACID = INFINITY) species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -43,7 +43,7 @@ desc = "That's not red paint. That's real blood." icon_state = "deathsquad" item_state = "deathsquad" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF vision_flags = SEE_MOBS @@ -58,7 +58,7 @@ icon_state = "deathsquad" item_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/kitchen/knife/combat,/obj/item/flashlight) - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) flags_inv = HIDESHOES | HIDEJUMPSUIT | HIDETAIL max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -72,7 +72,7 @@ icon_state = "heavy" item_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/kitchen/knife/combat) - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 50, BIO = 90, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 50, BIO = 450, RAD = 10, FIRE = INFINITY, ACID = INFINITY) strip_delay = 120 resistance_flags = FIRE_PROOF | ACID_PROOF species_restricted = list("exclude", "Wryn") @@ -106,7 +106,7 @@ blood_overlay_type = "coat" flags_inv = 0 slowdown = 0 - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_NORMAL @@ -155,7 +155,7 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - armor = list(MELEE = 30, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 20, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 75, ACID = 150) flags = BLOCKHAIR | STOPSPRESSUREDMAGE flags_cover = HEADCOVERSEYES strip_delay = 40 @@ -169,7 +169,7 @@ 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) slowdown = 0 - armor = list(MELEE = 30, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75) + armor = list(MELEE = 20, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 75, ACID = 150) strip_delay = 40 put_on_delay = 20 @@ -179,7 +179,6 @@ desc = "A brand new paramedic EVA helmet. It seems to mold to your head shape. Used for retrieving bodies in space." icon_state = "paramedic-eva-helmet" item_state = "paramedic-eva-helmet" - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 65) species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -200,7 +199,6 @@ icon_state = "paramedic-eva" item_state = "paramedic-eva" desc = "A brand new paramedic EVA suit. The nitrile seems a bit too thin to be space proof. Used for retrieving bodies in space." - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 65) species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -220,7 +218,7 @@ icon_state = "spacenew" item_state = "s_suit" desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 10, FIRE = 50, ACID = 95) species_restricted = list("exclude", "Wryn") sprite_sheets = list( @@ -242,7 +240,7 @@ item_state = "s_helmet" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES - 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 = INFINITY, RAD = 10, FIRE = 50, ACID = 95) flash_protect = FLASH_PROTECTION_NONE species_restricted = list("exclude", "Wryn") sprite_sheets = list( diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 5cf53314d1ac..8a943ef3c6fb 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -7,7 +7,7 @@ strip_delay = 80 flash_protect = FLASH_PROTECTION_WELDER tint = FLASH_PROTECTION_WELDER - 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 = INFINITY, RAD = 0, FIRE = INFINITY, ACID = 150) resistance_flags = FIRE_PROOF var/brightness_on = 4 //luminosity when the light is on var/on = FALSE @@ -99,7 +99,7 @@ desc = "A plasmaman containment helmet designed for security officers, protecting them from being flashed and burning alive, alongside other undesirables." icon_state = "security_envirohelm" item_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 = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 0, FIRE = INFINITY, ACID = 150) /obj/item/clothing/head/helmet/space/plasmaman/security/warden name = "warden's plasma envirosuit helmet" @@ -166,7 +166,7 @@ desc = "A space-worthy helmet specially designed for engineer plasmamen, the usual purple stripes being replaced by engineering's orange." icon_state = "engineer_envirohelm" item_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 = INFINITY, RAD = 10, FIRE = INFINITY, ACID = 75) /obj/item/clothing/head/helmet/space/plasmaman/engineering/ce name = "chief engineer's plasma envirosuit helmet" @@ -270,7 +270,7 @@ item_state = "wizard_envirohelm" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF magical = TRUE diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index e365d669c921..e880dd64d5dd 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -5,7 +5,7 @@ icon_state = "syndicate" item_state = "syndicate" desc = "Has a tag on it: Totally not property of a hostile corporation, honest!" - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/grey/helmet.dmi', "Tajaran" = 'icons/mob/clothing/species/tajaran/helmet.dmi', @@ -21,7 +21,7 @@ desc = "Has a tag on it: Totally not property of a hostile 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 = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) sprite_sheets = list( "Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi', "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi', @@ -86,7 +86,7 @@ /obj/item/clothing/head/helmet/space/syndicate/black/strike name = "Syndicate Strike Team commando helmet" desc = "A heavily armored black helmet that is only given to high-ranking Syndicate operatives." - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) //Matches DS gear. + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear. max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF @@ -98,7 +98,7 @@ /obj/item/clothing/suit/space/syndicate/black/strike name = "Syndicate Strike Team commando space suit" desc = "A heavily armored, black space suit that is only given to high-ranking Syndicate operatives." - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) //Matches DS gear. + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear. max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF @@ -159,7 +159,7 @@ /obj/item/clothing/head/helmet/space/syndicate/black/red/strike name = "Syndicate Strike Team leader helmet" desc = "A heavily armored, black and red space helmet that is only given to elite Syndicate operatives, it looks particularly menacing." - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) //Matches DS gear. + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear. max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF @@ -171,7 +171,7 @@ /obj/item/clothing/suit/space/syndicate/black/red/strike name = "Syndicate Strike Team leader space suit" desc = "A heavily armored, black and red space suit that is only given to elite Syndicate operatives, it looks particularly menacing." - armor = list(melee = 80, bullet = 80, laser = 50, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) //Matches DS gear. + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) //Matches DS gear. max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF diff --git a/code/modules/clothing/spacesuits/void.dm b/code/modules/clothing/spacesuits/void.dm index bd2d248d8b75..fdb747cd181a 100644 --- a/code/modules/clothing/spacesuits/void.dm +++ b/code/modules/clothing/spacesuits/void.dm @@ -75,7 +75,7 @@ icon_state = "void-syndi" desc = "A high tech, NASA Centcom branch designed space suit helmet. This one looks rather suspicious." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) /obj/item/clothing/suit/space/nasavoid/syndi name = "blood-red NASA void suit" @@ -83,7 +83,7 @@ desc = "A high tech, NASA Centcom branch designed space suit. This one looks rather suspicious." 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 = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85) + armor = list(MELEE = 35, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 20, FIRE = 200, ACID = 285) //random spawner diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index ffe6230131a3..5d34a481c18a 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -9,7 +9,7 @@ put_on_delay = 40 max_integrity = 250 resistance_flags = NONE - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', ) @@ -99,7 +99,7 @@ icon_state = "secjacket_open" item_state = "hos" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - armor = list(melee = 15, bullet = 10, laser = 15, energy = 5, bomb = 15, bio = 0, rad = 0, fire = 30, acid = 30) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|ARMS ignore_suitadjust = 0 @@ -113,7 +113,7 @@ icon_state = "hos" item_state = "hos" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS - armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 70, ACID = 90) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 115, ACID = 450) flags_inv = HIDEJUMPSUIT cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -161,7 +161,7 @@ icon_state = "capcarapace" item_state = "armor" body_parts_covered = UPPER_TORSO|LOWER_TORSO - armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 100, ACID = 90) + armor = list(MELEE = 50, BULLET = 35, LASER = 50, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = 450) dog_fashion = null resistance_flags = FIRE_PROOF @@ -179,7 +179,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - 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 = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 200, ACID = 200) flags_inv = HIDEJUMPSUIT strip_delay = 80 put_on_delay = 60 @@ -210,7 +210,7 @@ icon_state = "knight_templar" item_state = "knight_templar" allowed = list(/obj/item/nullrod/claymore) - armor = list(melee = 25, bullet = 5, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80) + armor = list(MELEE = 15, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 200, ACID = 200) /obj/item/clothing/suit/armor/vest/durathread name = "durathread vest" @@ -220,7 +220,7 @@ strip_delay = 60 max_integrity = 200 resistance_flags = FLAMMABLE - armor = list(MELEE = 20, BULLET = 10, LASER = 30, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 40, ACID = 50) + armor = list(MELEE = 10, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 35, ACID = 50) /obj/item/clothing/suit/armor/bulletproof name = "bulletproof vest" @@ -228,7 +228,7 @@ icon_state = "bulletproof" item_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) + armor = list(MELEE = 10, BULLET = 75, LASER = 5, ENERGY = 5, BOMB = 35, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 70 put_on_delay = 50 @@ -238,7 +238,7 @@ icon_state = "armor_reflec" item_state = "armor_reflec" blood_overlay_type = "armor" - armor = list(MELEE = 10, BULLET = 10, LASER = 60, ENERGY = 50, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 5, BULLET = 5, LASER = 75, ENERGY = 50, BOMB = 0, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/hit_reflect_chance = 40 @@ -267,7 +267,7 @@ icon_state = "reactiveoff" item_state = "reactiveoff" blood_overlay_type = "armor" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) actions_types = list(/datum/action/item_action/toggle) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF hit_reaction_chance = 50 @@ -467,14 +467,14 @@ cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT sprite_sheets = null - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 90, ACID = 90) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) /obj/item/clothing/suit/armor/heavy name = "heavy armor" desc = "A heavily armored suit that protects against moderate damage." icon_state = "heavy" item_state = "swat_suit" - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 90, ACID = 90) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.90 flags = THICKMATERIAL @@ -484,7 +484,7 @@ hide_tail_by_species = list("Vox") /obj/item/clothing/suit/armor/tdome - armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, RAD = 100, FIRE = 90, ACID = 90) + armor = list(MELEE = 200, BULLET = 200, LASER = 50, ENERGY = 50, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = 450, ACID = 450) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT flags = THICKMATERIAL @@ -510,7 +510,7 @@ desc = "A set of armor worn by members of the Nanotrasen Emergency Response Team." icon_state = "ertarmor_cmd" item_state = "armor" - armor = list(melee = 30, bullet = 30, laser = 30, energy = 30, bomb = 20, bio = 0, rad = 0, fire = 50, acid = 50) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 10, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) //Commander /obj/item/clothing/suit/armor/vest/ert/command @@ -557,7 +557,7 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO|LOWER_TORSO max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 40, acid = 40) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 35, ACID = 35) //LAVALAND! @@ -567,7 +567,7 @@ item_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/twohanded/spear) - armor = list(MELEE = 70, BULLET = 30, LASER = 50, ENERGY = 40, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 115, BULLET = 20, LASER = 50, ENERGY = 35, BOMB = 115, BIO = 75, RAD = 50, FIRE = INFINITY, ACID = INFINITY) hoodtype = /obj/item/clothing/head/hooded/drake heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -579,7 +579,7 @@ icon_state = "dragon" item_state = "dragon" desc = "The skull of a dragon." - armor = list(MELEE = 70, BULLET = 30, LASER = 50, ENERGY = 40, BOMB = 70, BIO = 60, RAD = 50, FIRE = 100, ACID = 100) + armor = list(MELEE = 115, BULLET = 20, LASER = 50, ENERGY = 35, BOMB = 115, BIO = 75, RAD = 50, FIRE = INFINITY, ACID = INFINITY) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF @@ -592,7 +592,7 @@ item_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/twohanded/spear, /obj/item/organ/internal/regenerative_core/legion, /obj/item/kitchen/knife/combat/survival) - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 10, 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 = 25, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 75, ACID = 75) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot hoodtype = /obj/item/clothing/head/hooded/goliath body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS @@ -601,7 +601,7 @@ icon_state = "golhood" item_state = "golhood" desc = "A protective & concealing hood." - armor = list(MELEE = 35, BULLET = 10, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 60) + armor = list(MELEE = 25, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 75, ACID = 75) flags = BLOCKHAIR flags_cover = HEADCOVERSEYES @@ -611,5 +611,5 @@ icon_state = "bonearmor" item_state = "bonearmor" blood_overlay_type = "armor" - armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 25, BULLET = 15, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index a833d9c6d1fe..bee126165adf 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -6,7 +6,7 @@ permeability_coefficient = 0.01 flags = BLOCKHAIR | THICKMATERIAL flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - 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 = INFINITY, RAD = 200, FIRE = 20, ACID = INFINITY) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES resistance_flags = ACID_PROOF @@ -30,7 +30,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 1 allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen) - 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 = INFINITY, RAD = 200, FIRE = 20, ACID = INFINITY) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL strip_delay = 70 put_on_delay = 70 @@ -61,11 +61,11 @@ //Security biosuit, grey with red stripe across the chest /obj/item/clothing/head/bio_hood/security - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 200, FIRE = 20, ACID = INFINITY) icon_state = "bio_security" /obj/item/clothing/suit/bio_suit/security - armor = list(MELEE = 25, BULLET = 15, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 100, RAD = 80, FIRE = 30, ACID = 100) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = INFINITY, RAD = 200, FIRE = 20, ACID = INFINITY) icon_state = "bio_security" diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 6a955d9399ef..c37eac2e5b2c 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -9,7 +9,7 @@ item_state = "paramedic-vest" allowed = list(/obj/item/stack/medical, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/reagent_containers/syringe, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/radio, /obj/item/tank/internals/emergency_oxygen) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10, fire = 50, acid = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 5, FIRE = 50, ACID = 50) sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' @@ -60,7 +60,7 @@ desc = "An armor-plated piece of fashion for the ruling elite. Protect your upper half in style." icon_state = "capmantle" item_state = "capmantle" - armor = list(melee = 50, bullet = 40, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50) + armor = list(MELEE = 50, BULLET = 35, LASER = 50, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) //Chaplain /obj/item/clothing/suit/hooded/chaplain_hoodie @@ -165,7 +165,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/reagent_containers/spray/pepper, /obj/item/flashlight, /obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/detective_scanner, /obj/item/taperecorder) - armor = list(MELEE = 25, BULLET = 10, LASER = 25, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 40) cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -201,7 +201,7 @@ blood_overlay_type = "coat" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/flashlight/seclite,/obj/item/melee/classic_baton/telescopic) - armor = list(melee = 25, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 45) + armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 40) cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS @@ -268,7 +268,7 @@ icon_state = "hosmantle" item_state = "hosmantle" allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat) - armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50) + armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO|ARMS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT @@ -282,7 +282,7 @@ desc = "An armored shawl for the head of personnel. It's remarkably well kept." icon_state = "hopmantle" item_state = "hopmantle" - armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0, fire = 50, acid = 50) + armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) //Internal Affairs /obj/item/clothing/suit/storage/internalaffairs @@ -364,4 +364,4 @@ icon_state = "rdmantle" item_state = "rdmantle" 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/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/food/pill, /obj/item/storage/pill_bottle, /obj/item/paper) - 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, RAD = 0, FIRE = 50, ACID = 50) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index d80b58865712..ec9f773414e7 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -363,7 +363,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi') @@ -396,7 +396,7 @@ icon_state = "wintercoat_captain" w_class = WEIGHT_CLASS_NORMAL item_state = "coatcaptain" - armor = list(MELEE = 25, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) + armor = list(MELEE = 15, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 0, ACID = 50) allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/captain @@ -408,7 +408,7 @@ icon_state = "wintercoat_sec" w_class = WEIGHT_CLASS_NORMAL item_state = "coatsecurity" - armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, BIO = 0, RAD = 0, FIRE = 30, ACID = 30) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic) hoodtype = /obj/item/clothing/head/hooded/winterhood/security @@ -421,7 +421,7 @@ w_class = WEIGHT_CLASS_NORMAL item_state = "coatmedical" allowed = list(/obj/item/analyzer, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator,/obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 0, ACID = 45) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, RAD = 0, FIRE = 0, ACID = 40) hoodtype = /obj/item/clothing/head/hooded/winterhood/medical /obj/item/clothing/head/hooded/winterhood/medical @@ -433,7 +433,7 @@ w_class = WEIGHT_CLASS_NORMAL item_state = "coatscience" 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/reagent_containers/applicator,/obj/item/healthanalyzer,/obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0, fire = 0, acid = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/science /obj/item/clothing/head/hooded/winterhood/science @@ -444,7 +444,7 @@ icon_state = "wintercoat_engi" w_class = WEIGHT_CLASS_NORMAL item_state = "coatengineer" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 45) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering @@ -485,7 +485,7 @@ w_class = WEIGHT_CLASS_NORMAL item_state = "coatminer" allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter) - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 0, ACID = 0) hoodtype = /obj/item/clothing/head/hooded/winterhood/miner /obj/item/clothing/head/hooded/winterhood/miner @@ -771,7 +771,7 @@ permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/tank/internals/emergency_oxygen,/obj/item/pen,/obj/item/flashlight/pen) - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 10, FIRE = 50, ACID = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL /obj/item/clothing/head/mercy_hood @@ -782,7 +782,7 @@ permeability_coefficient = 0.01 flags = BLOCKHAIR flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 20, fire = 50, acid = 50) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = INFINITY, RAD = 10, FIRE = 50, ACID = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/suit/jacket @@ -816,7 +816,7 @@ max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 put_on_delay = 40 - armor = list(melee = 15, bullet = 5, laser = 15, energy = 5, bomb = 15, bio = 0, rad = 0, fire = 30, acid = 30) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) //End of inheritance from Security armour. /obj/item/clothing/suit/jacket/engibomber @@ -825,7 +825,7 @@ icon_state = "bomberengi" item_state = "bomberengi" ignore_suitadjust = 0 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 45) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -839,7 +839,7 @@ icon_state = "bomberatmos" item_state = "bomberatmos" ignore_suitadjust = 0 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 20, FIRE = 30, ACID = 45) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 40) allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS @@ -912,7 +912,7 @@ icon_state = "owl_wings" item_state = "owl_wings" body_parts_covered = ARMS - armor = list(melee = 5, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 25, acid = 25) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 15, ACID = 15) allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/restraints/handcuffs,/obj/item/flashlight/seclite) actions_types = list(/datum/action/item_action/toggle_wings) @@ -963,7 +963,7 @@ permeability_coefficient = 0.01 flags = STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD - armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100) + armor = list(MELEE = INFINITY, BULLET = INFINITY, LASER = INFINITY, ENERGY = INFINITY, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO | LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD @@ -1009,7 +1009,7 @@ //Syndicate Chaplain Robe (WOLOLO!) /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe w_class = WEIGHT_CLASS_NORMAL - armor = list(melee = 10, bullet = 10, laser = 5, energy = 5, bomb = 0, bio = 0, rad = 15, fire = 30, acid = 30) + armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 0, RAD = 10, FIRE = 20, ACID = 20) var/obj/item/nullrod/missionary_staff/linked_staff = null /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/detailed_examine_antag() diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 8020e6ad5be2..d2f3ffbb59fb 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -20,7 +20,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen,/obj/item/extinguisher) slowdown = 1 - armor = list(MELEE = 15, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, RAD = 20, FIRE = 100, ACID = 50) + armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, BIO = 5, RAD = 10, FIRE = INFINITY, ACID = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL flags = STOPSPRESSUREDMAGE | THICKMATERIAL heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS @@ -67,7 +67,7 @@ w_class = WEIGHT_CLASS_NORMAL icon_state = "bombsuit" flags = BLOCKHAIR | THICKMATERIAL - armor = list(MELEE = 20, BULLET = 0, LASER = 20, ENERGY = 10, BOMB = 100, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 10, BULLET = 0, LASER = 10, ENERGY = 5, BOMB = INFINITY, BIO = 0, RAD = 0, FIRE = 200, ACID = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH cold_protection = HEAD @@ -94,7 +94,7 @@ flags = THICKMATERIAL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 2 - armor = list(MELEE = 20, BULLET = 0, LASER = 20, ENERGY = 10, BOMB = 100, BIO = 0, RAD = 0, FIRE = 80, ACID = 50) + armor = list(MELEE = 10, BULLET = 0, LASER = 10, ENERGY = 5, BOMB = INFINITY, BIO = 0, RAD = 0, FIRE = 200, ACID = 50) flags_inv = HIDEJUMPSUIT|HIDETAIL heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT @@ -127,7 +127,7 @@ desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" flags = BLOCKHAIR|THICKMATERIAL flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - 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 = 75, RAD = INFINITY, FIRE = 20, ACID = 20) strip_delay = 60 put_on_delay = 60 resistance_flags = NONE @@ -149,7 +149,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight,/obj/item/tank/internals/emergency_oxygen, /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 = 75, RAD = INFINITY, FIRE = 20, ACID = 20) flags_inv = HIDEJUMPSUIT|HIDETAIL strip_delay = 60 put_on_delay = 60 diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 8d441124e7aa..44a1261858d8 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -4,7 +4,7 @@ icon_state = "wizard" gas_transfer_coefficient = 0.01 // IT'S MAGICAL OKAY JEEZ +1 TO NOT DIE permeability_coefficient = 0.01 - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | ACID_PROOF //Not given any special protective value since the magic robes are full-body protection --NEO strip_delay = 50 @@ -81,7 +81,7 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS - armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 20, RAD = 20, FIRE = 100, ACID = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) allowed = list(/obj/item/teleportation_scroll) flags_inv = HIDEJUMPSUIT strip_delay = 50 @@ -189,7 +189,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 = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) slowdown = 0 resistance_flags = FIRE_PROOF | ACID_PROOF magical = TRUE @@ -211,7 +211,7 @@ item_color = "wiz" min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - armor = list(melee = 30, bullet = 20, laser = 20, energy = 20, bomb = 20, bio = 20, rad = 20, fire = 100, acid = 100) + armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 10, RAD = 10, FIRE = INFINITY, ACID = INFINITY) actions_types = list() //No inbuilt light resistance_flags = FIRE_PROOF | ACID_PROOF magical = TRUE diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 55c137582032..7b537844cbd2 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -464,7 +464,7 @@ icon_state = "skull" item_state = "skull" item_color = "skull" - 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 = 10, BIO = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE /obj/item/clothing/accessory/necklace/talisman @@ -473,7 +473,7 @@ icon_state = "talisman" item_state = "talisman" item_color = "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 = 10, BIO = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE /obj/item/clothing/accessory/necklace/locket diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 877091714d9f..a08d535aeb03 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -135,7 +135,7 @@ name = "janitor's jumpsuit" icon_state = "janitor" item_color = "janitor" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/lawyer diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index e7c2e7963551..7636b16acda7 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -5,7 +5,7 @@ icon_state = "chiefengineer" item_state = "chief" item_color = "chief" - 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, RAD = 5, FIRE = 200, ACID = 35) resistance_flags = NONE /obj/item/clothing/under/rank/chief_engineer/skirt @@ -36,7 +36,7 @@ icon_state = "engine" item_state = "engi_suit" item_color = "engine" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 10, FIRE = 60, ACID = 20) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 5, FIRE = 75, ACID = 10) resistance_flags = NONE /obj/item/clothing/under/rank/engineer/sensor diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 935916d57d0b..674443d4379e 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -7,7 +7,7 @@ icon_state = "director" item_state = "g_suit" item_color = "director" - 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 = 5, BIO = 5, RAD = 0, FIRE = 0, ACID = 25) /obj/item/clothing/under/rank/scientist desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote the wearer as a scientist." @@ -16,7 +16,7 @@ item_state = "w_suit" item_color = "toxinswhite" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/scientist/skirt name = "scientist's jumpskirt" @@ -31,7 +31,7 @@ item_state = "w_suit" item_color = "chemistrywhite" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 50, ACID = 65) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 50, ACID = 95) /obj/item/clothing/under/rank/chemist/skirt name = "chemist's jumpskirt" @@ -80,7 +80,7 @@ item_state = "w_suit" item_color = "virologywhite" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/virologist/skirt name = "virologist's jumpskirt" @@ -95,7 +95,7 @@ item_state = "nursesuit" item_color = "nursesuit" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/nurse desc = "A dress commonly worn by the nursing staff in the medical department." @@ -104,7 +104,7 @@ item_state = "nurse" item_color = "nurse" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/orderly desc = "A white suit to be worn by orderly people who love orderly things." @@ -113,7 +113,7 @@ item_state = "orderly" item_color = "orderly" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/medical desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel." @@ -122,7 +122,7 @@ item_state = "w_suit" item_color = "medical" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/medical/sensor sensor_mode = SENSOR_COORDS @@ -166,7 +166,7 @@ item_state = "paramedic" item_color = "paramedic" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 10, RAD = 10, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 5, RAD = 5, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/psych desc = "A basic white jumpsuit. It has turqouise markings that denote the wearer as a psychiatrist." @@ -193,7 +193,7 @@ item_state = "w_suit" item_color = "genetics_new" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/chemist_new desc = "It's made of a special fiber which provides minor protection against biohazards." @@ -202,7 +202,7 @@ item_state = "w_suit" item_color = "chemist_new" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 50, ACID = 95) /obj/item/clothing/under/rank/scientist_new desc = "Made of a special fiber that gives special protection against biohazards and small explosions." @@ -211,7 +211,7 @@ item_state = "w_suit" item_color = "scientist_new" permeability_coefficient = 0.50 - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 5, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/rank/virologist_new desc = "Made of a special fiber that gives increased protection against biohazards." @@ -220,4 +220,4 @@ item_state = "w_suit" item_color = "virologist_new" permeability_coefficient = 0.50 - 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 = 5, RAD = 0, FIRE = 0, ACID = 0) diff --git a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm index 8090cabfbbd0..fa6ca0b555da 100644 --- a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm +++ b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm @@ -1,7 +1,7 @@ /obj/item/clothing/under/plasmaman name = "plasma envirosuit" desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy." - 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 = INFINITY, RAD = 0, FIRE = INFINITY, ACID = INFINITY) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS strip_delay = 80 var/next_extinguish = 0 diff --git a/code/modules/clothing/under/jobs/plasmamen/engineering.dm b/code/modules/clothing/under/jobs/plasmamen/engineering.dm index f822333a90f5..7aa808e3ec20 100644 --- a/code/modules/clothing/under/jobs/plasmamen/engineering.dm +++ b/code/modules/clothing/under/jobs/plasmamen/engineering.dm @@ -4,7 +4,7 @@ icon_state = "engineer_envirosuit" item_state = "engineer_envirosuit" item_color = "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 = INFINITY, RAD = 10, FIRE = INFINITY, ACID = INFINITY) /obj/item/clothing/under/plasmaman/engineering/ce name = "chief engineer's plasma envirosuit" diff --git a/code/modules/clothing/under/jobs/plasmamen/security.dm b/code/modules/clothing/under/jobs/plasmamen/security.dm index 8912d1218b62..5af6cab67c07 100644 --- a/code/modules/clothing/under/jobs/plasmamen/security.dm +++ b/code/modules/clothing/under/jobs/plasmamen/security.dm @@ -4,7 +4,7 @@ icon_state = "security_envirosuit" item_state = "security_envirosuit" item_color = "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 = INFINITY, RAD = 0, FIRE = INFINITY, ACID = INFINITY) /obj/item/clothing/under/plasmaman/security/warden name = "warden plasma envirosuit" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 022700ced071..075897cc3c7a 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -15,7 +15,7 @@ icon_state = "warden" item_state = "r_suit" item_color = "warden" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) strip_delay = 50 /obj/item/clothing/under/rank/warden/skirt @@ -36,7 +36,7 @@ icon_state = "security" item_state = "r_suit" item_color = "secred" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) strip_delay = 50 /obj/item/clothing/under/rank/security/sensor @@ -76,7 +76,7 @@ icon_state = "dispatch" item_state = "dispatch" item_color = "dispatch" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) /obj/item/clothing/under/rank/security2 name = "security officer's uniform" @@ -84,7 +84,7 @@ icon_state = "redshirt2" item_state = "r_suit" item_color = "redshirt2" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) /obj/item/clothing/under/rank/security/corp name = "corporate security jumpsuit" @@ -106,7 +106,7 @@ icon_state = "detective" item_state = "det" item_color = "detective" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 20, ACID = 20) strip_delay = 50 sprite_sheets = list( @@ -122,7 +122,7 @@ icon_state = "hos" item_state = "r_suit" item_color = "hosred" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 /obj/item/clothing/under/rank/head_of_security/skirt diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index ff758db20cb5..bafd3921d7d9 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -66,7 +66,7 @@ icon_state = "solgov" item_state = "ro_suit" item_color = "solgov" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE /obj/item/clothing/under/solgov/elite name = "\improper Trans-Solar Federation Specops marine uniform" @@ -79,7 +79,6 @@ desc = "A comfortable and durable combat uniform worn by Trans-Solar Federation Marine Forces. This one has additional insignia on its shoulders and cuffs." icon_state = "solgovc" item_color = "solgovc" - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 30) /obj/item/clothing/under/solgov/command/elite name = "\improper Trans-Solar Federation Specops Lieutenant's uniform" @@ -126,7 +125,7 @@ icon_state = "navy_gold" item_state = "navy_gold" item_color = "navy_gold" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE /obj/item/clothing/under/rank/centcom/captain @@ -135,7 +134,7 @@ icon_state = "navy_gold" item_state = "navy_gold" item_color = "navy_gold" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE /obj/item/clothing/under/rank/centcom/captain/solgov @@ -148,7 +147,7 @@ icon_state = "officer" item_state = "g_suit" item_color = "officer" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) displays_id = FALSE /obj/item/clothing/under/rank/centcom/representative @@ -189,7 +188,7 @@ icon_state = "ert_uniform" item_state = "bl_suit" item_color = "ert_uniform" - armor = list(MELEE = 10, 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, RAD = 0, FIRE = 20, ACID = 20) /obj/item/clothing/under/rank/blueshield/skirt name = "blueshield's skirt" @@ -223,7 +222,7 @@ gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD - armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = INFINITY, BULLET = INFINITY, LASER = INFINITY, ENERGY = INFINITY, BOMB = INFINITY, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = UPPER_TORSO | LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD @@ -862,7 +861,7 @@ icon_state = "durathread" item_state = "durathread" item_color = "durathread" - armor = list(melee = 10, bullet = 0, laser = 10, energy = 0, bomb = 5, bio = 0, rad = 0, fire = 0, acid = 0) + armor = list(MELEE = 5, BULLET = 0, LASER = 5, ENERGY = 0, BOMB = 5, BIO = 0, RAD = 0, FIRE = 0, ACID = 0) /obj/item/clothing/under/cuban_suit name = "rhumba outfit" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index e5d0532ac0a4..8ef693b6f6d9 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -5,7 +5,7 @@ item_state = "bl_suit" item_color = "syndicate" has_sensor = FALSE - armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 35) /obj/item/clothing/under/syndicate/combat name = "combat turtleneck" @@ -16,7 +16,7 @@ icon_state = "tactifool" item_state = "bl_suit" item_color = "tactifool" - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 40) + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 35) /obj/item/clothing/under/syndicate/sniper name = "Tactical turtleneck suit" diff --git a/code/modules/events/mass_hallucination.dm b/code/modules/events/mass_hallucination.dm index 0821b8a81c5e..05af4b3c430e 100644 --- a/code/modules/events/mass_hallucination.dm +++ b/code/modules/events/mass_hallucination.dm @@ -10,7 +10,7 @@ if(!is_station_level(T?.z)) continue var/armor = H.getarmor(type = RAD) - if(HAS_TRAIT(H, TRAIT_RADIMMUNE) || armor >= 75) // Leave radiation-immune species/rad armored players completely unaffected + if(HAS_TRAIT(H, TRAIT_RADIMMUNE) || armor >= 150) // Leave radiation-immune species/rad armored players completely unaffected continue H.AdjustHallucinate(rand(50, 100)) diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 03f88bdf238d..b334d9fb551c 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -66,7 +66,7 @@ var/mob/living/carbon/human/H = target var/headarmor = 0 // Target's head armor - armor_block = H.run_armor_check(affecting, MELEE,"","",armour_penetration) // For normal attack damage + armor_block = H.run_armor_check(affecting, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage) // For normal attack damage //If they have a hat/helmet and the user is targeting their head. if(istype(H.head, /obj/item/clothing/head) && affecting == "head") @@ -353,7 +353,7 @@ /obj/item/reagent_containers/food/drinks/bottle/molotov/CheckParts(list/parts_list) ..() var/obj/item/reagent_containers/food/drinks/bottle/B = locate() in contents - if(B) + if(B) B.reagents.copy_to(src, 100) if(!B.is_glass) is_glass = FALSE diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 6a75e915b379..00e731c01116 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -124,7 +124,7 @@ throw_range = 3 w_class = WEIGHT_CLASS_BULKY flags = CONDUCT - armour_penetration = 20 + armour_penetration_flat = 20 slot_flags = SLOT_BACK origin_tech = "materials=3;combat=2" attack_verb = list("chopped", "sliced", "cut", "reaped") diff --git a/code/modules/martial_arts/krav_maga.dm b/code/modules/martial_arts/krav_maga.dm index f184a4fa40a0..224d7f4e4c42 100644 --- a/code/modules/martial_arts/krav_maga.dm +++ b/code/modules/martial_arts/krav_maga.dm @@ -165,4 +165,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, RAD = 0, FIRE = 200, ACID = 50) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 1d8470ef87ca..bc1db9ed27cf 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -10,7 +10,7 @@ max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/explorer - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 50) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = 50, 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 hide_tail_by_species = list("Vox" , "Vulpkanin" , "Unathi" , "Tajaran") @@ -33,7 +33,7 @@ flags_cover = HEADCOVERSEYES min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 50, BIO = 100, RAD = 50, FIRE = 50, ACID = 50) + armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = 50, FIRE = 50, ACID = 50) resistance_flags = FIRE_PROOF sprite_sheets = list( @@ -52,7 +52,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF slowdown = 0 - armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 10, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 115, BULLET = 35, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) 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/melee/spellblade) @@ -84,7 +84,7 @@ w_class = WEIGHT_CLASS_NORMAL max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT flags = THICKMATERIAL // no space protection - armor = list(MELEE = 70, BULLET = 40, LASER = 10, ENERGY = 10, BOMB = 50, BIO = 100, RAD = 100, FIRE = 100, ACID = 100) + armor = list(MELEE = 115, BULLET = 35, LASER = 5, ENERGY = 5, BOMB = 50, BIO = INFINITY, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) resistance_flags = FIRE_PROOF | LAVA_PROOF /obj/item/clothing/head/helmet/space/hostile_environment/Initialize(mapload) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index bd3326f6c95a..560d8f66872b 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -13,7 +13,7 @@ force_wielded = 20 throwforce = 5 throw_speed = 4 - armour_penetration = 10 + armour_penetration_flat = 10 materials = list(MAT_METAL = 1150, MAT_GLASS = 2075) hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index 1bb61d48b892..e529bd477fab 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -377,7 +377,7 @@ icon = 'icons/obj/lavaland/artefacts.dmi' pass_flags = PASSTABLE damage = 25 - armour_penetration = 100 + armour_penetration_percentage = 100 damage_type = BRUTE hitsound = 'sound/effects/splat.ogg' weaken = 1 SECONDS diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1b30e182aba4..ad3824d474c0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -222,7 +222,7 @@ var/brute_loss = 0 var/burn_loss = 0 - var/bomb_armor = getarmor(null, BOMB) + var/bomb_armor = ARMOUR_VALUE_TO_PERCENTAGE(getarmor(null, BOMB)) var/list/valid_limbs = list("l_arm", "l_leg", "r_arm", "r_leg") var/limbs_amount = 1 var/limb_loss_chance = 50 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index ef0864d636b6..8760a97bce61 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -31,8 +31,7 @@ emp_act return -1 //Shields - if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration)) - P.on_hit(src, 100, def_zone) + if(check_shields(P, P.damage, "the [P.name]", PROJECTILE_ATTACK, P.armour_penetration_flat, P.armour_penetration_percentage)) return 2 if(mind?.martial_art?.deflection_chance) //Some martial arts users can deflect projectiles! @@ -216,26 +215,32 @@ emp_act //End Here -/mob/living/carbon/human/proc/check_shields(atom/AM, damage, attack_text = "the attack", attack_type = MELEE_ATTACK, armour_penetration = 0) +#define BLOCK_CHANCE_CALCULATION(hand_block_chance, armour_penetration_flat, armour_penetration_percentage, block_chance_modifier) clamp((hand_block_chance * ((100-armour_penetration_percentage) / 100)) - armour_penetration_flat + block_chance_modifier, 0, 100) + +/mob/living/carbon/human/proc/check_shields(atom/AM, damage, attack_text = "the attack", attack_type = MELEE_ATTACK, armour_penetration_flat = 0, armour_penetration_percentage = 0) var/block_chance_modifier = round(damage / -3) + var/l_block_chance = 0 + var/r_block_chance = 0 - if(l_hand && !istype(l_hand, /obj/item/clothing)) - var/final_block_chance = l_hand.block_chance - (clamp((armour_penetration-l_hand.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example - if(l_hand.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) - return 1 - if(r_hand && !istype(r_hand, /obj/item/clothing)) - var/final_block_chance = r_hand.block_chance - (clamp((armour_penetration-r_hand.armour_penetration)/2,0,100)) + block_chance_modifier //Need to reset the var so it doesn't carry over modifications between attempts - if(r_hand.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) - return 1 - if(wear_suit) - var/final_block_chance = wear_suit.block_chance - (clamp((armour_penetration-wear_suit.armour_penetration)/2,0,100)) + block_chance_modifier - if(wear_suit.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) - return 1 - if(w_uniform) - var/final_block_chance = w_uniform.block_chance - (clamp((armour_penetration-w_uniform.armour_penetration)/2,0,100)) + block_chance_modifier - if(w_uniform.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) - return 1 - return 0 + if(l_hand) + l_block_chance = BLOCK_CHANCE_CALCULATION(l_hand.block_chance, armour_penetration_flat, armour_penetration_percentage, block_chance_modifier) + if(r_hand) + r_block_chance = BLOCK_CHANCE_CALCULATION(r_hand.block_chance, armour_penetration_flat, armour_penetration_percentage, block_chance_modifier) + + if(l_block_chance > r_block_chance && l_hand.hit_reaction(src, AM, attack_text, l_block_chance, damage, attack_type)) + return TRUE + else if(r_block_chance > 0 && r_hand.hit_reaction(src, AM, attack_text, r_block_chance, damage, attack_type)) + return TRUE + + if(wear_suit && wear_suit.hit_reaction(src, AM, attack_text, 0, damage, attack_type)) + return TRUE + + if(w_uniform && w_uniform.hit_reaction(src, AM, attack_text, 0, damage, attack_type)) + return TRUE + + return FALSE + +#undef BLOCK_CHANCE_CALCULATION /mob/living/carbon/human/proc/check_block() if(mind && mind.martial_art && prob(mind.martial_art.block_chance) && mind.martial_art.can_use(src) && in_throw_mode && !incapacitated(FALSE, TRUE)) @@ -440,7 +445,7 @@ emp_act if(user != src) user.do_attack_animation(src) - if(check_shields(I, I.force, "the [I.name]", MELEE_ATTACK, I.armour_penetration)) + if(check_shields(I, I.force, "the [I.name]", MELEE_ATTACK, I.armour_penetration_flat, I.armour_penetration_percentage)) return FALSE if(check_block()) @@ -455,11 +460,11 @@ emp_act if(!I.force) return FALSE //item force is zero - var/armor = run_armor_check(affecting, MELEE, "Your armour has protected your [hit_area].", "Your armour has softened hit to your [hit_area].", armour_penetration = I.armour_penetration) + var/armor = run_armor_check(affecting, MELEE, "Your armour has protected your [hit_area].", "Your armour has softened hit to your [hit_area].", armour_penetration_flat = I.armour_penetration_flat, armour_penetration_percentage = I.armour_penetration_percentage) var/weapon_sharp = is_sharp(I) if(weapon_sharp && prob(getarmor(user.zone_selected, MELEE))) weapon_sharp = 0 - if(armor >= 100) + if(armor == INFINITY) return 0 var/Iforce = I.force //to avoid runtimes on the forcesay checks at the bottom. Some items might delete themselves if you drop them. (stunning yourself, ninja swords) var/bonus_damage = 0 @@ -624,7 +629,7 @@ emp_act visible_message("[M] has lunged at [src]!") return 0 var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected)) - var/armor_block = run_armor_check(affecting, MELEE, armour_penetration = 10) + var/armor_block = run_armor_check(affecting, MELEE, armour_penetration_flat = 10) playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1) visible_message("[M] has slashed at [src]!", \ @@ -656,14 +661,14 @@ emp_act . = ..() if(.) var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - if(check_shields(M, damage, "the [M.name]", MELEE_ATTACK, M.armour_penetration)) + if(check_shields(M, damage, "the [M.name]", MELEE_ATTACK, M.armour_penetration_flat, M.armour_penetration_percentage)) return FALSE var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) if(!affecting) affecting = get_organ("chest") affecting.add_autopsy_data(M.name, damage) // Add the mob's name to the autopsy data - var/armor = run_armor_check(affecting, MELEE, armour_penetration = M.armour_penetration) + var/armor = run_armor_check(affecting, MELEE, armour_penetration_flat = M.armour_penetration_flat, armour_penetration_percentage = M.armour_penetration_percentage) apply_damage(damage, M.melee_damage_type, affecting, armor) updatehealth("animal attack") diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 5af273cb4888..32d67422c48e 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -357,9 +357,7 @@ return /datum/species/proc/apply_damage(damage = 0, damagetype = BRUTE, def_zone, blocked = 0, mob/living/carbon/human/H, sharp = FALSE, obj/used_weapon, spread_damage = FALSE) - var/hit_percent = (100 - (blocked + armor)) / 100 - hit_percent = (hit_percent * (100 - H.physiology.damage_resistance)) / 100 - if(!damage || (hit_percent <= 0)) + if(!damage) return FALSE var/obj/item/organ/external/organ = null @@ -375,7 +373,7 @@ switch(damagetype) if(BRUTE) - var/damage_amount = damage * hit_percent * brute_mod * H.physiology.brute_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, brute_mod * H.physiology.brute_mod) if(damage_amount) H.damageoverlaytemp = 20 @@ -385,7 +383,7 @@ else //no bodypart, we deal damage with a more general method. H.adjustBruteLoss(damage_amount) if(BURN) - var/damage_amount = damage * hit_percent * burn_mod * H.physiology.burn_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, burn_mod * H.physiology.burn_mod) if(damage_amount) H.damageoverlaytemp = 20 @@ -395,19 +393,19 @@ else H.adjustFireLoss(damage_amount) if(TOX) - var/damage_amount = damage * hit_percent * H.physiology.tox_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, H.physiology.tox_mod) H.adjustToxLoss(damage_amount) if(OXY) - var/damage_amount = damage * hit_percent * H.physiology.oxy_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, H.physiology.oxy_mod) H.adjustOxyLoss(damage_amount) if(CLONE) - var/damage_amount = damage * hit_percent * H.physiology.clone_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, H.physiology.clone_mod) H.adjustCloneLoss(damage_amount) if(STAMINA) - var/damage_amount = damage * hit_percent * H.physiology.stamina_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, H.physiology.stamina_mod) H.adjustStaminaLoss(damage_amount) if(BRAIN) - var/damage_amount = damage * hit_percent * H.physiology.brain_mod + var/damage_amount = ARMOUR_EQUATION(damage, blocked, H.physiology.brain_mod) H.adjustBrainLoss(damage_amount) // Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life(). diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index ab88c0a05dd7..0ab6f6821c23 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -10,27 +10,28 @@ 1 - halfblock 2 - fullblock */ -/mob/living/proc/run_armor_check(def_zone = null, attack_flag = MELEE, absorb_text = null, soften_text = null, armour_penetration, penetrated_text) +/mob/living/proc/run_armor_check(def_zone = null, attack_flag = MELEE, absorb_text = null, soften_text = null, armour_penetration_flat = 0, penetrated_text, armour_penetration_percentage = 0) var/armor = getarmor(def_zone, attack_flag) - //the if "armor" check is because this is used for everything on /living, including humans - if(armor > 0 && armor < 100 && armour_penetration) // Armor with 100+ protection can not be penetrated for admin items, nor can you penetrate already negative armor - armor = max(0, armor - armour_penetration) - if(penetrated_text) - to_chat(src, "[penetrated_text]") - else - to_chat(src, "Your armor was penetrated!") - - if(armor >= 100) + if(armor == INFINITY) if(absorb_text) to_chat(src, "[absorb_text]") else to_chat(src, "Your armor absorbs the blow!") - else if(armor > 0) - if(soften_text) - to_chat(src, "[soften_text]") + return armor + + if(armor > 0) + if(armour_penetration_flat > 0 || armour_penetration_percentage > 0) + armor = max(0, (armor * ((100 - armour_penetration_percentage) / 100)) - armour_penetration_flat) + if(penetrated_text) + to_chat(src, "[penetrated_text]") + else + to_chat(src, "Your armor was penetrated!") else - to_chat(src, "Your armor softens the blow!") + if(soften_text) + to_chat(src, "[soften_text]") + else + to_chat(src, "Your armor softens the blow!") return armor //if null is passed for def_zone, then this should return something appropriate for all zones (e.g. area effect damage) @@ -45,7 +46,7 @@ /mob/living/bullet_act(obj/item/projectile/P, def_zone) //Armor - var/armor = run_armor_check(def_zone, P.flag, armour_penetration = P.armour_penetration) + var/armor = run_armor_check(def_zone, P.flag, armour_penetration_flat = P.armour_penetration_flat, armour_penetration_percentage = P.armour_penetration_percentage) if(!P.nodamage) apply_damage(P.damage, P.damage_type, def_zone, armor) if(P.dismemberment) @@ -118,7 +119,7 @@ visible_message("[src] is hit by [thrown_item]!", "You're hit by [thrown_item]!") if(!thrown_item.throwforce) return - var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration) + var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration_flat, armour_penetration_percentage = thrown_item.armour_penetration_percentage) apply_damage(thrown_item.throwforce, thrown_item.damtype, zone, armor, is_sharp(thrown_item), thrown_item) if(QDELETED(src)) //Damage can delete the mob. return diff --git a/code/modules/mob/living/simple_animal/hostile/deathsquid.dm b/code/modules/mob/living/simple_animal/hostile/deathsquid.dm index f4f13c006490..31be4fc124b9 100644 --- a/code/modules/mob/living/simple_animal/hostile/deathsquid.dm +++ b/code/modules/mob/living/simple_animal/hostile/deathsquid.dm @@ -17,7 +17,7 @@ attacktext = "slices" attack_sound = 'sound/weapons/bladeslice.ogg' - armour_penetration = 25 + armour_penetration_percentage = 40 melee_damage_lower = 10 melee_damage_upper = 100 environment_smash = ENVIRONMENT_SMASH_RWALLS @@ -46,7 +46,7 @@ maxHealth = 200 health = 200 speed = 3 - armour_penetration = 5 + armour_penetration_flat = 5 melee_damage_lower = 10 melee_damage_upper = 20 environment_smash = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm index d5cc8636cdee..691a6d484c5f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm @@ -59,7 +59,7 @@ Difficulty: Hard speak_emote = list("BUZZES") universal_speak = TRUE universal_understand = TRUE - armour_penetration = 40 + armour_penetration_percentage = 50 melee_damage_lower = 20 melee_damage_upper = 20 melee_damage_type = BURN //Legs do the stomping, this is just a shock @@ -247,7 +247,7 @@ Difficulty: Hard L.visible_message("[src] slams into [L]!", "[src] tramples you into the ground!") forceMove(get_turf(L)) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) - L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration)) + L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage)) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) shake_camera(L, 4, 3) shake_camera(src, 2, 3) @@ -532,7 +532,7 @@ Difficulty: Hard projectilesound = 'sound/weapons/gunshots/gunshot.ogg' projectiletype = /obj/item/projectile/ancient_robot_bullet attacktext = "stomps on" - armour_penetration = 40 + armour_penetration_percentage = 50 melee_damage_lower = 15 melee_damage_upper = 15 obj_damage = 400 @@ -630,7 +630,7 @@ Difficulty: Hard L.visible_message("[src] slams into [L]!", "[src] tramples you into the ground!") forceMove(get_turf(L)) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) - L.apply_damage(12.5, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration)) + L.apply_damage(12.5, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage)) playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) shake_camera(L, 4, 3) shake_camera(src, 2, 3) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 1779e0ad2a84..518a2125a0d5 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -40,7 +40,7 @@ Difficulty: Hard friendly = "stares down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("gurgles") - armour_penetration = 40 + armour_penetration_percentage = 50 melee_damage_lower = 40 melee_damage_upper = 40 speed = 5 @@ -253,7 +253,7 @@ Difficulty: Hard to_chat(L, "[src] rends you!") playsound(T, attack_sound, 100, TRUE, -1) var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) - L.apply_damage(10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration)) + L.apply_damage(10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration_flat, armour_penetration_percentage)) SLEEP_CHECK_DEATH(3) /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodgrab(turf/T, handedness) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 8433898565f9..ead9c4df0d1a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -34,7 +34,7 @@ Difficulty: Very Hard friendly = "stares down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("roars") - armour_penetration = 40 + armour_penetration_percentage = 50 melee_damage_lower = 40 melee_damage_upper = 40 speed = 10 @@ -253,7 +253,7 @@ Difficulty: Very Hard name ="death bolt" icon_state= "chronobolt" damage = 25 - armour_penetration = 100 + armour_penetration_percentage = 100 speed = 2 eyeblur = 0 damage_type = BRUTE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index b372d74cc661..f90e0d6374c7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -43,7 +43,7 @@ Difficulty: Medium icon_dead = "dragon_dead" friendly = "stares down" speak_emote = list("roars") - armour_penetration = 40 + armour_penetration_percentage = 50 melee_damage_lower = 40 melee_damage_upper = 40 speed = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 1022756f7a93..6d96d6aaeaf8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -47,7 +47,7 @@ Difficulty: Hard icon = 'icons/mob/lavaland/hierophant_new.dmi' faction = list("boss") //asteroid mobs? get that shit out of my beautiful square house speak_emote = list("preaches") - armour_penetration = 50 + armour_penetration_percentage = 50 melee_damage_lower = 15 melee_damage_upper = 15 speed = 10 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 8cf1a35dff8a..d9701363d142 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -27,7 +27,7 @@ Difficulty: Medium attacktext = "chomps" attack_sound = 'sound/misc/demon_attack1.ogg' speak_emote = list("echoes") - armour_penetration = 50 + armour_penetration_percentage = 50 melee_damage_lower = 25 melee_damage_upper = 25 wander = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm index f81d74f8506e..cb2d795304e3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm @@ -29,7 +29,7 @@ health = 1000 melee_damage_lower = 30 melee_damage_upper = 30 - armour_penetration = 30 + armour_penetration_percentage = 50 attacktext = "beats down on" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm index 84337f2d3412..c2b78de6c00b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm @@ -224,7 +224,7 @@ name = "death bolt" icon_state = "chronobolt" damage = 15 - armour_penetration = 30 + armour_penetration_percentage = 50 speed = 2 /obj/item/projectile/herald/teleshot diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 1e611ff7bdf0..139ce389ee64 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -39,7 +39,8 @@ icon_living = "syndicate_sword" attacktext = "slashes" attack_sound = 'sound/weapons/bladeslice.ogg' - armour_penetration = 28 + armour_penetration_percentage = 40 + armour_penetration_flat = 10 status_flags = 0 loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/melee/energy/sword/saber/red, /obj/item/shield/energy) var/melee_block_chance = 20 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index fdfb200eda3b..53d92214bb48 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -56,7 +56,10 @@ var/melee_damage_lower = 0 var/melee_damage_upper = 0 var/obj_damage = 0 //how much damage this simple animal does to objects, if any - var/armour_penetration = 0 //How much armour they ignore, as a flat reduction from the targets armour value + /// Flat armour reduction, occurs after percentage armour penetration. + var/armour_penetration_flat = 0 + /// Percentage armour reduction, happens before flat armour reduction. + var/armour_penetration_percentage = 0 var/melee_damage_type = BRUTE //Damage type of a simple mob's melee attack, should it do damage. var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) // 1 for full damage , 0 for none , -1 for 1:1 heal from that source var/attacktext = "attacks" diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 9a600634d334..50b510a93bb1 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -5,7 +5,8 @@ item_state = "energy_katana" force = 40 throwforce = 20 - armour_penetration = 50 + armour_penetration_percentage = 50 + armour_penetration_flat = 10 var/cooldown = 0 // Because spam aint cool, yo. var/datum/effect_system/spark_spread/spark_system diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index b7e6529609af..721d9273b4c2 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -5,5 +5,5 @@ name = "ninja hood" icon_state = "s-ninja" item_state = "s-ninja_hood" - armor = list(MELEE = 60, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 25, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 15, FIRE = INFINITY, ACID = INFINITY) blockTracking = 1 diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index c70af20b0063..739b5967dde8 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -5,7 +5,7 @@ icon_state = "s-ninja" permeability_coefficient = 0.01 flags = NOSLIP - armor = list(MELEE = 60, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 15, FIRE = INFINITY, ACID = INFINITY) cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 619d93da6596..2d107529f813 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -14,7 +14,7 @@ Contents: item_state = "s-ninja_suit" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/stock_parts/cell) slowdown = 0 - armor = list(MELEE = 60, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 100, ACID = 100) + armor = list(MELEE = 75, BULLET = 50, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 20, RAD = 15, FIRE = INFINITY, ACID = INFINITY) var/suitActive = 0 var/suitBusy = 0 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index edf6a1261e41..2f00bbfc704d 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -140,7 +140,7 @@ var/on = FALSE var/brightness_on = 2 light_color = LIGHT_COLOR_RED - armour_penetration = 20 + armour_penetration_flat = 20 /obj/item/pen/edagger/attack_self(mob/living/user) if(on) diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 5355cac315cc..c143544e3576 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -413,7 +413,7 @@ M.gets_drilled(K.firer) if(modifier) for(var/mob/living/L in range(1, target_turf) - K.firer - target) - var/armor = L.run_armor_check(K.def_zone, K.flag, "", "", K.armour_penetration) + var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration_flat, K.armour_penetration_percentage) L.apply_damage(K.damage * modifier, K.damage_type, K.def_zone, armor) to_chat(L, "You're struck by a [K.name]!") @@ -519,7 +519,7 @@ var/kill_modifier = 1 if(K.pressure_decrease_active) kill_modifier *= K.pressure_decrease - var/armor = L.run_armor_check(K.def_zone, K.flag, "", "", K.armour_penetration) + var/armor = L.run_armor_check(K.def_zone, K.flag, null, null, K.armour_penetration_flat, K.armour_penetration_percentage) L.apply_damage(bounties_reaped[L.type]*kill_modifier, K.damage_type, K.def_zone, armor) /obj/item/borg/upgrade/modkit/bounty/proc/get_kill(mob/living/L) diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index b1fe9c909ff9..7c59fe6a63a9 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -63,11 +63,11 @@ /obj/item/projectile/bullet/saw damage = 45 - armour_penetration = 5 + armour_penetration_flat = 5 /obj/item/projectile/bullet/saw/bleeding damage = 20 - armour_penetration = 0 + armour_penetration_flat = 0 /obj/item/projectile/bullet/saw/bleeding/on_hit(atom/target, blocked = 0, hit_zone) . = ..() @@ -77,15 +77,15 @@ /obj/item/projectile/bullet/saw/hollow damage = 60 - armour_penetration = -10 + armour_penetration_flat = -30 /obj/item/projectile/bullet/saw/ap damage = 40 - armour_penetration = 75 + armour_penetration_percentage = 100 /obj/item/projectile/bullet/saw/incen damage = 7 - armour_penetration = 0 + armour_penetration_flat = 0 /obj/item/projectile/bullet/saw/incen/Move() ..() diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index abb833221c8b..b63abd47d4eb 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -67,7 +67,7 @@ /obj/item/projectile/bullet/sniper damage = 70 weaken = 10 SECONDS - armour_penetration = 50 + armour_penetration_flat = 70 /obj/item/ammo_box/magazine/sniper_rounds/antimatter name = "sniper rounds (Antimatter)" @@ -108,7 +108,7 @@ harmful = FALSE /obj/item/projectile/bullet/sniper/soporific - armour_penetration = 0 + armour_penetration_flat = 0 nodamage = 1 weaken = 0 @@ -136,7 +136,7 @@ icon_state = ".50" /obj/item/projectile/bullet/sniper/haemorrhage - armour_penetration = 25 + armour_penetration_flat = 25 damage = 45 weaken = 6 SECONDS diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 9de433205699..655b6366e516 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -123,7 +123,7 @@ return 0 var/mob/living/L = target var/mob/living/carbon/human/H - if(blocked < 100) // not completely blocked + if(blocked != INFINITY) // not completely blocked if(damage && L.blood_volume && damage_type == BRUTE) var/splatter_dir = dir if(starting) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 713a38d9bd52..87c232f4996d 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -64,25 +64,26 @@ /obj/item/projectile/bullet/armourpiercing damage = 17 - armour_penetration = 10 + armour_penetration_flat = 10 /obj/item/projectile/bullet/armourpiercing/wt550 damage = 15 - armour_penetration = 40 + armour_penetration_percentage = 50 + armour_penetration_flat = 25 /obj/item/projectile/bullet/pellet name = "pellet" damage = 12.5 tile_dropoff = 0.75 tile_dropoff_s = 1.25 - armour_penetration = -30 + armour_penetration_flat = -20 /obj/item/projectile/bullet/pellet/rubber name = "rubber pellet" damage = 3 stamina = 12.5 icon_state = "bullet-r" - armour_penetration = -10 + armour_penetration_flat = -10 /obj/item/projectile/bullet/pellet/rubber/on_hit(atom/target, blocked = 0) . = ..() @@ -145,11 +146,11 @@ /obj/item/projectile/bullet/midbullet3/hp damage = 40 - armour_penetration = -50 + armour_penetration_flat = -40 /obj/item/projectile/bullet/midbullet3/ap damage = 27 - armour_penetration = 40 + armour_penetration_flat = 40 /obj/item/projectile/bullet/midbullet3/fire/on_hit(atom/target, blocked = 0) if(..(target, blocked)) @@ -242,13 +243,13 @@ /obj/item/projectile/bullet/dart/on_hit(atom/target, blocked = 0, hit_zone) if(iscarbon(target)) var/mob/living/carbon/M = target - if(blocked != 100) + if(blocked != INFINITY) if(M.can_inject(null, FALSE, hit_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. ..() reagents.trans_to(M, reagents.total_volume) return 1 else - blocked = 100 + blocked = INFINITY target.visible_message("[src] was deflected!", \ "You were protected against [src]!") ..(target, blocked, hit_zone) diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 9ee06b0c8952..88f95cd35144 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -144,6 +144,6 @@ icon_state = "plasma_heavy" damage = 45 damage_type = BURN - armour_penetration = 10 // It can have a little armor pen, as a treat. Bigger than it looks, energy armor is often low. + armour_penetration_flat = 10 // It can have a little armor pen, as a treat. Bigger than it looks, energy armor is often low. shield_buster = TRUE reflectability = REFLECTABILITY_PHYSICAL //I will let eswords block it like a normal projectile, but it's not getting reflected, and eshields will take the hit hard. Carp still can reflect though, screw you. diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 65aae89ec889..43f0de7e3c3a 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -4,7 +4,7 @@ damage = 0 damage_type = OXY nodamage = 1 - armour_penetration = 100 + armour_penetration_percentage = 100 flag = MAGIC /obj/item/projectile/magic/death @@ -357,6 +357,6 @@ damage = 20 damage_type = BURN nodamage = FALSE - armour_penetration = 0 + armour_penetration_flat = 0 flag = MAGIC hitsound = 'sound/weapons/barragespellhit.ogg' diff --git a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm index 743a799855aa..ffcc3b7eb1b1 100644 --- a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm +++ b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm @@ -252,7 +252,7 @@ item_state = "ratvarian_spear" force = 15 //Extra damage is dealt to targets in attack() throwforce = 25 - armour_penetration = 10 + armour_penetration_percentage = 15 sharp = TRUE attack_verb = list("stabbed", "poked", "slashed") hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/paradise.dme b/paradise.dme index 9c8a6a9ca502..b0c337464342 100644 --- a/paradise.dme +++ b/paradise.dme @@ -18,6 +18,7 @@ #include "code\world.dm" #include "code\__DEFINES\_globals.dm" #include "code\__DEFINES\_init.dm" +#include "code\__DEFINES\_math.dm" #include "code\__DEFINES\_protection.dm" #include "code\__DEFINES\_readme.dm" #include "code\__DEFINES\_spacemandmm.dm" @@ -27,6 +28,7 @@ #include "code\__DEFINES\access.dm" #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\antagonists.dm" +#include "code\__DEFINES\armour.dm" #include "code\__DEFINES\atmospherics.dm" #include "code\__DEFINES\bitfields.dm" #include "code\__DEFINES\bots.dm" @@ -64,7 +66,6 @@ #include "code\__DEFINES\logs.dm" #include "code\__DEFINES\machines.dm" #include "code\__DEFINES\martial_arts.dm" -#include "code\__DEFINES\math.dm" #include "code\__DEFINES\MC.dm" #include "code\__DEFINES\mecha.dm" #include "code\__DEFINES\medal.dm"