#Functional Armor

1 messages · Page 1 of 1 (latest)

strong shell
#

(See the video below.)

A feature of the Lua-driven mod Collective Tweaks. This script in particular allows armor items to completely absorb incoming damage, at the cost of their Condition:

  • 🛡️Suits cover the entire body, whereas Body Armor covers only the Torso and Arms. (This is to prevent staggering during firefights.) Predictably, Exosuits are the best form of protection, possessing the highest durability.
  • ⛓️‍💥When the Condition drops to 0%, the armor does not break. Instead, its base affliction reductions apply like they normally do in Vanilla Baro.
  • ⛑️Prevents Neurotrauma's afflictions from applying, as long as there's enough Condition to absorb the impact. (Now you won't need to perform a Field Surgery after every shootout!) [⚠️IMPORTANT: Collective Tweaks must be placed ABOVE Neurotrauma in your Load Order for this to work.⚠️]
  • 🔗Works with (most) modded armors/suits as well.

09/29/2025: This is part of Collective Tweaks' new update. It isn't out yet, but it will be.

10/03/2025 UPDATE: Thank you all for your patience. It took me a few days, but the update is now out. You can get the mod using the Steam link below:

https://steamcommunity.com/sharedfiles/filedetails/?id=3371730848

dark nacelle
#

Freakin sweet. Can’t wait to see this come to the workshop, security about to be frothing to suit up and crush Europan wildlife

patent dust
#

Can you gib link?

pale kelp
#

is this Lua?

strong shell
strong shell
strong shell
late bramble
#

would you be willing to publish the armour mod as a standalone?

#

without the zoom mods and other stuff in the collective tweaks

strong shell
#

I'm afraid not, as the purpose of Collective Tweaks is to consolidate many different game features into one single package to avoid Mod Bloat.

However, I will certainly add a Config Menu in the future, so you can choose what you want on/off. Would you be okay with that?

late bramble
#

I guess so. Because the zoom lua thing makes the weapon scopes a bit pointless

#

Unless the unscoped zoom is only a little bit compared to when using the scopes

strong shell
strong shell
#

I'd like an opinion: Should headshots deal twice as much Condition Damage to armor? Or should damage be completely uniform across the entire suit?

Well, I suppose it doesn't matter, as I'll be making it configurable anyway.

strong shell
#

Mod has been updated, complete with a Config Menu. Every feature is optional now. Enjoy!

late bramble
#

hey, i've come across some issue with modded armour and divesuits randomly depleting their condition slowly upon wearing. Any idea how to prevent this?

strong shell
#

Ah, that's unfortunate. In the Config Menu, down at the bottom is a "Debug Info" setting. If you turn that on, the in-game console will print out important details for armor every time it receives damage.

Because Barotrauma doesn't distinguish between damaging and non-damaging debuffs, I had to create a very large Affliction Blacklist. Anything in this list will go right through your armor, and affect your character directly. (The "Stuffed" affliction from Hungry Europans, for instance.)

Could you tell me the names of the afflictions in the debug messages?

late bramble
#

this happens when I wear vanilla pirate armour. starts degrading upon wearing

#

yup. it's luabotomy affecting most of the helmets and suits

strong shell
#

Luabotomy.. I've never seen that affliction before, but it might be caused by the NT: Lobotomy addon for Neurotrauma. I'll add it to the Blacklist. Thank you.

#

🫤 I really wish the Config Menu I'm using had List capability, so users can add undesired afflictions in the same session without having to wait for me to update the mod..

jolly bramble
#

or rather i guess any source not caused by melee or ranged attack

strong shell
jolly bramble
#

Probably by checking attacker in dodamagelimb but can also check for affliction.Source if its not same character or nil

#

there 2 seem to congregate external damage calls

#

at least anything which talents would consider as external attack

#

though i guess it also needs to consider UseTarget statusffects outside of attacks

strong shell
#

Thanks Ydrec, I'll look into it.

#

I'm getting a weird bug where everything but gunshotwound is protected by Armor.. The primary purpose of the mod has been broken. Is anyone else experiencing the same thing?

strong shell
#

@pale kelp Are you getting the same result?

#

I don't recall changing anything in the script since the last time it worked, so I have no idea what could be causing this to happen..

pale kelp
#

i will look into it later and report back to you, busy now

strong shell
#

Thank you. I've searched the script up and down for hours now, and I can't figure out what it is.. I'm considering a complete re-write.

pale kelp
#

Played around with the mod, played around with the code, changed some multipliers, deleted and readded some code blocks (in your Lua), switched gunshotwound for bluntforcetrauma in afflictions.xml, switched blunttrauma and gunshotwound in revolver/crowbar which made revolver do no damage and crowbar penetrate. So it is not in your mod, it is not in items (penetration or delivery method). Creating custom affliction of type="damage" made it behave like gunshotwound (ignoring your code), in both cases if it was derived from either blunttrauma or gunshotwound.

#

Problem seems to be somewhere we do not have exactly access to. It is not in Lua nor Xml but there is some middle layer. Everything was switched around to coordinate on the problem but answer just seems to be "because its this affliction"...

strong shell
#

Oh wow.. I wasn't expecting such a thorough analysis. Thank you.

pale kelp
#

Could you change code so that any affliction of type="damage" would get automatically treated like blunttrauma? That would include gunshotwounds

hollow hearth
#

@strong shell I was thinking again, because I had this idea for another mod in the making, Ok

So for armor taking damage, instead of regeneration or trying to figure that out, dynamically add a Repairable component to it so if the armor is damaged enough you can just use a wrench (or whatever custom tool you want to make/add) to just repair it. Maybe give it a long repair time? Then mechanics or having a high weapons skill can make it fix faster?

The long repair time makes it more viable to fix it in downtime rather than someone just standing behind the guy ready to fix the armor during combat.

strong shell
strong shell
pale kelp
pale kelp
#

SAFS has very limited suit damaging, you take damage, based on that you receive affliction (several status effects apply this affliction based on how much damage u took), affliction will heal user from type="damage" and subtract condition of SAFS at the same time. Its only way that i could devise XML that would behave as functional armor. And then you came around with your Lua magic

#

I have used same principle in Tech Series mod, it just isnt item being damaged but affliction level

strong shell
strong shell
# pale kelp XML is easy bro, we got your back on this one

Well, it's not the XML itself that's difficult. It's the XML Injection. Ydrec created a proof-of-concept script for Lua-created Fabricator Recipes (#829062008119754753 message), but it wasn't as simple as shoving a <Fabricate/> block into XML Data. He had to utilize content unique to Fabrication to produce the desired result.

It might be easy to add a <Repairable/> Component to items with Lua, but I won't know for sure until I delve into it at some point.

strong shell
pale kelp
pale kelp
strong shell
strong shell
hollow hearth
#

worsecase a patch mod that just overrides armors to give them the <Repairable> of course that'd have conflicts with anything else that wants to touch it. I haven't looked to see how feasible it is to add it via LUA, Ydrec was nice enough to give me a LUA example to review on adding PreferredContainers, however that's a list already on an Item where Repairable is a sub component for the itemprefab? so I'm not sure what list would need this appended to in LUA

jolly bramble
#

Repairable is not initialized in prefab so all you have to do is edit configElement

pale kelp
#

tbh i would just make repair station, you would add item into it and it would be "welding" it to increase condition, would cost steel and power or something similar. Containables would be tags like divinggear

strong shell
strong shell
# jolly bramble

Thanks, Ydrec. You made this on the spot. That's very kind of you.

strong shell
pale kelp
#

ofc

#

pretty simple too

#

u didnt make much of XML from the looks of it, right? There is no need to overcomplicate this stuff

strong shell
jolly bramble
#

you could even have different tiers of "armor plates" which repair more or have higher condition cap

strong shell
#

Now there's an idea.. Sounds like a feature that belongs in Animated Arms.

That mod has Body Armor Panels/Plates, but they don't utilize the Condition of the Plate Carriers you insert them into. The defense centers around Buff Afflictions.

#

@sudden root When I get around to re-writing this script, how do you think I should do it?

Originally, I overrode the CharacterHealth.ApplyDamage() hook, but it brought about too many complications, such as requiring a massive Affliction Blacklist.

Ydrec did point out to me 2 other functions that I could possibly use, but I'd like to ask you if there's a more Neurotrauma-friendly manner of cancelling Damage.

frank plinth
#

This is really cool i dont know why this isnt vanilla yet

late bramble
#

I myself prefer degradable

frank plinth
late bramble
#

Idk I was yapping

frank plinth
#

I'm def adding this to my campaign mod list for neuro

strong shell
#

Well, I'm not sure the script works any longer.. Through recent testing, I found that Armor does not protect against Gunshot Wound, which was the very reason I created this to begin with.. If Armor can't prevent you from having to perform a Field Surgery on every combatant, then we're back at square one.

That's why I'll be re-writing the script from the ground-up entirely.

pale kelp
#

maybe start coding with gunshotwound itself and when that works apply it to the rest of them

strong shell
# pale kelp maybe start coding with gunshotwound itself and when that works apply it to the ...

Nah, I'll just utilize Baro's native Condition feature. That's much more stable than what I was doing before.

The only problem with this is that Baro doesn't actually make good use of Condition.. A Diving Suit has 100, and an Exosuit has 100. It should be 800, but it's possible the Baro devs didn't think someone would want the in-game items to degrade with use.

With that said, I will do the best I can to include necessary support for Modded items. If I miss anything, feel free to let me know. 👍

strong shell
# frank plinth ouch

🙁 Yeah.. It happened seemingly out of nowhere.. I was really sad that day. I spent a very long time refining this script, only for it to suddenly break..

pale kelp
#

you could use health

strong shell
#

Oh, yes, Health, my bad. I'd forgotten what it's natively called. Now I'm wondering how in the world I thought it was Condition..

pale kelp
#

nono that IS solution to your problem

#

by default there is item condition, but we can use health to buff durability of these items

#

If you make Lua code for standard diving suit, lets say 1 damage blocked from human equals to 1% damage to suit, now you buff combat diving suit with health="200" and it will be twice as tanky than standard diving suit without having to code it all within your Lua code

#

basically imagine these different suits as batterycell and fulguriumbattery cell, status effects (or lua) targeting their condition don't need to know what suit is targeted, as durability of suit wont be defined within status effect or Lua but within suit itself

strong shell
pale kelp
#

so you want to avoid overriding vanilla suits then

strong shell
#

Yes. I will only use scripting to change their initial health values. I will not be overriding them via XML.

pale kelp
#

perfecto

tame scarab
#

Can this go with frith's biomes?

strong shell
#

Once I get this script working again, I don't see why not. From what I can tell about Frith's Biomes, that mod only modifies level.

ember harbor
#

Is there a way to manually edit modded armors’ max durability? Is the mod currently working?

Is there a plan to add armor penetration? Or is this already a feature? If so, can it be customized?

For example:
Kevlar would completely stop pistol caliber threats at the cost of some durability, but rifle caliber threats can damage wearer even if the Kevlar vest has durability left.

strong shell
# ember harbor Is there a way to manually edit modded armors’ max durability? Is the mod curren...

1.) I'll have to re-write the script. Once that happens, Condition will be reduced by a flat amount, rather than how much Gunshot Wound an Armor Item reduces. I will set Initial Health for Vanilla (and hopefully Modded) items as well, so an Exosuit has 800 Condition, as opposed to a Diving Suit's 100. (🙁 And no, I'm afraid the script is not currently working.. But it will once the re-write comes around.)

2.) Animated Arms: Adaptive Combat makes use of protective Afflictions of varying levels. I think I should do the same thing here, as that would lead to the most stable, least buggy experience. (I wouldn't have to check for non-damaging Afflictions such as Psychosis, for instance, so the gargantuan Affliction Blacklist I have will become obsolete.. That will make me very happy. I hated updating that list..)

ember harbor
ember harbor
#

is there a way to repair armor

strong shell
#

Not yet, no. The re-write will have a few optional ways:
1.) A setting within the Config Menu to slowly regenerate Armor items.
2.) An "Armor Repair Kit" item. I will definitely need to use Lua for this, as XML does not support Item Combination as a concept yet. It's "technically" possible, but hacky. You need to use an ItemContainer Component to spawn a new item during OnInserted, and Vanilla armors don't have this by default.
3.) An "Armor Repair Station" item. This can be made entirely in XML, I think. You'd insert an Armor (and possibly press a Button) to begin repairing the Armor, at the cost of the Repair Station's Condition.

