I'm making a tactics game like Fire Emblem or Final Fantasy Tactics. So there are going to be various characters with attacks and abilities that target certain tiles around them, like "target enemies within 3 tiles". Some abilities might have an area of effect, so a fireball would be "target tile within 4 tiles, area of effect has radius of 3 tiles around target".
One problem I'm trying to avoid is the player accidentally moving characters to spaces where desired targets are out of range for a given ability.

Several tactics games let you undo moves before you attack or cast a spell, so if you can't target what you want with the attack/spell you want you can undo the move and try moving somewhere else. I'm interested in having terrain with certain effects though, like fires that damage characters as they walk through them or ice floors that cause characters to slip. I don't know how terrain effects would work if moves can be undone during a character's turn.
I know that the Fire Emblem games show the targetable tiles at the edges of a character's movement range highlight. This is only shown for a character's single standard attack though, whereas characters in my game will have several attacks and spells. And I'm not sure how robust that would be if I want to incorporate other things like line-of-sight or area of effect, especially for the tiles inside a character's movement range.
