Guns and gun-critters with "weird" damage types (in context of acid ant spit)

Discussion related:

tl;dr Acid ants spit like spitter, but this is neither good mechanically nor very “realistic”.

I’d do it like this:

  • Ants use the “gun” actor, like turrets
  • A fake gun and ammo is created for ants. Soldier ants could use better ammo, better gun (higher burst), or both.
  • This part isn’t implemented yet: I add support for non-piercing-damage ammo. The ammo would specify its damage as a “damage struct”, identical in structure to what is specified in shoggoth’s attack statblock

Result: Acid ants get a burst fire “gun” firing weak acidic “bullets”. Or possibly a bunch of bigger “globs” that splatter where they hit and create fields.
This would make them more interesting and also make turnout coats and rain coats valuable (acid hits to torso would hit those). Barfer zeds failed at that because their attacks are strong enough to pierce most armors (could be fixed by giving the barf a >100% multiplier on effective armor).

As for my addition: this would have some hard edge cases, so I’d implement it the simplest way and forbid mixed types. Guns would add their damage and armor piercing stats only to first damage type encountered.

Open questions:

  • Ant balance. This would need to be careful (ie. weak at first) to avoid acid ants melting things effortlessly and becoming new early player slayers.
  • Good examples for my part. There are slings, but those share ammo with pneumatic rifles. There are laser guns, but I’d have to nerf them to compensate for the buff to armor piercing from “hard to resist” type. There is a Rivtech flamethrower, but I recall Rivet saying it’s supposed to deal piercing damage (how?). Laser guns sound the safest here.
  • Way to convey damage type of used gun to player. Probably just “damage type: x” above gun statblock.

It might be reasonable to use the projectile code, but we need a different mechanism to handle acid spray v armor. Neither bash nor cut protection is a good indicator for whether a particular piece of armor is going to be good at blocking an acid spray. Environmental protection is the closest we have, but that leaves out anything that has none.

What about treating environmental protection as “good” anti-acid armor, and otherwise just dealing with coverage and layers?

I don’t think it’s pertinent for ant acid, but there’s also a question about dealing with damage to clothing. i.e. it might be somewhat reasonable to build an ensemble that will deflect a weak flamethrower stream briefly, but you’d expect it to rapidly degrade clothing that isn’t designed to be fireproof. Similarly, if this does get used for spitters with their super-strong acid, it would start degrading and even destroying outer clothing layers unless they’re specifically acid-proof.

What about treating environmental protection as “good” anti-acid armor, and otherwise just dealing with coverage and layers?

Is the special case really needed? It sounds rather confusing compared to just always treating it the same way as other damage types (ie. subtract armor and that’s it).
Current formula is pretty good - not perfect, but generally solid. It only really sucks for armor piercing barfs of the acidic zeds and only because those are single-hit high-damage. If barfs were changed to one “triple attack” with each hit only being at 33% of current damage, it would work just fine.

it might be somewhat reasonable to build an ensemble that will deflect a weak flamethrower stream briefly, but you’d expect it to rapidly degrade clothing that isn’t designed to be fireproof

That’s actually handled already - heat damage hits do not cause physical damage to armor, but they cause “burn” accumulation, just like to items that sit in fire on the ground (although at different rates).
It’s just a bit hard to see, because you need to step in a fire and there is generally zero reason to ever do that in the game.

Similarly, if this does get used for spitters with their super-strong acid, it would start degrading and even destroying outer clothing layers unless they’re specifically acid-proof.

Yeah, that should be handled before anyone creates spitters that melt items. For now we can still use the whole handwave that goes like “if it was strong enough to melt leather, it would deal hundreds of damage per turn to flesh”.

I want to poke around in the json some for counterexample, but unless I find glaring ones consider my objection retracted, I can’t think of any examples of really good bash armor that should be terrible at blocking acid.
I do think we need a flag for things that are really good at blocking acid, imagine a raincoat that’s acid-proof, it should block any amount of acid, but hardly anything in the way of a physical blow.

I do think we need a flag for things that are really good at blocking acid, imagine a raincoat that’s acid-proof, it should block any amount of acid, but hardly anything in the way of a physical blow.

Adding an “acid_resistance” field would be trivial. All in-game effects already use the getters, so it’s literally 10 lines of code.
Objects with unset “acid_resistance” could just use the current formula: round(env_protection*avg(material.acid_resistance)/10).

I thought equipment had acid protection?

1 Like

It does. It’s just that it’s hard to adjust from json, because it’s a formula of material acid resistance and environmental protection.