ember harbor
strong shell
# ember harbor Neat. Any idea on when the rewrite is coming?

😅 Haha, I wish I knew..

Thankfully, my place of work is needing me less this Winter, so I have more time to myself to work on Baro projects. However, I'm not as keen to do the re-write yet, as I've been working on all sorts of other features for this mod.

What I can recommend for now is Animated Arms: Adaptive Combat. It has a Plate Carrier system where you can insert Ballistic Panels into your Body Armor. Kevlar, Steel and Ceramic, each with their own advantages and drawbacks. It's compatible with Neurotrauma's afflictions, so if you get shot wearing all 3 at once, you'll be completely fine. You won't suffer Pneumothorax, Cardiac Tamponade, or even Fractured Ribs unless your respective armor points are too low.

ember harbor
#

And how does Animated Arms compare to Enhanced Armaments?

strong shell
strong shell
ember harbor
#

I'll download dynamic arms and mess around with it in sub editor, assuming my modlist of 30 mods is compatible with it.

ember harbor
#

I would assume it'd be something related to status effects since they cause checks regularly, no? I could be very wrong since I know less about coding than a monkey armed with a laptop running Windows Vista

ember harbor
# strong shell I haven't used Enhanced Armaments very much, but from what I can tell, Animated ...

messed around and here's what I found:
Animated Arms
has more mechanical depth/features

  • needing to pull grenade pins for them to work
  • armor plate
  • visor
  • nvg
  • lots of attachments(nvg, thermal, muzzle devices and other stuff)

