3 min read
Shields

Mages are fragile without some form of protection. Magical wards provide methods for mages to completely negate spells. However, the ward might be expended when it absorbs the attack.

I decided to each elemental ward should respond differently to other elements:

  • Immunity: No matter how many spells of this type you throw, it will not harm the ward.
  • Weakness: The spell penetrates the ward.
  • Resist: The ward negates the spell, but is expended.

While typically a mage will use an arcane ward for simplicity, a cabal might decide to specialize in an element to gain benefits, though at a risk.

Ward TypeImmunitiesWeaknessesResists
Arcane WardEverything
Fire WardFireWater, ShadowEverything Else
Water WardWaterLightningEverything Else
Earth WardLightning, Air, ArcaneIce, ShadowEverything Else

I decided to cap it at these four elements to avoid deep memorization of type-v-type complexity.

Eventually, when cast into an abjuration sigil, these wards will protect the entire castle.

However, for now, I just want to add individual mage protection spells. My Spell system doesn’t support Target: Entity yet, so this is a good excuse to implement it:

entity target

I was able to reuse my selection shader, but with a different blur magnitude! I could also eventually change the color (perhaps blue or red) for protection/hostile spells.

The actual ward art is a silly placeholder, but I suspect I’ll want to write a shader to make it feel more magical.

wards

Shields

While these elemental wards can protect against spells, sometimes you just want to guard your health. The cantrip for the Sentinel allows them to build a minor health shield on different mages as they deal damage.

I chose to represent this with a covered healthbar. I played around with a view different visualization algorithms. Here’s an example of a damaged unit with a shield that gets depleted:

deplete shield

I’ll revisit shields and wards when I add the abjuration sigil, but this is a good start.