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 00000000000..84837f38bbc --- /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 f6cb410791f..18b9fe58db7 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 b270227a8f9..afb8ceed0d8 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 adf79c09fa5..e368f661175 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 ade2681afba..bae43ab4428 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 a12fce36e82..093ebbf5b57 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 ecb6a529079..141965ba3c1 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 90f12c37946..3cec8d3bd60 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 05de5fefe0e..82b01cd5961 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 7f3587cc053..692e0b7d63e 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 8dc1ba20d5b..f264619c335 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 e68ee892fef..ee08c52f99f 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 b7bf841d5a2..202ae6c51a5 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 e3778a18a19..6f2d457b6cc 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 f040919c76a..7bc970d2189 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 28cad82ffc6..3558b1f7753 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 a18ba5038d3..5be32e5b048 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 da15d2e573c..5e744046063 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 6ed5927165d..8ef738a49c4 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 381a993ac5c..6e6fb50c064 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 da9e05fddd6..cafc0f15d97 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 799e8ab5315..367db4766b8 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 b80d346bf30..d3ffb9ed1d7 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 0dd5c01c5e0..3eb447f32f4 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 3d9ae8b113c..6806ca70acb 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 5e50da79b76..2409ba56752 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 6facbd827be..ee2314beb3d 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 79adc34c249..20116f51ef9 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 9c5e1d57366..e2c0ad36fb7 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 5c09f1b5584..7f77f47f402 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 58dae571544..b445776d1fe 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 f0163d8753b..8d145ea9380 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 3b7823de94f..774ce696135 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 e9e66f49abc..a898b9d893e 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 9297fa2d12c..39f9d7f8ce1 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 21d5f684454..7dc36d7ec27 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 b5aec5bc931..9caa9b830bf 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 90be8634b67..e2013effa2d 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 18cb46c5a5c..ac8327c2ba0 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 5cf53314d1a..8a943ef3c6f 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 e365d669c92..e880dd64d5d 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 bd2d248d8b7..fdb747cd181 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 ffe6230131a..5d34a481c18 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 a833d9c6d1f..bee126165ad 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 6a955d9399e..c37eac2e5b2 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 d80b5886571..ec9f773414e 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 8020e6ad5be..d2f3ffbb59f 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 8d441124e7a..44a1261858d 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 55c13758203..7b537844cbd 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 877091714d9..a08d535aeb0 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 e7c2e796355..7636b16acda 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 935916d57d0..674443d4379 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 8090cabfbbd..fa6ca0b555d 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 f822333a90f..7aa808e3ec2 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 8912d1218b6..5af6cab67c0 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 022700ced07..075897cc3c7 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 ff758db20cb..bafd3921d7d 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 e5d0532ac0a..8ef693b6f6d 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 0821b8a81c5..05af4b3c430 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 03f88bdf238..b334d9fb551 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 6a75e915b37..00e731c0111 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 f184a4fa40a..224d7f4e4c4 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 1d8470ef87c..bc1db9ed27c 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 bd3326f6c95..560d8f66872 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 1bb61d48b89..e529bd477fa 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 1b30e182aba..ad3824d474c 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 ef0864d636b..8760a97bce6 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) - var/block_chance_modifier = round(damage / -3) +#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) - 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 +/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) + 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 5af273cb488..32d67422c48 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 ab88c0a05dd..0ab6f6821c2 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 f4f13c00649..31be4fc124b 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 d5cc8636cde..691a6d484c5 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 1779e0ad2a8..518a2125a0d 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 8433898565f..ead9c4df0d1 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 b372d74cc66..f90e0d6374c 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 1022756f7a9..6d96d6aaeaf 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 8cf1a35dff8..d9701363d14 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 f81d74f8506..cb2d795304e 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 84337f2d341..c2b78de6c00 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 1e611ff7bdf..139ce389ee6 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 fdfb200eda3..53d92214bb4 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 9a600634d33..50b510a93bb 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 b7e6529609a..721d9273b4c 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 c70af20b006..739b5967dde 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 619d93da659..2d107529f81 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 edf6a1261e4..2f00bbfc704 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 5355cac315c..c143544e357 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 b1fe9c909ff..7c59fe6a63a 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 abb833221c8..b63abd47d4e 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 9de43320569..655b6366e51 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 713a38d9bd5..87c232f4996 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 9ee06b0c895..88f95cd3514 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 65aae89ec88..43f0de7e3c3 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 743a799855a..ffcc3b7eb1b 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 a330b00a9ef..f24f9ab95c1 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"