Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

You can shatter zombies' torso armour by hitting them real hard. #72974

Merged
merged 6 commits into from Apr 18, 2024

Conversation

I-am-Erk
Copy link
Contributor

@I-am-Erk I-am-Erk commented Apr 11, 2024

Summary

Features "Shatter a zombie's torso armour with a good hard hit."

Purpose of change

Soldier zombies are wearing a version of ESAPI armour that is unreasonably better than player armour in several ways. One such way is that you can shoot them in the torso again and again and the armour never degrades.

Describe the solution

Adds a chance to hit a zombie right on the armour plate.

If you do so hard enough for any damage to get through the armour, there is a chance you've shattered enough plates to be able to get other shots through. The armour for that area is dramatically reduced.

Ranged vs melee attacks have a different set of options here, because to my limited understanding, it is somewhat more likely that a melee attack slips between plates rather than smashing a ton of them. Melee attacks can still shatter plates, they're just a bit less likely. However, all my understanding of body armour plates is from conversations I've mostly tried to tune out in discord, so some military gear nerd can offer other formulae here without any objection from me.

I don't see any easy way to distinguish an arrow from a bullet here. I'd prefer the arrow to use the melee attack model, but unless I go adjust the code to distinguish bullets even further, I think this will work okay simply by ramping up stab protection if an arrow hits straight on a plate - you have to hit that plate straight on with enough force to get through it, which is gonna be hard unless your arrows are something really impressive, and then shattering the plates seems fair.

Describe alternatives you've considered

Considered adding a further "very shattered" effect, if the zombie already has "shattered" and you hit it on the armour again; this second effect would make it much easier to shoot through the armour. If playtests suggest it's worth it, we can do that.

Also considered adding a version of this for helmets, but I just wasn't in the mood right now. Who knows, maybe later.

Testing

A big gun can shatter that armour.
image

A .22 calibre pistol normally can't hurt a soldier zombie, unless..
image

Additional context

Fun stuff to add on a whim. This mechanic could, and probably should, be applied to other monsters. It adds a neat type of attrition we could use more of.

The effect is somewhat subtle as it stands. It could stand to be easier to pull off.

A sufficiently strong torso hit has a chance to shatter the armour and create a new weakpoint.
esapi does not regenerate
@github-actions github-actions bot added [JSON] Changes (can be) made in JSON <Enhancement / Feature> New features, or enhancements on existing astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Apr 11, 2024
@andrewhr
Copy link
Contributor

Related, but outside scope here, is to somehow link this effect with loot tables, so this ensures you spawn broken ceramic plates instead of the pristine ones.

@I-am-Erk
Copy link
Contributor Author

As a general rule I think it shouldn't be possible for soldier z to drop totally intact esapi vests regardless

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 12, 2024
@Kantonine
Copy link
Contributor

This would be Amazing! and i feel that this could be carried over to other zombie types, such as swat, paramilitary, marine, and even maybe cunning/armored ferals, where you can eventually destroy it

It's relatively easy to hit something in the center of mass.
@I-am-Erk I-am-Erk marked this pull request as ready for review April 17, 2024 21:24
@Maleclypse
Copy link
Member

Maleclypse commented Apr 18, 2024

Erm, Erk. I do have to mention that this is content and not a feature since it’s using the existing weak point system. ;) This is a fun effect though. Thanks for making it.

I’ll merge this as soon as the last test finishes.

@Maleclypse Maleclypse merged commit f234170 into CleverRaven:master Apr 18, 2024
30 of 37 checks passed
@I-am-Erk I-am-Erk deleted the shattered-armour branch April 18, 2024 05:12
@I-am-Erk I-am-Erk restored the shattered-armour branch April 19, 2024 23:46
@321nick
Copy link

321nick commented Apr 20, 2024

As a general rule I think it shouldn't be possible for soldier z to drop totally intact esapi vests regardless

if you kill them without shattering the plate, why should the plate be shattered when they die? if you damage them enough in all the other exposed parts of the body without touching the plate itself, theres no reason why they should spawn damaged. if the plate was always shattered, which would be consistent with them never dropping an intact plate, why have mechanics for "shattering" the plate, thats on the moving non-dead zombie, at all? ideally, itd be consistent; soldier zombies that would always drop shattered plates on death spawn with their body armor already shattered, and soldier zombies that might drop an intact plate spawn with an intact plate that needs to be shattered with a high damage hit.

@I-am-Erk
Copy link
Contributor Author

I-am-Erk commented Apr 20, 2024

Something already killed that zombie soldier once. Realistically it's unlikely any of them are wearing perfectly intact armour. It's also pretty great armour, it's ok for it to spawn in less than mint condition as a somewhat trivial zombie drop.

@I-am-Erk I-am-Erk deleted the shattered-armour branch April 20, 2024 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants