The idea to have mercs equip ballistic shields isn't exactly new. It has not come to fruition, however, as the traditional way of adding this feature would have required copying and altering a gazillion animations, which is dreadfully tedious.
So instead, we've simply decided to take an easier way out at this year's convention, and basically made shields an overlay. This is by no means perfect - you will see the shield 'jump' if a merc walks, and occasionally shine through a wall - but that is acceptable, we think.
To the feature itself:
Shields only work if you equip them in your hands.
Shields are two-handed items, but as they also work in your offhand, they allow simultaneous use of blades, pistols and MPs. You cannot equip 2 at the same time though
I've added several shields to the trunk. In the above video, Shepard carries the heaviest variant, which works well up to and including some assault rifles. Lara carries the riot shield, which works well against pistols. She would have gotten into serious damage if she had engaged the Type-85 wielding enemy though. Igor created a wooden shield. It doesn't block much, but works well enough against very tiny bullets, like buckshot pellets.
There are 2 new item tags: <usRiotShieldStrength> controls how much incoming damage is blocked. The basic formula is
but this gets altered depending on attack type, ammo type and the circumference of your mom. Yes, a value of 100 will block absolutely everything.
Codewise, quite a few things are treated as bullets that you wouldn't think are bullets. This includes throwing knifes, flamethrowers, spit and RPGs.
<usRiotShieldGraphic> controls which sets of graphics are used for the shield: There is a new .sti file, Tilecache/riotshield.sti, that contains all the graphics for each direction. So if you want, you can simply add new shields of your own. All the current graphics and item pictures were done by smeagol.
While you can of course change that, I'd advise keeping shields at their current item size, which forbids them from being kept in any other place than hands. Otherwise the player could easily exploit shields by pulling them out at the end of a turn.
For obvious reasons, shields won't work while prone or swimming.
If a shield takes the entire damage of an explosion, the character won't fall down. This makes them especially useful against those OP vacuum grenades.
The AI does not yet know how to equip shields, or what special strategies to use against them. As I'd like a certain someone to merge his AI improvements to the trunk, I'd rather not fiddle in there before he does ;)
While a shield is equipped, any movement AP costs are multiplied with the new factor SHIELD_MOVEMENT_APCOST_MODIFIER from Item_Settings.ini.
A shield does not make you invincible. Flanking, explosions from the side or back, gas/fire or anti-material rifles can still bring you down. Though I have to admit, a turtle-formation does look nice
The bodybuilding trait works extremely well with this. It increases carry strength, which is useful on heavy shields. It makes it less likely to fall on a leg hit, which would remove the shield protection. And it offers additional damage protection, making the merc even tank-ier.
This picture shows from which direction a shield will block attacks: Shepard, Lara and Buns would hit the shield, Igor and Ivan would hit Trevor unimpeded.
Riot shields have been added to starting kits for Grizzly, Raider and It.
A shield covers more than just the silhouette of the person wielding it. As a result, a shield is more likely to catch a bullet, it is possible for a bullet to pierce the shield, but not hit the person behind it. Due to some... oddities in the code that are used to prevent an extreme amount of friendly fire, it is possible for bullets to not hit the shield, as the code effectively tells them that the person they would definitely hit is nit hit.
As you might have noticed if you are familiar with the game, when you are hit, there is a random chance that a merc will change their direction. As this would easily render this feature pointless, this behaviour is now off exclusively when wielding a shield.
This is fully savegame compatible.
This has been added to the trunk in r8434 & GameDir r2381. Using the new exe without the new GameDir data will cause Mr. Orange to increase the madness up to 11 (just kidding. He'll do it anyway!).
[Updated on: Tue, 01 August 2017 22:09]
I know now that it could never work between us, as much as we wanted to, it could never be! Not because you're a rabbit, but because you're black.
If you want, you can donate to me. This will not affect how and what I code, and I will not code specific features in return. I will be thankful though.