Two questions here. One is immediately relevant to my zombies, and the other is, well, theoretical. Just bear with me with that one, because I think I'm going through a black hole there, even compared to the other things.
1) Okay, how can I stop my zmombies... zbomies... zombies from stretching, yawning, turning their heads and all those other things undead don't do? I wand them dumb as stones. Remove/block select animations somehow?
2) Now... It sucks how characters spend most of a round hitting empty air. These pretend swings and stabs aren't any different from ones that connect, they look just as exact. Only for the ones that hit we get a blood spurt, the damage and the recoil animation, but for the false ones we don't. They don't look like misses, they look like blows that hit and somehow magically do nothing.
I know I can disable the false swings and stabs, but then combat becomes downright ridiculous. They just STAND AROUND there for 6 seconds. Ranged weapons are fine, but melee... Nobody is even ducking. I have to remind myself that in AD&D a hit is what goes under the AC instead of glancing off armor or getting absorbed by it.
So what if I do this:
1) Ask the players to turn off the false hits, so only the real attempts remain and creatures stand idle otherwise;
2) Patch the single-target projectile of melee weapons, which is ARROW, to use a custom projectile that casts a spell back on the wielder. Should be possible. The secondary spell would not have any to-hit rolls. It would always hit the wielder. In projectile properties there are two fields: Default Spell and Success Spell. There is also the "Default spell on missed" checkbox, but I can't get the projectile to reflect on me even with that checked. What am I doing wrong?
3) Anyway, I'm sure this can be sorted out. So the spell getting back at the caster/wielder would apply opcode 138, Set Animation Sequence, switching the character to SEQ_ATTACK, duration 1 or 2 seconds, or maybe Instant. It would also play a little chunks or sparks animation on the nearest enemy and a knock-bang sound.
This way fighters would make "real" attacks that would actually appear blocked or deflected.
If there are problems with the choice of sound to play - against leather, against chainmail etc. - and the target for the chunks/sparks animation, then the whole thing might be doable instead through scripts. A hit or if possible an attempted hit would summon an invisible minion. That one would force its summoner to SwingOnce(), then force it to cast a spell (with the no-caster-animation option) to play the chunks/sparks visual over LastAttackerOf(LastSummonerOf(Myself)) and play the right sound for the armor worn/creature type etc., all bundled in the same spell file. Of course, a player would be able to interrupt this sequence by clicking away, and then the swinging or the casting would not happen, but that's just like clicking away your character presently when he's in the middle of a swing. You call him off and he has to prepare and wait for the speed factor again when attacking next.
At the very least, without disabling these cosmetic attacks, all attacks that actually get made can be equipped with a Default spell to explain the lack of damage done. Then players could learn to interpret "Miss" in the bottom window as "missed flesh and hit armor."
So that's the outline. What do you think?
Edited by temnix, 12 June 2017 - 01:25 PM.