From 5e918deded4db5d9f0776baaaaca67eba1a9ad07 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Sun, 2 Nov 2025 18:00:44 -0700 Subject: [PATCH] [MIRROR] Removes Armorsoak (#11879) Co-authored-by: Reo Lozzot <84661000+ReoDaProtovali@users.noreply.github.com> Co-authored-by: Cameron Lennox --- code/ZAS/Airflow.dm | 9 +-- code/ZAS/Fire.dm | 14 ++-- .../signals/signals_mob/signals_mob_main.dm | 6 +- code/datums/components/traits/burninlight.dm | 2 +- code/game/objects/items.dm | 1 - code/game/objects/items/devices/flash.dm | 2 +- .../objects/items/falling_object_attack_vr.dm | 3 +- .../objects/items/weapons/material/shards.dm | 2 +- code/game/objects/items/weapons/traps.dm | 12 +--- code/game/objects/structures/cliff.dm | 3 +- .../structures/stool_bed_chair_nest/chairs.dm | 6 +- .../stool_bed_chair_nest/wheelchair.dm | 6 +- code/modules/clothing/accessories/armor.dm | 5 -- code/modules/clothing/spacesuits/rig/rig.dm | 1 - code/modules/clothing/under/miscellaneous.dm | 1 - code/modules/holodeck/HolodeckObjects.dm | 6 +- code/modules/hydroponics/seed.dm | 5 +- code/modules/mob/_modifiers/modifiers.dm | 1 - .../mob/living/carbon/carbon_defense.dm | 8 +-- code/modules/mob/living/carbon/human/human.dm | 5 -- .../living/carbon/human/human_attackhand.dm | 6 +- .../mob/living/carbon/human/human_damage.dm | 16 ++--- .../mob/living/carbon/human/human_defense.dm | 69 +++---------------- .../carbon/human/species/species_attack.dm | 2 +- .../station/station_special_abilities.dm | 2 +- code/modules/mob/living/damage_procs.dm | 17 ++--- code/modules/mob/living/living_defense.dm | 41 +++-------- .../silicon/robot/dogborg/dog_modules.dm | 3 +- code/modules/mob/living/simple_mob/defense.dm | 12 ---- .../mob/living/simple_mob/overmap_mob_vr.dm | 10 --- .../mob/living/simple_mob/simple_mob.dm | 9 --- .../mob/living/simple_mob/simple_mob_vr.dm | 3 +- .../animal/alien animals/spookyghost.dm | 20 ------ .../subtypes/animal/alien animals/stardog.dm | 10 --- .../animal/alien animals/startreader.dm | 30 -------- .../subtypes/animal/sif/frostfly.dm | 11 --- .../simple_mob/subtypes/animal/sif/hare.dm | 10 --- .../subtypes/animal/sif/hooligan_crab.dm | 9 --- .../simple_mob/subtypes/animal/sif/kururak.dm | 14 +--- .../simple_mob/subtypes/animal/sif/leech.dm | 10 --- .../simple_mob/subtypes/animal/sif/pillbug.dm | 10 --- .../simple_mob/subtypes/animal/sif/racoon.dm | 10 --- .../simple_mob/subtypes/animal/sif/shantak.dm | 9 --- .../subtypes/mechanical/hivebot/tank.dm | 36 ---------- .../subtypes/occult/constructs/cardinal.dm | 5 +- .../subtypes/occult/constructs/juggernaut.dm | 5 +- .../subtypes/slime/xenobio/subtypes.dm | 10 --- .../living/simple_mob/subtypes/vore/c_pet.dm | 18 ----- .../vore/mobs_monsters/clowns/bigclowns.dm | 10 --- .../vore/mobs_monsters/clowns/busclowns.dm | 9 --- code/modules/mob/mob_grab_specials.dm | 8 +-- code/modules/planet/borealismajoris.dm | 6 +- code/modules/planet/sif.dm | 6 +- code/modules/planet/thor.dm | 12 +--- code/modules/planet/virgo3b_vr.dm | 6 +- code/modules/planet/virgo3c_vr.dm | 6 +- code/modules/planet/virgo4_vr.dm | 6 +- code/unit_tests/mob_tests.dm | 16 ----- .../code/game/machinery/traptiles.dm | 6 +- .../code/modules/clothing/gateway/gateway.dm | 5 +- .../simple_mob/subtypes/animal/crystal.dm | 3 +- .../living/simple_mob/subtypes/animal/sif.dm | 27 -------- .../simple_mob/subtypes/animal/space/alien.dm | 8 +-- .../simple_mob/subtypes/bullet_heck/base.dm | 1 - .../subtypes/bullet_heck/eclipse.dm | 29 +++----- .../simple_mob/subtypes/gateway/vistors.dm | 5 +- .../simple_mob/subtypes/humanoid/cultboss.dm | 11 +-- .../subtypes/humanoid/eclipse/eclipse.dm | 9 +-- .../subtypes/humanoid/eclipse/heads.dm | 19 ++--- .../subtypes/mechanical/hivebot/boss.dm | 12 +--- .../subtypes/mechanical/nanoweave.dm | 4 +- .../simple_mob/subtypes/slimess/feral.dm | 17 +---- .../simple_mob/subtypes/vore/blackholemobs.dm | 24 +------ .../simple_mob/subtypes/vore/spacecritters.dm | 10 +-- .../simple_mob/subtypes/vore/syndimobs.dm | 44 +++--------- modular_chomp/code/modules/planet/sif.dm | 18 +---- modular_chomp/code/modules/planet/tyr.dm | 18 +---- modular_chomp/maps/cetus/cetus-7.dmm | 2 +- .../maps/common_submaps/gateway/snowfield.dmm | 9 +-- .../maps/soluna_nexus/soluna_nexus-7.dmm | 2 +- .../maps/southern_cross/southern_cross-8.dmm | 2 +- 81 files changed, 131 insertions(+), 744 deletions(-) diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 1e75ed4909..44bf580cc5 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -126,16 +126,13 @@ Contains helper procs for airflow, handled in /connection_group. var/b_loss = airflow_speed * vsc.airflow_damage var/blocked = run_armor_check(BP_HEAD,"melee") - var/soaked = get_armor_soak(BP_HEAD,"melee") - apply_damage(b_loss/3, BRUTE, BP_HEAD, blocked, soaked, 0) + apply_damage(b_loss/3, BRUTE, BP_HEAD, blocked, 0) blocked = run_armor_check(BP_TORSO,"melee") - soaked = get_armor_soak(BP_TORSO,"melee") - apply_damage(b_loss/3, BRUTE, BP_TORSO, blocked, soaked, 0) + apply_damage(b_loss/3, BRUTE, BP_TORSO, blocked, 0) blocked = run_armor_check(BP_GROIN,"melee") - soaked = get_armor_soak(BP_GROIN,"melee") - apply_damage(b_loss/3, BRUTE, BP_GROIN, blocked, soaked, 0) + apply_damage(b_loss/3, BRUTE, BP_GROIN, blocked, 0) if(airflow_speed > 10) Paralyse(round(airflow_speed * vsc.airflow_stun)) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 2a43b049d6..de79b4ceb9 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -437,10 +437,10 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin //Always check these damage procs first if fire damage isn't working. They're probably what's wrong. - apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, 0, 0) - apply_damage(2.5*mx*chest_exposure, BURN, BP_TORSO, 0, 0) - apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, 0, 0) - apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, 0, 0) - apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, 0, 0) - apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, 0, 0) - apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, 0, 0) + apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, 0) + apply_damage(2.5*mx*chest_exposure, BURN, BP_TORSO, 0) + apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, 0) + apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, 0) + apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, 0) + apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, 0) + apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, 0) diff --git a/code/__defines/dcs/signals/signals_mob/signals_mob_main.dm b/code/__defines/dcs/signals/signals_mob/signals_mob_main.dm index 16e7b5a20f..175b1152c9 100644 --- a/code/__defines/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__defines/dcs/signals/signals_mob/signals_mob_main.dm @@ -1,13 +1,13 @@ ///from base of /mob/verb/pointed: (atom/A) #define COMSIG_MOB_POINTED "mob_pointed" -/// from /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) +/// from /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) /// allows you to add multiplicative damage modifiers to the damage mods argument to adjust incoming damage... UNUSED ATM /// not sent if the apply damage call was forced #define COMSIG_MOB_APPLY_DAMAGE_MODIFIERS "mob_apply_damage_modifiers" -/// from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) +/// from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) #define COMSIG_MOB_APPLY_DAMAGE "mob_apply_damage" -/// from /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, soaked, sharp, edge, /obj/used_weapon, projectile) +/// from /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, sharp, edge, /obj/used_weapon, projectile) /// works like above but after the damage is actually inflicted #define COMSIG_MOB_AFTER_APPLY_DAMAGE "mob_after_apply_damage" ///from end of revival_healing_action(): () diff --git a/code/datums/components/traits/burninlight.dm b/code/datums/components/traits/burninlight.dm index 357c9bf1bc..29f4613af4 100644 --- a/code/datums/components/traits/burninlight.dm +++ b/code/datums/components/traits/burninlight.dm @@ -44,7 +44,7 @@ var/covered = H.get_coverage() for(var/K in damageable) if(!(K in covered)) - H.apply_damage(light_amount * damage_rate, BURN, K, 0, 0) + H.apply_damage(light_amount * damage_rate, BURN, K, 0) else owner.take_overall_damage(light_amount * damage_rate,light_amount * damage_rate) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index cb6190b47f..9dd58e939f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -59,7 +59,6 @@ var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up var/canremove = TRUE //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N var/list/armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0) - var/list/armorsoak = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 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. var/zoomdevicename = null //name used for message when binoculars/scope is used diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 45e4c7aea6..a5a5f9262e 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -195,7 +195,7 @@ H.eye_blurry = max(H.eye_blurry, flash_strength + 5) H.flash_eyes() H.adjustHalLoss(halloss_per_flash * (flash_strength / 5)) // Should take four flashes to stun. - H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0) + H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0) else flashfail = 1 diff --git a/code/game/objects/items/falling_object_attack_vr.dm b/code/game/objects/items/falling_object_attack_vr.dm index b9537f7ca0..c9deb01717 100644 --- a/code/game/objects/items/falling_object_attack_vr.dm +++ b/code/game/objects/items/falling_object_attack_vr.dm @@ -34,9 +34,8 @@ for(var/mob/living/L in loc) var/target_zone = ran_zone() var/blocked = L.run_armor_check(target_zone, "melee") - var/soaked = L.get_armor_soak(target_zone, "melee") - if(!L.apply_damage(35, BRUTE, target_zone, blocked, soaked)) + if(!L.apply_damage(35, BRUTE, target_zone, blocked)) break playsound(src, 'sound/effects/clang2.ogg', 50, 1) qdel(src) diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index 0d071569ef..d1e89496c3 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -89,7 +89,7 @@ if(user.gloves && !protected_hands) to_chat(user, span_warning("\The [src] partially cuts into your hand through your gloves as you hit \the [target]!")) - user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src.sharp, src.edge, src) // Ternary to include break damage + user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, src.sharp, src.edge, src) // Ternary to include break damage else if(!user.gloves) to_chat(user, span_warning("\The [src] cuts into your hand as you hit \the [target]!")) diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index 81525e2ff4..a63d04b96e 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -98,15 +98,11 @@ //armour var/blocked = L.run_armor_check(target_zone, "melee") - var/soaked = L.get_armor_soak(target_zone, "melee") if(blocked >= 100) return - if(soaked >= 30) - return - - if(!L.apply_damage(30, BRUTE, target_zone, blocked, soaked, used_weapon=src)) + if(!L.apply_damage(30, BRUTE, target_zone, blocked, used_weapon=src)) return 0 if(ishuman(L)) @@ -347,14 +343,10 @@ //armour var/blocked = L.run_armor_check(target_zone, "melee") - var/soaked = L.get_armor_soak(target_zone, "melee") if(blocked >= 100) return - if(soaked >= 30) - return - if(L.buckled) //wheelchairs, office chairs, rollerbeds return @@ -362,7 +354,7 @@ L.add_modifier(/datum/modifier/entangled, 3 SECONDS) - if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, soaked, sharp, edge, src)) + if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, sharp, edge, src)) return playsound(src, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds diff --git a/code/game/objects/structures/cliff.dm b/code/game/objects/structures/cliff.dm index 82709a375e..8acf488f54 100644 --- a/code/game/objects/structures/cliff.dm +++ b/code/game/objects/structures/cliff.dm @@ -240,9 +240,8 @@ two tiles on initialization, and which way a cliff is facing may change during m var/damage = between(20, L.getMaxHealth() * 0.4, 100) var/target_zone = ran_zone() var/blocked = L.run_armor_check(target_zone, "melee") * harm - var/soaked = L.get_armor_soak(target_zone, "melee") * harm - L.apply_damage(damage * harm, BRUTE, target_zone, blocked, soaked, used_weapon=src) + L.apply_damage(damage * harm, BRUTE, target_zone, blocked, used_weapon=src) // Now fall off more cliffs below this one if they exist. var/obj/structure/cliff/bottom_cliff = locate() in T diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index e65ae147fc..7a74a49e10 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -212,22 +212,20 @@ var/def_zone = ran_zone() var/blocked = occupant.run_armor_check(def_zone, "melee") - var/soaked = occupant.get_armor_soak(def_zone, "melee") occupant.throw_at(A, 3, propelled) occupant.apply_effect(6, STUN, blocked) occupant.apply_effect(6, WEAKEN, blocked) occupant.apply_effect(6, STUTTER, blocked) - occupant.apply_damage(10, BRUTE, def_zone, blocked, soaked) + occupant.apply_damage(10, BRUTE, def_zone, blocked) playsound(src, 'sound/weapons/punch1.ogg', 50, 1, -1) if(isliving(A)) var/mob/living/victim = A def_zone = ran_zone() blocked = victim.run_armor_check(def_zone, "melee") - soaked = victim.get_armor_soak(def_zone, "melee") victim.apply_effect(6, STUN, blocked) victim.apply_effect(6, WEAKEN, blocked) victim.apply_effect(6, STUTTER, blocked) - victim.apply_damage(10, BRUTE, def_zone, blocked, soaked) + victim.apply_damage(10, BRUTE, def_zone, blocked) occupant.visible_message(span_danger("[occupant] crashed into \the [A]!")) /obj/structure/bed/chair/office/light diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index 37a09fe209..f0c3b9eb91 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -190,22 +190,20 @@ var/def_zone = ran_zone() var/blocked = occupant.run_armor_check(def_zone, "melee") - var/soaked = occupant.get_armor_soak(def_zone, "melee") occupant.throw_at(A, 3, propelled) occupant.apply_effect(6, STUN, blocked) occupant.apply_effect(6, WEAKEN, blocked) occupant.apply_effect(6, STUTTER, blocked) - occupant.apply_damage(10, BRUTE, def_zone, soaked) + occupant.apply_damage(10, BRUTE, def_zone) playsound(src, 'sound/weapons/punch1.ogg', 50, 1, -1) if(isliving(A)) var/mob/living/victim = A def_zone = ran_zone() blocked = victim.run_armor_check(def_zone, "melee") - soaked = victim.get_armor_soak(def_zone, "melee") victim.apply_effect(6, STUN, blocked) victim.apply_effect(6, WEAKEN, blocked) victim.apply_effect(6, STUTTER, blocked) - victim.apply_damage(10, BRUTE, def_zone, soaked) + victim.apply_damage(10, BRUTE, def_zone) if(pulling) occupant.visible_message(span_danger("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!")) diff --git a/code/modules/clothing/accessories/armor.dm b/code/modules/clothing/accessories/armor.dm index 844f42e322..dc3a91ada1 100644 --- a/code/modules/clothing/accessories/armor.dm +++ b/code/modules/clothing/accessories/armor.dm @@ -104,14 +104,12 @@ desc = "A mesh armor plate made of steel-reinforced synthetic fibers, great for dealing with small blades. Attaches to a plate carrier." icon_state = "armor_stab" armor = list(melee = 30, bullet = 5, laser = 20, energy = 10, bomb = 15, bio = 0, rad = 0) - armorsoak = list(melee = 7, bullet = 5, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) /obj/item/clothing/accessory/armor/armorplate/blast name = "gel armor plate" desc = "A gel armor plate made of high-grade polymers, great for dealing with localized blasts. Attaches to a plate carrier." icon_state = "armor_blast" armor = list(melee = 25, bullet = 25, laser = 10, energy = 0, bomb = 30, bio = 0, rad = 0) - armorsoak = list(melee = 5, bullet = 7, laser = 0, energy = 0, bomb = 40, bio = 0, rad = 0) /obj/item/clothing/accessory/armor/armorplate/medium name = "medium armor plate" @@ -137,7 +135,6 @@ icon_state = "armor_ballistic" slowdown = 0.5 armor = list(melee = 10, bullet = 70, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) - armorsoak = list(melee = 0, bullet = 10, laser = 0, energy = 5, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.7 /obj/item/clothing/accessory/armor/armorplate/riot @@ -146,7 +143,6 @@ icon_state = "armor_riot" slowdown = 0.5 armor = list(melee = 70, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) - armorsoak = list(melee = 10, bullet = 0, laser = 0, energy = 5, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.7 /obj/item/clothing/accessory/armor/armorplate/laserproof @@ -155,7 +151,6 @@ icon_state = "armor_ablative" slowdown = 0.5 armor = list(melee = 10, bullet = 10, laser = 70, energy = 50, bomb = 0, bio = 0, rad = 0) - armorsoak = list(melee = 0, bullet = 0, laser = 10, energy = 15, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.1 /obj/item/clothing/accessory/armor/armorplate/ablative/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index df79748723..1443af5cb5 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -162,7 +162,6 @@ piece.permeability_coefficient = permeability_coefficient piece.unacidable = unacidable if(islist(armor)) piece.armor = armor.Copy() - if(islist(armorsoak)) piece.armorsoak = armorsoak.Copy() update_icon(1) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index d650de8b2c..168fd6809d 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -1149,7 +1149,6 @@ /obj/item/clothing/under/explorer/armored desc = "A green uniform for operating in hazardous environments. This one looks like it's been modified." armor = list(melee = 10, bullet = 10, laser = 10,energy = 10, bomb = 10, bio = 10, rad = 30) - armorsoak = list(melee = 5, bullet = 5, laser = 5,energy = 5, bomb = 5, bio = 5, rad = 0) /obj/item/clothing/under/cohesion name = "black cohesion suit" diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index ff0d9db24e..548be2f94c 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -172,7 +172,6 @@ return TRUE var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_sel.selecting)) var/armor_block = target.run_armor_check(affecting, "melee") - var/armor_soak = target.get_armor_soak(affecting, "melee") if(HULK in user.mutations) damage += 5 @@ -181,10 +180,7 @@ target.visible_message(span_bolddanger("[user] has punched [target]!")) - if(armor_soak >= damage) - return TRUE - - target.apply_damage(damage, HALLOSS, affecting, armor_block, armor_soak) + target.apply_damage(damage, HALLOSS, affecting, armor_block) if(damage >= 9) target.visible_message(span_bolddanger("[user] has weakened [target]!")) target.apply_effect(4, WEAKEN, armor_block) diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 91683a5701..cf554f074a 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -129,7 +129,6 @@ if(!target_limb) target_limb = pick(BP_ALL) var/blocked = target.run_armor_check(target_limb, "melee") - var/soaked = target.get_armor_soak(target_limb, "melee") if(blocked >= 100) return @@ -143,7 +142,7 @@ if(affecting) to_chat(target, span_danger("\The [fruit]'s thorns pierce your [affecting.name] greedily!")) - target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge) + target.apply_damage(damage, BRUTE, target_limb, blocked, TRUE, has_edge) else to_chat(target, span_danger("\The [fruit]'s thorns pierce your flesh greedily!")) target.adjustBruteLoss(damage) @@ -152,7 +151,7 @@ has_edge = prob(get_trait(TRAIT_POTENCY)/5) if(affecting) to_chat(target, span_danger("\The [fruit]'s thorns dig deeply into your [affecting.name]!")) - target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge) + target.apply_damage(damage, BRUTE, target_limb, blocked, TRUE, has_edge) else to_chat(target, span_danger("\The [fruit]'s thorns dig deeply into your flesh!")) target.adjustBruteLoss(damage) diff --git a/code/modules/mob/_modifiers/modifiers.dm b/code/modules/mob/_modifiers/modifiers.dm index 3d003b5dd2..75cbaeb1c5 100644 --- a/code/modules/mob/_modifiers/modifiers.dm +++ b/code/modules/mob/_modifiers/modifiers.dm @@ -57,7 +57,6 @@ // Note that these are combined with the mob's real armor values additatively. You can also omit specific armor types. var/list/armor_percent = null // List of armor values to add to the holder when doing armor calculations. This is for percentage based armor. E.g. 50 = half damage. - var/list/armor_flat = null // Same as above but only for flat armor calculations. E.g. 5 = 5 less damage (this comes after percentage). // Unlike armor, this is multiplicative. Two 50% protection modifiers will be combined into 75% protection (assuming no base protection on the mob). var/heat_protection = null // Modifies how 'heat' protection is calculated, like wearing a firesuit. 1 = full protection. var/cold_protection = null // Ditto, but for cold, like wearing a winter coat. diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index bde449d04b..dc2b49391d 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -4,14 +4,10 @@ return null ..() -/mob/living/carbon/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/soaked, var/hit_zone) +/mob/living/carbon/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone) if(!effective_force || blocked >= 100) return 0 - //If the armor soaks all of the damage, it just skips the rest of the checks - if(effective_force <= soaked) - return 0 - //Apply weapon damage var/weapon_sharp = is_sharp(I) var/weapon_edge = has_edge(I) @@ -21,7 +17,7 @@ weapon_edge = 0 hit_embed_chance = I.force/(I.w_class*3) - apply_damage(effective_force, I.damtype, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I) + apply_damage(effective_force, I.damtype, hit_zone, blocked, weapon_sharp, weapon_edge, I) //Melee weapon embedded object code. if (I && I.damtype == BRUTE && !I.anchored && !is_robot_module(I) && I.embed_chance > 0) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fb7c1b9674..79fcc2cb49 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -222,11 +222,6 @@ if (prob(50) && !shielded) Paralyse(10) - var/blastsoak = getsoak(null, "bomb") - - b_loss = max(1, b_loss - blastsoak) - f_loss = max(1, f_loss - blastsoak) - var/update = 0 // focus most of the blast on one organ diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 1c6ad2a026..a9e7c0802b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -399,12 +399,11 @@ real_damage = max(1, real_damage) var/armour = run_armor_check(hit_zone, "melee") - var/soaked = get_armor_soak(hit_zone, "melee") // Apply additional unarmed effects. attack.apply_effects(H, src, armour, rand_damage, hit_zone) // Finally, apply damage to target - apply_damage(real_damage, hit_dam_type, hit_zone, armour, soaked, sharp=attack.sharp, edge=attack.edge) + apply_damage(real_damage, hit_dam_type, hit_zone, armour, attack.sharp, attack.edge) /// INTENTS END @@ -432,8 +431,7 @@ var/dam_zone = pick(organs_by_name) var/obj/item/organ/external/affecting = get_organ(ran_zone(dam_zone)) var/armor_block = run_armor_check(affecting, armor_type, armor_pen) - var/armor_soak = get_armor_soak(affecting, armor_type, armor_pen) - apply_damage(damage, BRUTE, affecting, armor_block, armor_soak, sharp = a_sharp, edge = a_edge) + apply_damage(damage, BRUTE, affecting, armor_block, a_sharp, a_edge) updatehealth() return TRUE diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index fe8e5c220c..87268cdd5a 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -535,10 +535,10 @@ This function restores all organs. return organs_by_name[zone] */ -/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/soaked = 0, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = FALSE) - SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) +/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = FALSE) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) if(GLOB.Debug2) - log_world("## DEBUG: human/apply_damage() was called on [src], with [damage] damage, an armor value of [blocked], and a soak value of [soaked].") + log_world("## DEBUG: human/apply_damage() was called on [src], with [damage] damage, and an armor value of [blocked].") var/obj/item/organ/external/organ = null if(isorgan(def_zone)) organ = def_zone @@ -599,7 +599,7 @@ This function restores all organs. if((damage > 25 && prob(20)) || (damage > 50 && prob(60))) if(organ && organ.organ_can_feel_pain() && !isbelly(loc) && !istype(loc, /obj/item/dogborg/sleeper)) //VOREStation Add emote("scream") - ..(damage, damagetype, def_zone, blocked, soaked) + ..(damage, damagetype, def_zone, blocked) return 1 //Handle BRUTE and BURN damage @@ -608,18 +608,12 @@ This function restores all organs. if(blocked >= 100) return 0 - if(soaked >= damage) - return 0 - if(!organ) return 0 if(blocked) blocked = (100-blocked)/100 damage = (damage * blocked) - if(soaked) - damage -= soaked - if(GLOB.Debug2) log_world("## DEBUG: [src] was hit for [damage].") @@ -676,5 +670,5 @@ This function restores all organs. // Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life(). updatehealth() BITSET(hud_updateflag, HEALTH_HUD) - SEND_SIGNAL(src, COMSIG_MOB_AFTER_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) + SEND_SIGNAL(src, COMSIG_MOB_AFTER_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) return 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index b041117ae2..297f84a7c3 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -111,29 +111,6 @@ emp_act total += weight return (armorval/max(total, 1)) -//Like getarmor, but the value it returns will be numerical damage reduction -/mob/living/carbon/human/getsoak(var/def_zone, var/type) - var/soakval = 0 - var/total = 0 - - if(def_zone) - if(isorgan(def_zone)) - return getsoak_organ(def_zone, type) - var/obj/item/organ/external/affecting = get_organ(def_zone) - if(affecting) - return getsoak_organ(affecting, type) - //If a specific bodypart is targetted, check how that bodypart is protected and return the value. - - //If you don't specify a bodypart, it checks ALL your bodyparts for protection, and averages out the values - for(var/organ_name in organs_by_name) - if (organ_name in organ_rel_size) - var/obj/item/organ/external/organ = organs_by_name[organ_name] - if(organ) - var/weight = organ_rel_size[organ_name] - soakval += getsoak_organ(organ, type) * weight - total += weight - return (soakval/max(total, 1)) - //this proc returns the Siemens coefficient of electrical resistivity for a particular external organ. /mob/living/carbon/human/proc/get_siemens_coefficient_organ(var/obj/item/organ/external/def_zone) if (!def_zone) @@ -199,21 +176,6 @@ emp_act return protection -/mob/living/carbon/human/proc/getsoak_organ(var/obj/item/organ/external/def_zone, var/type) - if(!type || !def_zone) - return 0 - var/soaked = 0 - var/list/protective_gear = def_zone.get_covering_clothing() - for(var/obj/item/clothing/gear in protective_gear) - soaked += gear.armorsoak[type] - - for(var/datum/modifier/M as anything in modifiers) - var/modifier_armor = LAZYACCESS(M.armor_flat, type) - if(modifier_armor) - soaked += modifier_armor - - return soaked - // Checked in borer code /mob/living/carbon/human/proc/check_head_coverage() var/obj/item/organ/external/H = organs_by_name[BP_HEAD] @@ -278,15 +240,13 @@ emp_act visible_message(span_danger("[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] in the [affecting.name] with [I.name] by [user]!")) - var/soaked = get_armor_soak(hit_zone, "melee", I.armor_penetration) - var/blocked = run_armor_check(hit_zone, "melee", I.armor_penetration, "Your armor has protected your [affecting.name].", "Your armor has softened the blow to your [affecting.name].") - standard_weapon_hit_effects(I, user, effective_force, blocked, soaked, hit_zone) + standard_weapon_hit_effects(I, user, effective_force, blocked, hit_zone) return blocked -/mob/living/carbon/human/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/soaked, var/hit_zone) +/mob/living/carbon/human/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone) var/obj/item/organ/external/affecting = get_organ(hit_zone) if(!affecting) return 0 @@ -297,17 +257,15 @@ emp_act for(var/obj/item/clothing/C in clothing) C.clothing_impact(I, effective_force) - if(soaked >= round(effective_force*0.8)) - effective_force -= round(effective_force*0.8) // Handle striking to cripple. if(user.a_intent == I_DISARM) effective_force *= 0.5 //reduced effective force... - if(!..(I, user, effective_force, blocked, soaked, hit_zone)) + if(!..(I, user, effective_force, blocked, hit_zone)) return 0 //set the dislocate mult less than the effective force mult so that //dislocating limbs on disarm is a bit easier than breaking limbs on harm - attack_joint(affecting, I, effective_force, 0.75, blocked, soaked) //...but can dislocate joints + attack_joint(affecting, I, effective_force, 0.75, blocked) //...but can dislocate joints else if(!..()) return 0 @@ -337,7 +295,7 @@ emp_act switch(hit_zone) if(BP_HEAD)//Harder to score a stun but if you do it lasts a bit longer if(prob(effective_force)) - apply_effect(20, PARALYZE, blocked, soaked) + apply_effect(20, PARALYZE, blocked) visible_message(span_danger("\The [src] has been knocked unconscious!")) if(bloody)//Apply blood if(wear_mask) @@ -351,23 +309,20 @@ emp_act update_inv_glasses(0) if(BP_TORSO)//Easier to score a stun but lasts less time if(prob(effective_force + 10)) - apply_effect(6, WEAKEN, blocked, soaked) + apply_effect(6, WEAKEN, blocked) visible_message(span_danger("\The [src] has been knocked down!")) if(bloody) bloody_body(src) return 1 -/mob/living/carbon/human/proc/attack_joint(var/obj/item/organ/external/organ, var/obj/item/W, var/effective_force, var/dislocate_mult, var/blocked, var/soaked) +/mob/living/carbon/human/proc/attack_joint(var/obj/item/organ/external/organ, var/obj/item/W, var/effective_force, var/dislocate_mult, var/blocked) if(!organ || (organ.dislocated == 1) || (organ.dislocated == -1) || blocked >= 100) //VOREStation Edit Bugfix return 0 if(W.damtype != BRUTE) return 0 - if(soaked >= round(effective_force*0.8)) - effective_force -= round(effective_force*0.8) - //want the dislocation chance to be such that the limb is expected to dislocate after dealing a fraction of the damage needed to break the limb var/dislocate_chance = effective_force/(dislocate_mult * organ.min_broken_damage * CONFIG_GET(number/organ_health_multiplier))*100 if(prob(dislocate_chance * (100 - blocked)/100)) @@ -481,15 +436,9 @@ emp_act if(ismob(O.thrower)) add_attack_logs(O.thrower,src,"Hit with thrown [O.name]") - //If the armor absorbs all of the damage, skip the rest of the calculations - var/soaked = get_armor_soak(affecting, "melee", O.armor_penetration) - if(soaked >= throw_damage) - to_chat(src, span_warning("Your armor absorbs the force of [O.name]!")) - return - var/armor = run_armor_check(affecting, "melee", O.armor_penetration, "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].") //I guess "melee" is the best fit here if(armor < 100) - apply_damage(throw_damage, O.damtype, zone, armor, soaked, is_sharp(O), has_edge(O), O) + apply_damage(throw_damage, O.damtype, zone, armor, is_sharp(O), has_edge(O), O) //thrown weapon embedded object code. @@ -497,8 +446,6 @@ emp_act if (!is_robot_module(O)) var/sharp = is_sharp(O) var/damage = throw_damage - if(soaked) - damage -= soaked if(armor) damage /= armor+1 diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 8e2a8578bf..b15a1d1fd9 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -179,4 +179,4 @@ selfdamagezone=pick(BP_L_ARM, BP_L_HAND) else selfdamagezone=pick(BP_R_ARM, BP_R_HAND) - user.apply_damage(selfdamage, BRUTE, selfdamagezone, 0, 0, sharp=FALSE, edge=FALSE) + user.apply_damage(selfdamage, BRUTE, selfdamagezone, 0, FALSE, FALSE) diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities.dm index 5430c17690..e9d4f24335 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities.dm @@ -124,7 +124,7 @@ else src.visible_message(span_infoplain(span_red(span_italics("[src] suddenly extends their fangs and plunges them down into [B]'s neck!"))), range = 1) if(bleed) - B.apply_damage(10, BRUTE, BP_HEAD, blocked = 0, soaked = 0, sharp = TRUE, edge = FALSE) + B.apply_damage(10, BRUTE, BP_HEAD, blocked = 0, sharp = TRUE, edge = FALSE) var/obj/item/organ/external/E = B.get_organ(BP_HEAD) if(!(E.status & ORGAN_BLEEDING)) E.status |= ORGAN_BLEEDING //If 10 points of piercing didn't make the organ bleed, we are making it bleed. diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 11f6d065ad..2c8e75c2cd 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -8,8 +8,8 @@ Returns standard 0 if fail */ -/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/soaked = 0, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = 0) - SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) +/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = 0) + SEND_SIGNAL(src, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) if(GLOB.Debug2) log_world("## DEBUG: apply_damage() was called on [src], with [damage] damage, and an armor value of [blocked].") if(!damage || (blocked >= 100)) @@ -61,11 +61,6 @@ else damage = damage * M.effective_tox_resistance continue - if(soaked) - if(soaked >= round(damage*0.8)) - damage -= round(damage*0.8) - else - damage -= soaked var/initial_blocked = blocked @@ -79,8 +74,8 @@ adjustFireLoss(damage * blocked) attempt_multishock(SHOCKFLAG_BURNDAMAGE) if(SEARING) - apply_damage(round(damage / 3), BURN, def_zone, initial_blocked, soaked, sharp, edge, used_weapon) - apply_damage(round(damage / 3 * 2), BRUTE, def_zone, initial_blocked, soaked, sharp, edge, used_weapon) + apply_damage(round(damage / 3), BURN, def_zone, initial_blocked, sharp, edge, used_weapon) + apply_damage(round(damage / 3 * 2), BRUTE, def_zone, initial_blocked, sharp, edge, used_weapon) if(TOX) adjustToxLoss(damage * blocked) if(OXY) @@ -93,7 +88,7 @@ electrocute_act(damage, used_weapon, 1.0, def_zone) if(BIOACID) if(isSynthetic()) - apply_damage(damage, BURN, def_zone, initial_blocked, soaked, sharp, edge, used_weapon) // Handle it as normal burn. + apply_damage(damage, BURN, def_zone, initial_blocked, sharp, edge, used_weapon) // Handle it as normal burn. else adjustToxLoss(damage * blocked) if(ELECTROMAG) @@ -124,7 +119,7 @@ emp_act(4) flash_weak_pain() updatehealth() - SEND_SIGNAL(src, COMSIG_MOB_AFTER_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, soaked, sharp, edge, used_weapon, projectile) + SEND_SIGNAL(src, COMSIG_MOB_AFTER_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, sharp, edge, used_weapon, projectile) return 1 diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index d303c7d71f..4f6df255c3 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -77,21 +77,10 @@ return 0 */ -//Certain pieces of armor actually absorb flat amounts of damage from income attacks -/mob/living/proc/get_armor_soak(var/def_zone = null, var/attack_flag = "melee", var/armour_pen = 0) - var/soaked = getsoak(def_zone, attack_flag) - //5 points of armor pen negate one point of soak - if(armour_pen) - soaked = max(soaked - (armour_pen/5), 0) - return soaked - //if null is passed for def_zone, then this should return something appropriate for all zones (e.g. area effect damage) /mob/living/proc/getarmor(var/def_zone, var/type) return 0 -/mob/living/proc/getsoak(var/def_zone, var/type) - return 0 - // Clicking with an empty hand /mob/living/attack_hand(mob/living/L) ..() @@ -119,15 +108,10 @@ ai_holder.react_to_attack(P.firer) //Armor - var/soaked = get_armor_soak(def_zone, P.check_armour, P.armor_penetration) var/absorb = run_armor_check(def_zone, P.check_armour, P.armor_penetration) var/proj_sharp = is_sharp(P) var/proj_edge = has_edge(P) - if ((proj_sharp || proj_edge) && (soaked >= round(P.damage*0.8))) - proj_sharp = 0 - proj_edge = 0 - if ((proj_sharp || proj_edge) && prob(getarmor(def_zone, P.check_armour))) proj_sharp = 0 proj_edge = 0 @@ -136,13 +120,13 @@ if(P.taser_effect) stun_effect_act(0, P.agony, def_zone, P, electric = TRUE) if(!P.nodamage) - apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, sharp=proj_sharp, edge=proj_edge, used_weapon=P, projectile=TRUE) + apply_damage(P.damage, P.damage_type, def_zone, absorb, proj_sharp, proj_edge, P, TRUE) qdel(P) return if(!P.nodamage) - apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, sharp=proj_sharp, edge=proj_edge, used_weapon=P, projectile=TRUE) - P.on_hit(src, absorb, soaked, def_zone) + apply_damage(P.damage, P.damage_type, def_zone, absorb, proj_sharp, proj_edge, P, TRUE) + P.on_hit(src, absorb, def_zone) if(absorb == 100) return 2 @@ -219,13 +203,12 @@ playsound(src, 'sound/effects/attackblob.ogg', 50, 1) //Armor - var/soaked = get_armor_soak(def_zone, armor_check, armor_pen) var/absorb = run_armor_check(def_zone, armor_check, armor_pen) if(ai_holder) ai_holder.react_to_attack(B) - apply_damage(damage, damage_type, def_zone, absorb, soaked) + apply_damage(damage, damage_type, def_zone, absorb) /mob/living/proc/resolve_item_attack(obj/item/I, mob/living/user, var/target_zone) return target_zone @@ -237,10 +220,9 @@ if(ai_holder) ai_holder.react_to_attack(user) - var/soaked = get_armor_soak(hit_zone, "melee") var/blocked = run_armor_check(hit_zone, "melee") - standard_weapon_hit_effects(I, user, effective_force, blocked, soaked, hit_zone) + standard_weapon_hit_effects(I, user, effective_force, blocked, hit_zone) if(I.damtype == BRUTE && prob(33)) // Added blood for whacking non-humans too var/turf/simulated/location = get_turf(src) @@ -249,22 +231,18 @@ return blocked //returns 0 if the effects failed to apply for some reason, 1 otherwise. -/mob/living/proc/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/soaked, var/hit_zone) +/mob/living/proc/standard_weapon_hit_effects(obj/item/I, mob/living/user, var/effective_force, var/blocked, var/hit_zone) if(!effective_force || blocked >= 100) return 0 //Apply weapon damage var/weapon_sharp = is_sharp(I) var/weapon_edge = has_edge(I) - if(getsoak(hit_zone, "melee",) - (I.armor_penetration/5) > round(effective_force*0.8)) //soaking a hit turns sharp attacks into blunt ones - weapon_sharp = 0 - weapon_edge = 0 - if(prob(max(getarmor(hit_zone, "melee") - I.armor_penetration, 0))) //melee armour provides a chance to turn sharp/edge weapon attacks into blunt ones weapon_sharp = 0 weapon_edge = 0 - apply_damage(effective_force, I.damtype, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I) + apply_damage(effective_force, I.damtype, hit_zone, blocked, weapon_sharp, weapon_edge, I) return 1 @@ -290,10 +268,9 @@ //CHOMPEDIT - removing baymiss src.visible_message(span_filter_warning("[span_red("[src] has been hit by [O].")]")) var/armor = run_armor_check(null, "melee") - var/soaked = get_armor_soak(null, "melee") - apply_damage(throw_damage, dtype, null, armor, soaked, is_sharp(O), has_edge(O), O) + apply_damage(throw_damage, dtype, null, armor, is_sharp(O), has_edge(O), O) O.throwing = 0 //it hit, so stop moving @@ -318,8 +295,6 @@ if(!O || !src) return if(O.sharp) //Projectile is suitable for pinning. - if(soaked >= round(throw_damage*0.8)) - return //Handles embedding for non-humans and simple_animals. embed(O) diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules.dm index 8bb6279323..0c1e0389c5 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules.dm @@ -468,8 +468,7 @@ return var/armor_block = run_armor_check(T, "melee") - var/armor_soak = get_armor_soak(T, "melee") - T.apply_damage(20, HALLOSS,, armor_block, armor_soak) + T.apply_damage(20, HALLOSS, null, armor_block) if(prob(75)) //75% chance to stun for 5 seconds, really only going to be 4 bcus click cooldown+animation. T.apply_effect(5, STUN, armor_block) T.drop_both_hands() //CHOMPEdit Stuns no longer drop items diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm index 53ec793684..949d7a8252 100644 --- a/code/modules/mob/living/simple_mob/defense.dm +++ b/code/modules/mob/living/simple_mob/defense.dm @@ -270,18 +270,6 @@ return armorval -/mob/living/simple_mob/getsoak(def_zone, attack_flag) - var/armorval = armor_soak[attack_flag] - if(isnull(armorval)) - armorval = 0 - - for(var/datum/modifier/M as anything in modifiers) - var/modifier_armor = LAZYACCESS(M.armor_flat, attack_flag) - if(modifier_armor) - armorval += modifier_armor - - return armorval - // Lightning /mob/living/simple_mob/lightning_act() ..() diff --git a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm index 478111d294..0ef9d42bab 100644 --- a/code/modules/mob/living/simple_mob/overmap_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/overmap_mob_vr.dm @@ -122,16 +122,6 @@ "bio" = 1000, "rad" = 1000) - armor_soak = list( - "melee" = 1000, - "bullet" = 1000, - "laser" = 1000, - "energy" = 1000, - "bomb" = 1000, - "bio" = 1000, - "rad" = 1000 - ) - var/scanner_desc var/obj/effect/overmap/visitable/simplemob/child_om_marker var/om_child_type diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 4f53e277e1..65443cf1f3 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -140,15 +140,6 @@ "bio" = 100, "rad" = 100 ) - var/list/armor_soak = list( // Values for getsoak() checks. - "melee" = 0, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) // Protection against heat/cold/electric/water effects. // 0 is no protection, 1 is total protection. Negative numbers increase vulnerability. var/heat_resist = 0.0 diff --git a/code/modules/mob/living/simple_mob/simple_mob_vr.dm b/code/modules/mob/living/simple_mob/simple_mob_vr.dm index 9eb7281d41..988b407988 100644 --- a/code/modules/mob/living/simple_mob/simple_mob_vr.dm +++ b/code/modules/mob/living/simple_mob/simple_mob_vr.dm @@ -472,7 +472,6 @@ H.Weaken(3) return var/armor_block = run_armor_check(T, "melee") - var/armor_soak = get_armor_soak(T, "melee") - T.apply_damage(20, HALLOSS,, armor_block, armor_soak) + T.apply_damage(20, HALLOSS, null, armor_block) if(prob(75)) T.apply_effect(3, WEAKEN, armor_block) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm index 1518d58066..462c410bb2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/spookyghost.dm @@ -61,16 +61,6 @@ "bio" = 0, "rad" = 100) - armor_soak = list( - "melee" = 100, - "bullet" = 100, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 100 - ) - loot_list = list(/obj/item/ore/diamond = 100, /obj/item/ectoplasm = 3) speak_emote = list("rumbles") @@ -175,16 +165,6 @@ "bio" = 0, "rad" = 100) - armor_soak = list( - "melee" = 100, - "bullet" = 100, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 100 - ) - speak_emote = list("rumbles") vore_active = 0 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm index 7728d32a35..5baf514cab 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/stardog.dm @@ -48,16 +48,6 @@ "bio" = 1000, "rad" = 1000) - armor_soak = list( - "melee" = 1000, - "bullet" = 1000, - "laser" = 1000, - "energy" = 1000, - "bomb" = 1000, - "bio" = 1000, - "rad" = 1000 - ) - movement_cooldown = 5 copy_prefs_to_mob = FALSE player_msg = "The dog accepts you into itself, allowing you to dictate what will happen. The dog occasionally thinks unknowable thoughts, though you can understand some of its needs and desires. The dog shares its experience with you. You can navigate space, 'transition' to certain locations, and you can dine upon some of the space weather. The dog doesn't seem to know how any of this works exactly, this is just how things are for the dog, they come as naturally to the dog as blinking." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm index 6b1f47d51f..786a016f80 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/startreader.dm @@ -58,16 +58,6 @@ "bio" = 100, "rad" = 100) - armor_soak = list( - "melee" = 30, - "bullet" = 30, - "laser" = 10, - "energy" = 10, - "bomb" = 0, - "bio" = 100, - "rad" = 100 - ) - speak_emote = list("rumbles") say_list_type = /datum/say_list/startreader @@ -142,16 +132,6 @@ "bomb" = 0, "bio" = 0, "rad" = 0) - - armor_soak = list( - "melee" = 0, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) icon_living = "startreader_flipped" AdjustStunned(flip_cooldown) else @@ -163,16 +143,6 @@ "bomb" = 0, "bio" = 100, "rad" = 100) - - armor_soak = list( - "melee" = 30, - "bullet" = 30, - "laser" = 10, - "energy" = 10, - "bomb" = 0, - "bio" = 100, - "rad" = 100 - ) icon_living = "startreader" SetStunned(0) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm index d38976d53e..504132c0b3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm @@ -65,17 +65,6 @@ "rad" = 100 ) - // The frostfly's body is incredibly cold at all times, natural resistance to things trying to burn it. - armor_soak = list( - "melee" = 0, - "bullet" = 0, - "laser" = 15, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - var/datum/effect/effect/system/smoke_spread/frost/smoke_special say_list_type = /datum/say_list/frostfly diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm index d35b44a7c8..c96c85aba9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm @@ -37,16 +37,6 @@ "rad" = 0 ) - armor_soak = list( - "melee" = 5, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - movement_cooldown = -1 mob_size = MOB_SMALL diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm index 79a1e9d06a..da3ca57727 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hooligan_crab.dm @@ -53,15 +53,6 @@ "bio" = 0, "rad" = 0 ) - armor_soak = list( - "melee" = 10, - "bullet" = 5, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) mob_size = MOB_LARGE diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm index 6fa0ef3012..9a26432d22 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm @@ -60,16 +60,6 @@ "rad" = 100 ) - armor_soak = list( - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - say_list_type = /datum/say_list/kururak ai_holder_type = /datum/ai_holder/simple_mob/intentional/kururak @@ -213,7 +203,7 @@ to_chat(H, span_alien("You are disoriented by \the [src]!")) H.eye_blurry = max(H.eye_blurry, flash_strength + 5) H.flash_eyes() - H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0) + H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0) else if(issilicon(L)) if(isrobot(L)) @@ -291,7 +281,7 @@ var/mob/living/L = A if(ishuman(L)) var/mob/living/carbon/human/H = L - H.apply_damage(damage_to_apply, BRUTE, BP_TORSO, 0, 0) + H.apply_damage(damage_to_apply, BRUTE, BP_TORSO, 0) else L.adjustBruteLoss(damage_to_apply) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm index 8ba2db4bba..f4496f014c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/leech.dm @@ -81,16 +81,6 @@ "rad" = 100 ) - armor_soak = list( - "melee" = 5, - "bullet" = 5, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - say_list_type = /datum/say_list/leech ai_holder_type = /datum/ai_holder/simple_mob/intentional/leech diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm index 9e81bb927e..bb29ad9aca 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm @@ -41,15 +41,5 @@ "rad" = 100 ) - armor_soak = list( - "melee" = 10, - "bullet" = 0, - "laser" = 10, - "energy" = 10, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - /decl/mob_organ_names/pillbug hit_zones = list("cephalon", "pereon", "pleon", "left forelegs", "right forelegs", "left hind legs", "right hind legs") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm index 672f6f6851..1855883473 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/racoon.dm @@ -52,16 +52,6 @@ "rad" = 100 ) - armor_soak = list( - "melee" = 2, - "bullet" = 2, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - say_list_type = /datum/say_list/sakimm ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative/sakimm diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm index 4fd11d892e..5fe628588f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/shantak.dm @@ -33,15 +33,6 @@ icon = 'icons/jungle.dmi' maxHealth = 75 - armor_soak = list( - "melee" = 5, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) heat_resist = -0.50 cold_resist = 0.75 movement_cooldown = -1 diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm index 94e6645939..0ea89c7a28 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/tank.dm @@ -67,15 +67,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( - "melee" = 15, - "bullet" = 10, - "laser" = 15, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_melee name = "riot hivebot" @@ -90,15 +81,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( - "melee" = 20, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_bullet name = "bulletproof hivebot" @@ -113,15 +95,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( - "melee" = 0, - "bullet" = 20, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/mechanical/hivebot/tank/armored/anti_laser name = "ablative hivebot" @@ -136,15 +109,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( - "melee" = 0, - "bullet" = 0, - "laser" = 20, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) var/reflect_chance = 40 // Same as regular ablative. // Ablative Hivebots can reflect lasers just like humans. diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/cardinal.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/cardinal.dm index 55300b0c9e..f39dabe183 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/cardinal.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/cardinal.dm @@ -53,7 +53,6 @@ var/projectile_dam_type = P.damage_type var/incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) var/armorcheck = run_armor_check(null, P.check_armour) - var/soakedcheck = get_armor_soak(null, P.check_armour) if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))) visible_message(span_danger("The [P.name] bounces off of [src]'s shell!"), \ span_userdanger("The [P.name] bounces off of [src]'s shell!")) @@ -61,7 +60,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BRUTE incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased. - apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, is_sharp(P), has_edge(P), P) return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect. else visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \ @@ -71,7 +70,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BURN incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to burn for energy-type projectiles, though severely decreased. - apply_damage(incoming_damage, P.damage_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, P.damage_type, null, armorcheck, is_sharp(P), has_edge(P), P) // Find a turf near or on the original location to bounce to if(P.starting) diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm index ada4af8262..0c3c343918 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/juggernaut.dm @@ -59,7 +59,6 @@ var/projectile_dam_type = P.damage_type var/incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) var/armorcheck = run_armor_check(null, P.check_armour) - var/soakedcheck = get_armor_soak(null, P.check_armour) if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))) visible_message(span_danger("The [P.name] bounces off of [src]'s shell!"), \ span_userdanger("The [P.name] bounces off of [src]'s shell!")) @@ -67,7 +66,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BRUTE incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased. - apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, is_sharp(P), has_edge(P), P) return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect. else visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \ @@ -77,7 +76,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BURN incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to burn for energy-type projectiles, though severely decreased. - apply_damage(incoming_damage, P.damage_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, P.damage_type, null, armorcheck, is_sharp(P), has_edge(P), P) // Find a turf near or on the original location to bounce to if(P.starting) diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm index dd866959c2..e77781bc5c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm +++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm @@ -98,16 +98,6 @@ "rad" = 100 ) - armor_soak = list( - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - slime_mutation = list( /mob/living/simple_mob/slime/xenobio/silver, /mob/living/simple_mob/slime/xenobio/yellow, diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm b/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm index 3514286c57..c202b6d3b0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/c_pet.dm @@ -29,15 +29,6 @@ "bio" = 0, "rad" = 0 ) - armor_soak = list( - "melee" = 80, - "bullet" = 20, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) has_langs = list(LANGUAGE_ANIMAL) @@ -80,15 +71,6 @@ "bio" = 0, "rad" = 0 ) - armor_soak = list( - "melee" = 80, - "bullet" = 20, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/animal/passive/mimepet/attack_hand(mob/living/user as mob) if(user.a_intent == I_DISARM) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bigclowns.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bigclowns.dm index 6232d96d00..18b19659c5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bigclowns.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/bigclowns.dm @@ -228,16 +228,6 @@ "bio" = 0, "rad" = 0 ) - armor_soak = list( - "melee" = 10, - "bullet" = 5, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - /mob/living/simple_mob/clowns/big/chlown name = "A Clown?" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/busclowns.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/busclowns.dm index 6c0311ec0a..a289f6f4a7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/busclowns.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mobs_monsters/clowns/busclowns.dm @@ -228,15 +228,6 @@ "bio" = 0, "rad" = 0 ) - armor_soak = list( - "melee" = 10, - "bullet" = 5, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/clowns/big/c_shift/chlown diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 09c72c096b..47d08e79c6 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -55,8 +55,7 @@ return var/armor = target.run_armor_check(target, "melee") - var/soaked = target.get_armor_soak(target, "melee") - if(armor + soaked < 60) + if(armor < 60) to_chat(target, span_danger("You feel extreme pain!")) var/max_halloss = round(target.species.total_health * 0.8) //up to 80% of passing out @@ -98,9 +97,8 @@ damage += hat.force * 3 var/armor = target.run_armor_check(BP_HEAD, "melee") - var/soaked = target.get_armor_soak(BP_HEAD, "melee") - target.apply_damage(damage, BRUTE, BP_HEAD, armor, soaked) - attacker.apply_damage(10, BRUTE, BP_HEAD, attacker.run_armor_check(BP_HEAD), attacker.get_armor_soak(BP_HEAD)) + target.apply_damage(damage, BRUTE, BP_HEAD, armor) + attacker.apply_damage(10, BRUTE, BP_HEAD, attacker.run_armor_check(BP_HEAD)) if(!armor && target.headcheck(BP_HEAD) && prob(damage)) target.apply_effect(20, PARALYZE) diff --git a/code/modules/planet/borealismajoris.dm b/code/modules/planet/borealismajoris.dm index be419a8f83..e2a575e4eb 100644 --- a/code/modules/planet/borealismajoris.dm +++ b/code/modules/planet/borealismajoris.dm @@ -433,15 +433,11 @@ var/datum/planet/borealis2/planet_borealis2 = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") if(amount_blocked >= 100) continue // No need to apply damage. - if(amount_soaked >= 10) - continue // No need to apply damage. - - H.apply_damage(rand(1, 3), BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail") + H.apply_damage(rand(1, 3), BRUTE, target_zone, amount_blocked, used_weapon = "hail") if(show_message) to_chat(H, effect_message) diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm index d24cc3a98e..e290f29e72 100644 --- a/code/modules/planet/sif.dm +++ b/code/modules/planet/sif.dm @@ -433,7 +433,6 @@ var/datum/planet/sif/planet_sif = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,3) @@ -441,10 +440,7 @@ var/datum/planet/sif/planet_sif = null return // No need to apply damage. Hardhats are 30. They should probably protect you from hail on your head. //Voidsuits are likewise 40, and riot, 80. Clothes are all less than 30. - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail") + H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "hail") if(show_message) to_chat(H, effect_message) diff --git a/code/modules/planet/thor.dm b/code/modules/planet/thor.dm index 091090cdbf..ad362d0d60 100644 --- a/code/modules/planet/thor.dm +++ b/code/modules/planet/thor.dm @@ -394,7 +394,6 @@ var/datum/planet/thor/planet_thor = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,3) @@ -402,10 +401,7 @@ var/datum/planet/thor/planet_thor = null return // No need to apply damage. Hardhats are 30. They should probably protect you from hail on your head. //Voidsuits are likewise 40, and riot, 80. Clothes are all less than 30. - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail") + H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "hail") if(show_message) to_chat(H, effect_message) @@ -726,17 +722,13 @@ var/datum/planet/thor/planet_thor = null var/target_zone = pick(BP_ALL) var/amount_blocked = L.run_armor_check(target_zone, "melee") - var/amount_soaked = L.get_armor_soak(target_zone, "melee") var/damage = rand(10,30) //Ow if(amount_blocked >= 30) return - if(amount_soaked >= damage) - return // No need to apply damage. - - L.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "rain bludgoning") + L.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "rain bludgoning") L.Weaken(3) if(show_message) to_chat(L, effect_message) diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm index daed13b0c9..440740f873 100644 --- a/code/modules/planet/virgo3b_vr.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -416,7 +416,6 @@ var/datum/planet/virgo3b/planet_virgo3b = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,3) @@ -424,10 +423,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null return // No need to apply damage. Hardhats are 30. They should probably protect you from hail on your head. //Voidsuits are likewise 40, and riot, 80. Clothes are all less than 30. - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked) + H.apply_damage(damage, BRUTE, target_zone, amount_blocked) if(show_message) to_chat(H, effect_message) diff --git a/code/modules/planet/virgo3c_vr.dm b/code/modules/planet/virgo3c_vr.dm index a4f7d6b6ba..5b9bb4f9a8 100644 --- a/code/modules/planet/virgo3c_vr.dm +++ b/code/modules/planet/virgo3c_vr.dm @@ -406,7 +406,6 @@ var/datum/planet/virgo3c/planet_virgo3c = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,3) @@ -414,10 +413,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null return // No need to apply damage. Hardhats are 30. They should probably protect you from hail on your head. //Voidsuits are likewise 40, and riot, 80. Clothes are all less than 30. - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked) + H.apply_damage(damage, BRUTE, target_zone, amount_blocked) if(show_message) to_chat(H, effect_message) diff --git a/code/modules/planet/virgo4_vr.dm b/code/modules/planet/virgo4_vr.dm index 1023df4e01..fc45654094 100644 --- a/code/modules/planet/virgo4_vr.dm +++ b/code/modules/planet/virgo4_vr.dm @@ -390,7 +390,6 @@ var/datum/planet/virgo4/planet_virgo4 = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,3) @@ -398,10 +397,7 @@ var/datum/planet/virgo4/planet_virgo4 = null return // No need to apply damage. Hardhats are 30. They should probably protect you from hail on your head. //Voidsuits are likewise 40, and riot, 80. Clothes are all less than 30. - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked) + H.apply_damage(damage, BRUTE, target_zone, amount_blocked) if(show_message) to_chat(H, effect_message) diff --git a/code/unit_tests/mob_tests.dm b/code/unit_tests/mob_tests.dm index 868d93903e..b90cdfdd69 100644 --- a/code/unit_tests/mob_tests.dm +++ b/code/unit_tests/mob_tests.dm @@ -142,19 +142,3 @@ /datum/unit_test/modifier/percentage_armor/simple_mob name = "MOB: simple mob percentage armor is calculated correctly" subject_type = /mob/living/simple_mob - - -/datum/unit_test/modifier/percentage_flat - name = "MOB: human mob flat armor is calculated correctly" - inputs = list(100, 75, 50, 25, 0) - expected_outputs = list(100, 75, 50, 25, 0) - -/datum/unit_test/modifier/percentage_flat/set_tested_variable(datum/modifier/M, new_value) - M.armor_flat = list("melee" = new_value) - -/datum/unit_test/modifier/percentage_flat/get_test_value(mob/living/L) - return L.getsoak(null, "melee") - -/datum/unit_test/modifier/percentage_flat/simple_mob - name = "MOB: simple mob flat armor is calculated correctly" - subject_type = /mob/living/simple_mob diff --git a/modular_chomp/code/game/machinery/traptiles.dm b/modular_chomp/code/game/machinery/traptiles.dm index a30de65c5b..8ad4ac2817 100644 --- a/modular_chomp/code/game/machinery/traptiles.dm +++ b/modular_chomp/code/game/machinery/traptiles.dm @@ -14,18 +14,14 @@ //armour var/blocked = L.run_armor_check(target_zone, "melee") - var/soaked = L.get_armor_soak(target_zone, "melee") if(blocked >= 100) return - if(soaked >= 30) - return - if(L.buckled) //wheelchairs, office chairs, rollerbeds return - if(!L.apply_damage(30, BURN, target_zone, blocked, soaked, used_weapon=src)) + if(!L.apply_damage(30, BURN, target_zone, blocked, used_weapon=src)) return 0 shock(L, 100, target_zone) diff --git a/modular_chomp/code/modules/clothing/gateway/gateway.dm b/modular_chomp/code/modules/clothing/gateway/gateway.dm index d570e58949..80f9acbdfd 100644 --- a/modular_chomp/code/modules/clothing/gateway/gateway.dm +++ b/modular_chomp/code/modules/clothing/gateway/gateway.dm @@ -159,12 +159,11 @@ /obj/item/clothing/suit/armor/alien/vistor name = "rocky suit" desc = "A strange set of armor made of rocky plates" - description_info = "It always reduces all damage by the same amount, with a 12% chance to block." + description_info = "Reduces all admage types by 25% with a 12% chance to block." icon_state = "alien_tank" slowdown = 0 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) - armorsoak = list( melee = 12, bullet = 12,laser = 12, energy = 12 , bomb = 0, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 25, bio = 25, rad = 25) //Should be good enough to mimic the old '12% reduction'. block_chance = 12 /obj/item/clothing/suit/armor/tesla/vistor diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/crystal.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/crystal.dm index 80599942b1..4206515f0a 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/crystal.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/crystal.dm @@ -12,8 +12,7 @@ icon_state = "crystal" icon_dead = "crystal_dead" - armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 0, bio = 100, rad = 100) - armor_soak = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 80, bullet = 80, laser = 80, energy = 80, bomb = 0, bio = 100, rad = 100) min_oxy = 0 max_oxy = 0 diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/sif.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/sif.dm index 7a7bda1f8c..6de2e80a96 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/sif.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/sif.dm @@ -2,15 +2,6 @@ /mob/living/simple_mob/animal/sif/shantak maxHealth = 37 - armor_soak = list( - "melee" = 2, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/animal/sif/shantak/leader maxHealth = 62 @@ -22,28 +13,10 @@ /mob/living/simple_mob/animal/sif/kururak maxHealth = 100 health = 100 - armor_soak = list( - "melee" = 2, - "bullet" = 2, - "laser" = 2, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/animal/sif/frostfly maxHealth = 32 health = 32 - armor_soak = list( - "melee" = 0, - "bullet" = 0, - "laser" = 5, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/vore/aggressive/deathclaw maxHealth = 100 diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm index aa571e68a1..3b0b3a6522 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/animal/space/alien.dm @@ -46,7 +46,7 @@ /mob/living/simple_mob/animal/space/alien/sentinel/praetorian/tank name = "alien Tankerling" - armor_soak = list(melee = -15, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = -25, bullet = 20, laser = 20, energy = 0, bomb = 0, bio = 0, rad = 0) base_attack_cooldown = 25 color = "#ff8214" health = 700 @@ -65,11 +65,11 @@ /mob/living/simple_mob/animal/space/alien/queen/empress/star name = "alien Staticlisk" ai_holder_type = /datum/ai_holder/simple_mob/ranged/careful - armor_soak = list(melee = -10, bullet = 10, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0) base_attack_cooldown = 15 color = "#38b9ff" health = 500 maxHealth = 500 + armor = list(melee = -20, bullet = 20, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) melee_damage_lower = 25 melee_damage_upper = 30 movement_cooldown = 12 @@ -83,11 +83,11 @@ /mob/living/simple_mob/animal/space/alien/queen/empress/tank name = "alien tankerlisk" - armor_soak = list(melee = -10, bullet = 10, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0) base_attack_cooldown = 25 color = "#4a4a4a" health = 1250 maxHealth = 1250 + armor = list(melee = -20, bullet = 20, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) melee_damage_lower = 25 melee_damage_upper = 30 movement_cooldown = 12 @@ -100,10 +100,10 @@ /mob/living/simple_mob/animal/space/alien/sentinel/electro name = "alien Electrosentinel" ai_holder_type = /datum/ai_holder/simple_mob/ranged/careful - armor_soak = list(melee = 0, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0) color = "#ccff4a" health = 200 maxHealth = 200 + armor = list(melee = 0, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) needs_reload = 1 projectiletype = /obj/item/projectile/beam/stun/electric_spider reload_max = 5 diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/base.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/base.dm index 9fb5b160f6..e73562861c 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/base.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/base.dm @@ -6,7 +6,6 @@ has_repair_droid = TRUE ai_holder_type = /datum/ai_holder/simple_mob/intentional/three_phases armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) special_attack_min_range = 1 special_attack_max_range = 7 special_attack_cooldown = 10 //This things attack soley via speical attacks hence basically no cooldown diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/eclipse.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/eclipse.dm index 9c3ddadbcd..63f779c95a 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/eclipse.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/bullet_heck/eclipse.dm @@ -62,8 +62,7 @@ name = "Eclipse Expirmental Mining Mecha" desc = "You mecha guarded by a powerful shield. Perhaps it will drop at some point." specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" shock_resist = 1 wreckage = /obj/structure/loot_pile/mecha/odd_ripley @@ -76,21 +75,18 @@ specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 12, 2, 10), 1 SECOND, TIMER_DELETE_ME) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "mining_mecha" attackcycle = 0 else if(attackcycle == 2) specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 15), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 else if(attackcycle == 3) specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 15), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 if(I_HURT) //phase1 @@ -98,21 +94,18 @@ specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(random_firing), A, 6, 2, 10), 1 SECOND, TIMER_DELETE_ME) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "mining_mecha" attackcycle = 0 else if(attackcycle == 2) specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 20), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 else if(attackcycle == 3) specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 20), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 if(I_GRAB) // Phase 2 @@ -120,21 +113,18 @@ specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(random_firing), A, 8, 2, 10), 1 SECOND, TIMER_DELETE_ME) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "mining_mecha" attackcycle = 0 else if(attackcycle == 2) specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 15), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 else if(attackcycle == 3) specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 15), 0.5 SECONDS, TIMER_DELETE_ME) - armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100) icon_state = "shielded_mining_mecha" attackcycle = 0 @@ -147,7 +137,6 @@ desc = "A mecha made for enginering purposes, with several alterations to be an odd ball combat unit." specialattackprojectile = /obj/item/projectile/energy/excavate/weak armor = list(melee = 30, bullet = 30, laser = 30, energy = 40, bomb = 90, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "engi_spider" shock_resist = 1 projectiletype = /obj/item/projectile/beam/chain_lightning @@ -243,13 +232,11 @@ /mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/armored/bullet_act(obj/item/projectile/P) .= ..() if(istype(P, /obj/item/projectile/bullet)) - armor = list(melee = 80, bullet = 80, laser = 30, energy = 30, bomb = 80, bio = 100, rad = 100) - armor_soak = list(melee = 10, bullet = 10, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 90, bullet = 90, laser = 30, energy = 30, bomb = 80, bio = 100, rad = 100) icon_state = "eclipse_janus_red" visible_message(span_cult("[P] has been adapted too!.")) else armor = list(melee = 30, bullet = 30, laser = 80, energy = 80, bomb = 80, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) icon_state = "eclipse_janus_orange" visible_message(span_cult("[P] has been adapted too!.")) diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/vistors.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/vistors.dm index fc63c35ae8..37e9dca8b5 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/vistors.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/vistors.dm @@ -24,7 +24,6 @@ var/projectile_dam_type = P.damage_type var/incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3))) var/armorcheck = run_armor_check(null, P.check_armour) - var/soakedcheck = get_armor_soak(null, P.check_armour) if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))) visible_message(span_danger("The [P.name] bounces off of [src]'s shield!"), \ span_userdanger("The [P.name] bounces off of [src]'s shield!")) @@ -32,7 +31,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BRUTE incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased. - apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, is_sharp(P), has_edge(P), P) return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect. else visible_message(span_danger("The [P.name] gets reflected by [src]'s shield!"), \ @@ -42,7 +41,7 @@ if(!(P.damage_type == BRUTE || P.damage_type == BURN)) projectile_dam_type = BURN incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to burn for energy-type projectiles, though severely decreased. - apply_damage(incoming_damage, P.damage_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P) + apply_damage(incoming_damage, P.damage_type, null, armorcheck, is_sharp(P), has_edge(P), P) // Find a turf near or on the original location to bounce to if(P.starting) diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultboss.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultboss.dm index bd2246310a..6517edad20 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultboss.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/cultboss.dm @@ -2,6 +2,7 @@ name = "Rift Magus" maxHealth = 450 //Boss Mobs should be tanky. //Old 225 health = 450 + armor = list(melee = 70, bullet = 60, laser = 60, energy = 90, bomb = 30, bio = 100, rad = 100) melee_damage_lower = 30 //Old 15 melee_damage_upper = 45 //Old 22 @@ -26,16 +27,6 @@ damage_fatigue_mult = 0.5 // We don't want to give them a flat, huge boost to attack speed, but at the same time, make them fight harder the closer they are to dying. injury_enrages = TRUE - armor_soak = list( //Combat refactor walk back. old 2 armor_soak - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 5, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - loot_list = list(/obj/item/clothing/head/culthood/void = 100, /obj/item/clothing/suit/cultrobes/void = 100, /obj/item/clothing/shoes/boots/cult/void = 100, diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm index dd4a60c85b..8ed737d737 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm @@ -131,8 +131,7 @@ maxHealth = 100 projectiletype = /obj/item/projectile/energy/eclipse - armor = list(melee = -100, bullet = -100, laser = 40, energy = 40, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns. - armor_soak = list(melee = 0, bullet = 0, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0) + armor = list(melee = -100, bullet = -100, laser = 90, energy = 90, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns. /mob/living/simple_mob/humanoid/eclipse/solar/bullet_act(obj/item/projectile/P) ..() @@ -413,8 +412,7 @@ health = 100 maxHealth = 100 projectiletype = /obj/item/projectile/bullet/crystaline - armor = list(melee = 40, bullet = 40, laser = -100, energy = -100, bomb = 50, bio = 100, rad = 100) //Lunar members are nigh immune to burns. - armor_soak = list(melee = 20, bullet = 20, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) //15 because every melee weapon has dumb amount of AP + armor = list(melee = 80, bullet = 80, laser = -100, energy = -100, bomb = 50, bio = 100, rad = 100) //Lunar members take massive damage from to burns. /mob/living/simple_mob/humanoid/eclipse/lunar/bullet_act(obj/item/projectile/P) ..() @@ -1019,6 +1017,3 @@ to_chat(M, span_critical("The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.")) var/blood_to_remove = (rand(10,30)) M.remove_blood(blood_to_remove) - - - diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/heads.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/heads.dm index 78ce5c7886..b7a2bfdcf3 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/heads.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/heads.dm @@ -10,8 +10,7 @@ damage_fatigue_mult = 0 - armor = list(melee = 20, bullet = 20, laser = 20, energy = 20, bomb = 100, bio = 100, rad = 100) - armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 34, bullet = 34, laser = 34, energy = 34, bomb = 100, bio = 100, rad = 100) has_heal_droid = TRUE /mob/living/simple_mob/humanoid/eclipse/head/security @@ -500,9 +499,8 @@ for(var/mob/living/L in loc) var/target_zone = ran_zone() var/blocked = L.run_armor_check(target_zone, "laser") - var/soaked = L.get_armor_soak(target_zone, "laser") - if(!L.apply_damage(70, BURN, target_zone, blocked, soaked)) + if(!L.apply_damage(70, BURN, target_zone, blocked)) break playsound(src, 'sound/effects/clang2.ogg', 50, 1) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME) @@ -526,9 +524,8 @@ for(var/mob/living/L in loc) var/target_zone = ran_zone() var/blocked = L.run_armor_check(target_zone, "energy") - var/soaked = L.get_armor_soak(target_zone, "energy") - if(!L.apply_damage(50, BURN, target_zone, blocked, soaked)) + if(!L.apply_damage(50, BURN, target_zone, blocked)) break playsound(src, 'sound/effects/squelch1.ogg', 50, 1) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME) @@ -593,17 +590,13 @@ /obj/effect/slimeattack/proc/attack_mob(mob/living/L) var/target_zone = pick(BP_ALL) var/amount_blocked = L.run_armor_check(target_zone, "bio") - var/amount_soaked = L.get_armor_soak(target_zone, "bio") var/damage = rand(5,5) if(amount_blocked >= 40) return - if(amount_soaked >= damage) - return - - L.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "slime") + L.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "slime") L.add_modifier(modifiertype, 5 SECONDS) /mob/living/simple_mob/humanoid/eclipse/minion @@ -616,7 +609,6 @@ health = 7 maxHealth = 7 armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100) - armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) icon_state = "squishblob" icon_living = "squishblob" ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax @@ -641,8 +633,7 @@ glow_override = TRUE glow_color = "#FFA723" glow_range = 16 - armor = list(melee = 35, bullet = 35, laser = 35, energy = 35, bomb = 100, bio = 100, rad = 100) - armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 49, bullet = 49, laser = 49, energy = 49, bomb = 100, bio = 100, rad = 100) projectiletype = /obj/item/projectile/energy/homing_bolt ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax loot_list = list(/obj/item/slime_extract/sepia = 25, diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/boss.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/boss.dm index edda63ff2d..a94ff93b1f 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/boss.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/boss.dm @@ -24,17 +24,7 @@ water_resist = 3 attack_armor_pen = -50 - armor = list(melee = -150, bullet = 40, laser = 40, energy = 40, bomb = 40, bio = 100, rad = 100) - - armor_soak = list( - "melee" = 0, - "bullet" = 10, - "laser" = 10, - "energy" = 10, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) + armor = list(melee = -150, bullet = 60, laser = 60, energy = 60, bomb = 40, bio = 100, rad = 100) loot_list = list(/obj/item/clothing/suit/armor/alien = 30, /obj/item/clothing/suit/armor/alien/tank = 30, diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/nanoweave.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/nanoweave.dm index c983c6eedd..a2e7018913 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/nanoweave.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/mechanical/nanoweave.dm @@ -292,9 +292,8 @@ for(var/mob/living/L in loc) var/target_zone = ran_zone() var/blocked = L.run_armor_check(target_zone, "laser") - var/soaked = L.get_armor_soak(target_zone, "laser") - if(!L.apply_damage(40, BURN, target_zone, blocked, soaked)) + if(!L.apply_damage(40, BURN, target_zone, blocked)) break playsound(src, 'sound/effects/teleport.ogg', 50, 1) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME) @@ -759,4 +758,3 @@ if(!target) return explosion(src.loc, 30, 16, 8, 4) - diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/feral.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/feral.dm index 8d26b98f9e..9e79adaa2a 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/feral.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/feral.dm @@ -52,26 +52,15 @@ coretype = /obj/item/slime_extract/metal maxHealth = 250 armor = list( - "melee" = 25, - "bullet" = 25, - "laser" = 25, + "melee" = 35, + "bullet" = 35, + "laser" = 35, "energy" = 50, "bomb" = 80, "bio" = 100, "rad" = 100 ) - armor_soak = list( - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) - - /mob/living/simple_mob/slime/feral/yellow desc = "This slime is very conductive, and is known to use electricity as a means of defense moreso than usual for slimes." color = "#FFF423" diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/blackholemobs.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/blackholemobs.dm index f9270a7b8e..9b30f2c15a 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/blackholemobs.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/blackholemobs.dm @@ -53,15 +53,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( // Values for getsoak() checks. - "melee" = 0, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) var/exploded = FALSE var/explosion_dev_range = 0 var/explosion_heavy_range = 0 @@ -732,21 +723,12 @@ GLOBAL_LIST_INIT(obelisk_lure_messages, list( armor = list( "melee" = 100, - "bullet" = 70, - "laser" = 70, - "energy" = 90, + "bullet" = 80, + "laser" = 80, + "energy" = 97, "bomb" = 0, "bio" = 100, "rad" = 100) - armor_soak = list( - "melee" = 15, - "bullet" = 5, - "laser" = 5, - "energy" = 5, - "bomb" = 0, - "bio" = 100, - "rad" = 100 - ) var/datum/looping_sound/obelisk/loopy = 1 /mob/living/simple_mob/vore/blackhole_obelisk/monolith diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/spacecritters.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/spacecritters.dm index 2ce15bfa73..57b337ef62 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/spacecritters.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/spacecritters.dm @@ -250,15 +250,7 @@ icon_living = "gravityshell" icon_dead = "gravityshell-dead" movement_cooldown = 5 // Lower is faster. - armor_soak = list( // Values for getsoak() checks. - "melee" = 7, - "bullet" = 7, - "laser" = 7, - "energy" = 7, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) + armor = list(melee = 14, bullet = 14, laser = 14, energy = 14, bomb = 0, bio = 100, rad = 100) var/artifact_master = /datum/component/artifact_master/gravity evolve = "/mob/living/simple_mob/vore/spacecritter/gravityshell/cleanse" diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/syndimobs.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/syndimobs.dm index 936157643a..9b1c2db86b 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/syndimobs.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/syndimobs.dm @@ -48,15 +48,6 @@ "bio" = 100, "rad" = 100 ) - armor_soak = list( // Values for getsoak() checks. - "melee" = 0, - "bullet" = 0, - "laser" = 0, - "energy" = 0, - "bomb" = 0, - "bio" = 0, - "rad" = 0 - ) // Leaping is a special attack, so these values determine when leap can happen. // Leaping won't occur if its on cooldown. @@ -91,24 +82,14 @@ special_attack_cooldown = 30 SECONDS armor = list( // Values for normal getarmor() checks - "melee" = 20, - "bullet" = 20, - "laser" = 20, - "energy" = 5, + "melee" = 30, + "bullet" = 30, + "laser" = 30, + "energy" = 15, "bomb" = 0, "bio" = 100, "rad" = 100 ) - armor_soak = list( // Values for getsoak() checks. - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 5, - "bomb" = 5, - "bio" = 0, - "rad" = 0 - ) - /mob/living/simple_mob/vore/otie/syndicate/apply_bonus_melee_damage(atom/A, damage_amount) if(isliving(A)) @@ -191,23 +172,14 @@ buckle_lying = FALSE vore_icons = SA_ICON_LIVING | SA_ICON_REST armor = list( // Values for normal getarmor() checks - "melee" = 30, - "bullet" = 10, - "laser" = 10, - "energy" = 5, + "melee" = 40, + "bullet" = 20, + "laser" = 20, + "energy" = 15, "bomb" = 0, "bio" = 100, "rad" = 100 ) - armor_soak = list( // Values for getsoak() checks. - "melee" = 5, - "bullet" = 5, - "laser" = 5, - "energy" = 5, - "bomb" = 5, - "bio" = 0, - "rad" = 0 - ) /mob/living/simple_mob/vore/wolf/direwolf/syndicate/black name = "mercenary commandoggo" diff --git a/modular_chomp/code/modules/planet/sif.dm b/modular_chomp/code/modules/planet/sif.dm index 73faa116f0..8dbbaeea8b 100644 --- a/modular_chomp/code/modules/planet/sif.dm +++ b/modular_chomp/code/modules/planet/sif.dm @@ -135,17 +135,13 @@ var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "bio") - var/amount_soaked = H.get_armor_soak(target_zone, "bio") var/damage = rand(1,5) if(amount_blocked >= 40) return - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "acidic rain") + H.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "acidic rain") if(show_message) to_chat(H, effect_message) @@ -168,17 +164,13 @@ var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(1,2) if(amount_blocked >= 10) return - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand") + H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand") if(show_message) to_chat(H, effect_message) @@ -394,17 +386,13 @@ var/target_zone = pick(BP_ALL) var/amount_blocked = L.run_armor_check(target_zone, "melee") - var/amount_soaked = L.get_armor_soak(target_zone, "melee") var/damage = rand(10,30) //Ow if(amount_blocked >= 30) return - if(amount_soaked >= damage) - return // No need to apply damage. - - L.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "rain bludgoning") + L.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "rain bludgoning") L.Weaken(3) if(show_message) to_chat(L, effect_message) diff --git a/modular_chomp/code/modules/planet/tyr.dm b/modular_chomp/code/modules/planet/tyr.dm index f4694d4c87..305b9e6686 100644 --- a/modular_chomp/code/modules/planet/tyr.dm +++ b/modular_chomp/code/modules/planet/tyr.dm @@ -170,17 +170,13 @@ var/datum/planet/tyr/planet_tyr = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "bio") - var/amount_soaked = H.get_armor_soak(target_zone, "bio") var/damage = rand(1,1) if(amount_blocked >= 40) return - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "burning ash") + H.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "burning ash") if(show_message) to_chat(H, effect_message) @@ -207,17 +203,13 @@ var/datum/planet/tyr/planet_tyr = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(2,2) if(amount_blocked >= 10) return - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand") + H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand") if(show_message) to_chat(H, effect_message) @@ -247,17 +239,13 @@ var/datum/planet/tyr/planet_tyr = null var/target_zone = pick(BP_ALL) var/amount_blocked = H.run_armor_check(target_zone, "melee") - var/amount_soaked = H.get_armor_soak(target_zone, "melee") var/damage = rand(5,5) if(amount_blocked >= 40) return - if(amount_soaked >= damage) - return // No need to apply damage. - - H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand") + H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand") if(show_message) to_chat(H, effect_message) diff --git a/modular_chomp/maps/cetus/cetus-7.dmm b/modular_chomp/maps/cetus/cetus-7.dmm index c77b9f32b5..516705c3b3 100644 --- a/modular_chomp/maps/cetus/cetus-7.dmm +++ b/modular_chomp/maps/cetus/cetus-7.dmm @@ -12569,7 +12569,7 @@ /area/shuttle/syndicate) "mBJ" = ( /mob/living/simple_mob/animal/passive/cat/space{ - armor_soak = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); + armor = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); desc = "They look well taken care of. There is a small scratch mark through the L of their collar that looks like it was made by a claw."; description_antag = "That space suit looks like it can withstand just about any assault. You feel that you will regret hurting this one."; description_fluff = "Back after a very long trip. Their suit smells of adventure!"; diff --git a/modular_chomp/maps/common_submaps/gateway/snowfield.dmm b/modular_chomp/maps/common_submaps/gateway/snowfield.dmm index aa233e4ca9..30afb9c0bf 100644 --- a/modular_chomp/maps/common_submaps/gateway/snowfield.dmm +++ b/modular_chomp/maps/common_submaps/gateway/snowfield.dmm @@ -8901,8 +8901,7 @@ desc = "Clearly for combat, these tactical gloves are not only somewhat fire and impact resistant, but also has a thin layer of armor. Bulky, but better than having a papercut in combat while naked." }, /obj/item/clothing/gloves/combat{ - armor = list("melee"=30,"bullet"=30,"laser"=10,"energy"=20,"bomb"=45,"bio"=5,"rad"=20); - armorsoak = list("melee"=5,"bullet"=0,"laser"=0,"energy"=5,"bomb"=5,"bio"=0,"rad"=0); + armor = list("melee"=40,"bullet"=30,"laser"=10,"energy"=30,"bomb"=55,"bio"=5,"rad"=20); desc = "Clearly for combat, these tactical gloves are not only somewhat fire and impact resistant, but also has a thin layer of armor. Bulky, but better than having a papercut in combat while naked." }, /turf/simulated/floor/tiled/techfloor/grid, @@ -9001,14 +9000,12 @@ /obj/item/ammo_magazine/pkm/ap, /obj/item/clothing/suit/bomb_suit/security{ armor = list("melee"=45,"bullet"=70,"laser"=35,"energy"=80,"bomb"=100,"bio"=0,"rad"=0); - armorsoak = list("melee"=0,"bullet"=2,"laser"=0,"energy"=0,"bomb"=20,"bio"=0,"rad"=0); desc = "You're up against the wall AND I AM THE FUCKING WALL!"; name = "EOD-Bullet proof suit"; slowdown = 4 }, /obj/item/clothing/head/bomb_hood/security{ armor = list("melee"=40,"bullet"=80,"laser"=30,"energy"=80,"bomb"=100,"bio"=0,"rad"=0); - armorsoak = list("melee"=0,"bullet"=2,"laser"=0,"energy"=0,"bomb"=0,"bio"=0,"rad"=0); desc = "I'll kill you, with or without my visor!"; name = "EOD-Bullet proof hood" }, @@ -21526,28 +21523,24 @@ /obj/item/clothing/mask/gas/half, /obj/item/clothing/under/tactical{ armor = list("melee"=40,"bullet"=35,"laser"=10,"energy"=10,"bomb"=10,"bio"=10,"rad"=35); - armorsoak = list("melee"=2,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1,"bio"=1,"rad"=1); desc = "It's covered with sturdier material than standard jumpsuits, to allow for robust protection. With additional protection, however, it has sacraficed the speed."; name = "tactical armored jumpsuit"; slowdown = 0.5 }, /obj/item/clothing/under/tactical{ armor = list("melee"=40,"bullet"=35,"laser"=10,"energy"=10,"bomb"=10,"bio"=10,"rad"=35); - armorsoak = list("melee"=2,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1,"bio"=1,"rad"=1); desc = "It's covered with sturdier material than standard jumpsuits, to allow for robust protection. With additional protection, however, it has sacraficed the speed."; name = "tactical armored jumpsuit"; slowdown = 0.5 }, /obj/item/clothing/under/tactical{ armor = list("melee"=40,"bullet"=35,"laser"=10,"energy"=10,"bomb"=10,"bio"=10,"rad"=35); - armorsoak = list("melee"=2,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1,"bio"=1,"rad"=1); desc = "It's covered with sturdier material than standard jumpsuits, to allow for robust protection. With additional protection, however, it has sacraficed the speed."; name = "tactical armored jumpsuit"; slowdown = 0.5 }, /obj/item/clothing/under/tactical{ armor = list("melee"=40,"bullet"=35,"laser"=10,"energy"=10,"bomb"=10,"bio"=10,"rad"=35); - armorsoak = list("melee"=2,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1,"bio"=1,"rad"=1); desc = "It's covered with sturdier material than standard jumpsuits, to allow for robust protection. With additional protection, however, it has sacraficed the speed."; name = "tactical armored jumpsuit"; slowdown = 0.5 diff --git a/modular_chomp/maps/soluna_nexus/soluna_nexus-7.dmm b/modular_chomp/maps/soluna_nexus/soluna_nexus-7.dmm index b9c4b19469..87a6e4a30a 100644 --- a/modular_chomp/maps/soluna_nexus/soluna_nexus-7.dmm +++ b/modular_chomp/maps/soluna_nexus/soluna_nexus-7.dmm @@ -19771,7 +19771,7 @@ /area/shuttle/merchant) "rnQ" = ( /mob/living/simple_mob/animal/passive/cat/space{ - armor_soak = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); + armor = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); desc = "They look well taken care of. There is a small scratch mark through the L of their collar that looks like it was made by a claw."; description_antag = "That space suit looks like it can withstand just about any assault. You feel that you will regret hurting this one."; description_fluff = "Back after a very long trip. Their suit smells of adventure!"; diff --git a/modular_chomp/maps/southern_cross/southern_cross-8.dmm b/modular_chomp/maps/southern_cross/southern_cross-8.dmm index 350f2a2e57..5425321652 100644 --- a/modular_chomp/maps/southern_cross/southern_cross-8.dmm +++ b/modular_chomp/maps/southern_cross/southern_cross-8.dmm @@ -13987,7 +13987,7 @@ /area/shuttle/syndicate) "mBJ" = ( /mob/living/simple_mob/animal/passive/cat/space{ - armor_soak = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); + armor = list("melee"=100,"bullet"=100,"laser"=100,"energy"=100,"bomb"=100,"bio"=100,"rad"=100); desc = "They look well taken care of. There is a small scratch mark through the L of their collar that looks like it was made by a claw."; description_antag = "That space suit looks like it can withstand just about any assault. You feel that you will regret hurting this one."; description_fluff = "Back after a very long trip. Their suit smells of adventure!";