Development Log #066
Development Log #066
Shield Blocks & Spell Reflects – December 5th 2022
A feature I’ve had in the game for a while, blocking, has always looked a bit awkward, so I decided to work on the block animation. The gif below shows a Berserker using a shield to block. It’s still a work in progress, but some of the timing has been fixed, so there’s a different animation for blocked projectiles than for blocked melee attacks.
Blocking isn’t the only way to deflect attacks…
One of my favorite things found in RPGs would have to be Reflect. It’s usually a status effect that causes spells to get reflected back towards the attacker. This can be especially cool when you start reflecting actual projectiles. Also, to be able to use Reflect as part of a tactic is pretty rewarding. Like casting a non-self target heal spell on an enemy with reflect to heal yourself.
Above we can see a Frostball being launched at Belavosi, who Blocks the attack, however, because they have the Reflect status effect, the projectile gets bounced back towards the caster. Note: You don’t need to block things in order to reflect them, you just need the status effect.
Will reflected projectiles always succeed in hitting the caster?
No. A check is performed on the reverse projectile path to see if it’s blocked. It will always reflect away from the original target, but who or what it may hit will change based on location/trajectory, etc.
Most straight projectiles will reflect back, even when height is involved as straight trajectories often work both ways. Parabolic trajectories are where this will create some interesting interactions.
Lastly, you don’t need a projectile to have something reflect. Many abilities, especially Magick-based abilities, will reflect back at the caster. Below you can see Swift being cast on a target only to be reflected back at the caster. Anytime there is a successful reflect, the overhead text REFLECT will appear along with the visual component.
Note: Remember, some of the images and gameplay depicted here may be outdated and does not represent the current state of the game!