However, EHA has more in terms of sheer content.

  • has specialized weapons (blasters, sniper rifles, antimaterial rifles, anti tank rockets, etc.)
  • has more option for chemical weapons
  • has more faction specific undersuits and armor
  • more armor types for each faction
  • backpacks
#

EHA also seems to have clearer progression. For example,
you start with Kevlar and maybe a plate carrier, which can be upgraded into heavy carrier rigs once thorium become avaliable in the 3rd or 4th biome.
Then in the second last biome, you are allowed to purchase faction specific gear with sufficient reputation.

The chance of obtaining prototype(end-game) weapons also increases as you progress the campaign.

ember harbor
#

So, while AA has more neat little details and features. EHA beats it in terms of sheer content. Also, EHA is more of a package deal possessing not only guns and armor, but also medical, some sub weaponry, custom missions(mostly notably the one where you hunt factions' special operation units), npc dialogues, and undersuits, which creates this sort of theme that I really like. EHA also might give a greater sense of progression when used in campaign.

strong shell
# ember harbor I would assume it'd be something related to status effects since they cause chec...

From my personal experience, these are the main culprits:

  • Sandbox Menu (Drastically multiplies loading times, making the game take over an entire minute just to load a single level.)
  • Neurotrauma (Is mainly Lua-based, so this mod is not subject to the optimizations the Baro devs made in the most recent updates. This means your FPS can get tanked all the way down to 5 if plenty of bots are suffering from Arterial Bleeding, for instance.)
  • Dynamic Europa: Stations From Beyond (Beautifully-decorated, but unoptimal for this very reason.)
strong shell
strong shell
ember harbor
#

the standard rocket launcher holds one at a time, the prototype one holds two

#

if you think rockets aren't good enough, there is always the

#

prototype railgun

#

-# handheld railgun that goes on your back

#

EHA also has a while array of railgun shells

#

ranging from depleted uranium flechettes to thermobaric warheads that has a blast radius of a medium sized submarine and enough damage to two tap abyss creatures

#

-# and yes, you can use the latter in your prototype railgun, and no, the blast radius is about 2-3 times what your camera would allow you to see so its more or less a glorified suicide vest.

ember harbor
ember harbor
strong shell
strong shell
strong shell
ember harbor
ember harbor
#

So that explains

strong shell
strong shell
ember harbor
#

I see

ember harbor
#

Yeah uh, my use of the warp drive has gotten so notorious, the crew scream in advance when I announce its use

strong shell
#

Haha, that's hilarious..

ember harbor
#

It is also the leading cause of death as one crash is enough to completely annihilate the front half of the ship.

#

It does allow us to use the abyss as a high way, which is always fun until we crash into a floating abyssal island with an end worm on our back

strong shell
#

I remember when I first picked up this game.. I was the Captain, and instead of piloting the ship, I'd put it in full gear and leave the Navigation Terminal to do other things around the Submarine, like repairing Devices, grabbing a bite from the Galley, or simply sleeping in the Crew Quarters.

Ironically, I was often surprised when all of us would fly forward and hit a wall, with entire chunks of the Submarine missing after inevitable collision.

It was a frequent-enough problem that a friend of mine would head to the Nav Terminal and pilot the Submarine for me, despite him not being a Captain. His job was to repair Junction Boxes and other Electical Devices, and he sacrificed his time from that task to fill the role of an incompetent Captain.

ember harbor
# strong shell I remember when I first picked up this game.. I was the Captain, and instead of ...

When I first ran the game. There weren’t any low ping servers so I decided to host my own.
The campaign was vanilla and I picked security(Since I crave murder and bloodshed in video games). Surprisingly, we had a steady stream of players, 4 to an upwards of 8. Since I was new and wasn’t the captain class, and almost everyone else wasn’t expecting a captain-less ship 2 biomes deep into the campaign. So no one picked the captain class.
We didn’t have a dedicated captain, so whoever wants to pilot, became the pilot, and there are times where we’d stay static at the start of the level for like 15 minutes before someone asks ”wait who’s piloting.” and head up to the nav terminal room to see no one. I’m using pilot here instead of captain because we didn’t have a clear chain of command. Everyone was free to do whatever as long as it didn’t involve sabotage or clowns

#

And even more so surprisingly, we ran into less than 4 griefers in the entire play through. Moderation tools were given to a few regulars and all went well. The crew I had was patient and very eager to teach me how to play.