Heroes of the Storm

Solving Reinhardt’s Shield w/ Existing Programming/Game Interactions

HeroesoftheStorm 8 - Solving Reinhardt's Shield w/ Existing Programming/Game Interactions

I know people have posted about this before, but the big German mega-daddy is so Iconic with a capital I and Overwatch receives relatively little attention in HotS. I really wish they'd add him to HotS, especially with Overwatch 2 and such.

This is an example of a really well done and thought out kit for him.

But people always bring up the technical challenge of big daddy's shield because apparently they don't have the tech to interact directly on projectiles – especially auto attack projectiles – so let's break it down into pieces specifically about his shield where those pieces already exist in game.

To stay true to the shield's tactical uses and feel:

  1. It needs to move with him with fixed dimensions
  2. It needs to easily be activated or deactivated. Likely a channeled ability
  3. It needs to allow for players to pass through it
  4. It needs to stop ability projectiles
  5. It needs to stop auto attacks
  6. It needs to allow for melee auto attacks when ally and enemy on on opposite sides of the shield


I've heard that the tech surrounding projectiles (either Basic Attacks or Abilities) is simply not functional so the below suggestion assumes that projectiles as objects in the game cannot be directly interacted upon.

My best understanding of piecing together the different programming already in game would be:

  • Defining the area of effect, comprised of a few pieces:
    • Taking from D.Va's matrix
      • The shield would be centered on Reinhardt and have an area of interaction that projects in front of him
      • It would allow him to move and for the area of interaction to move with him
    • Taking from Deckard Cain
      • Extend the physical boundaries of the area of interaction to be similar to Deckard Cain's sleep ult, but it'd be a half circle extending from a point of origin 1.5 units (melee range) in front of Reinhardt with area extending 14 units beyond that as that's the farther attack range in the game (Sgt. Hammer in siege) and apply a "pending debuff A" addressed further below.
      • It'll extend a second half circle extending from Reinhardt himself (no 1.5 unit distance), applying a "pending buff" to allies
    • Taking from Brightwing
      • We know BW can cast an ability that has different Zones – an inner circle and an outer donut – where the inner circle can silence (if traited) and the outer ring does dmg or slows. Here, Reinhardt would have 3 zones on his cast.
      • The third zone would extend a rectangle in front of Reinhardt by 1.5 units and the width will equal his shield animation length (perhaps 4 units?) and would apply a different pending debuff – "pending debuff B"
    • Taking from Butcher and Kel'thuzad
      • Butcher's Level 7 talent, Insatiable Blade, says "While facing the branded enemy, The Butcher's Movement Speed is increased by 25%."
      • We'd apply this logic to Reinhardt's cast, but modify such that (i) it affects enemies in the 14 unit cone projecting in front Reinhardt with "pending debuff A", (ii) it affects enemies in the 1.5unit x 4 unit rectangle in front of him with "pending debuff B", (iii) it affects allies in a semicircle behind Reinhard and apply a "pending buff", (iv) if the pending buff and pending debuff A are matched, it reduces attack damage by 100%, not movement speed like in Insatiable Blade, and (v) if the pending buff and pending debuff B are matched, the enemies attack range is reduced to 1.5
      • Here, we have to assume that there is some logic in Kel'thuzad's chains that applies a "pending debuff" that is activating once a linear connection is established with a friendly object, Glacial Spike. Even more importantly, it is not just any object but one that KTZ assigned (well, created)
      • Upon casting and keeping it's range in mind, it'll have to calculate this linear connection between enemies with pending debuffs and heroes with pending buffs such that only the paths intersecting the shield will have enemies affected with reduced damage.
      • If an enemy and ally are together on the same side of the shield, one of them will be missing a debuff or buff.
      • It'll need to recalculate every 0.x seconds though and it'll need to calculate up to 5 enemies as if they had KTZ chains shooting out the direction the enemy is facing. Then, if it connects to a matching ally with a pending buff (only can happen if friendlies were behind the shield), it'd trigger either Debuff A or B.
  • Defining interaction on:
    • Ranged Basic attacks
      • Similar to how D.Va's matrix interacts and modifies enemy damage overall, the Shield could reduce enemies attack damage by 100%.
      • Here's the rub, I can't think of an existing interaction that only reduces damage from Basic Attacks due to an effect or skill used on the enemy ( ie, obviously there's physical armor)
    • Ranged Projectile abilities
      • Give it a health pool and a collision box similar to minions such that players can pass through it but projectiles will be intercepted. Also, very similar to Nova clones that intercept projectiles but can be moved and be moved through.
  • Defining animations
    • Taking from Tassadar, I think his wall looks really cool and could be a good start for the Reinhardt shield
    • Taking from Greymane
      • His Cocktail changes animation when colliding with an object. For the animations "colliding" with the wall, they could become invisible after penetrating it. The shield could see a small ripple.

There are many, many challenges with all of the different situations on the battlefield. I myself just counted 18 different scenarios where things like blind, parry, evasion, spell damage, shielding , etc etc has a few glaring situations where it just doesn't make sense from a gameplay expectation perspective (i.e. the melee enemy attacking the ally in front of the shield is blinded).

To help you and I to envision all the different scenarios and chaos on the battlefield, I put together a diagram located here:


– Green triangles are allies and red ones are enemies and the direction of the triangle is how they're facing.

– Black solid arrows are ranged attacks, black dotted arrows are ranged attacks to the target behind, pink arrows are melee attacks.

– Black outer boxes surround the triangles indicate players are perfectly in a line (important for directional line check mentioned above)

– The blue vertical box is Reinhardt's shield and the yellow start at the middle is the big German daddy himself

– The yellow rectangular box to the left of the shield is Pending Debuff B which shortens attack range to 1.5

– The beige semicircle to the left of that is the Pending Debuff A zone which reduces attack dmg by 100%

– The green rectangle and green semicircle to the right are Pending Buff territory. (I was contemplating a similar 1.5 unit rectangle behind Reinhardt.)

Like I said, there are many technical challenges to make happen what we want to happen without the ability to interact on the projectiles themselves (especially auto attack projectiles). If they introduced that tech — BOOM, this'd be solved, or added some "Projectile vs Melee" dimension in addition to the Physical vs Ability Damage dimension of Basic Attacks.

Let me get your thoughts!

Source: Original link

© Post "Solving Reinhardt’s Shield w/ Existing Programming/Game Interactions" for game Heroes of the Storm.

Top 10 Most Anticipated Video Games of 2020

2020 will have something to satisfy classic and modern gamers alike. To be eligible for the list, the game must be confirmed for 2020, or there should be good reason to expect its release in that year. Therefore, upcoming games with a mere announcement and no discernible release date will not be included.

Top 15 NEW Games of 2020 [FIRST HALF]

2020 has a ton to look forward to...in the video gaming world. Here are fifteen games we're looking forward to in the first half of 2020.

You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *