Revenants
1. Actually, in Doom 2 Revenants only got homing rockets 50% of the time. The same thing should be done here. Having the player take a guaranteed rocket to the face EVERY TIME it attacks (unless they pick Fireangel) is fairly ridiculous. When the Revenant doesn't roll a 50%, the normal projectile rules will be followed. The player will still probably get nailed, but at least now there's a CHANCE.
This is a good change, makes plenty of sense. Although even the homing rockets were dodgable if you knew what to do, so perhaps the auto-hit aspect on their attack should be dropped completely. Instead, half the time there's a fairly good chance to miss, and the other half there's almost no chance (besides having HR/running on). At least it gives another point to Dodgemaster, which tends to be a bit weak these days.
2. Also, the original Revenant behavior was actually to close in and use melee attacks more often than other monsters. Implementing this would further balance the enemy.
I believe ALL enemies tended toward the player, it's just that Revenants happen to have a fast movespeed and only an occasional attack. I don't see the need to lower their attack chance TOO much, but 40% is a fair amount (that would be down from 50%).
Arch-Viles
Oh my friends the Viles. In Doom 2 the Vile's whole "I never miss thing" was balanced by the fact that his attack took 10 seconds to go off. Here there's no such luck. If one targets you while you're in the open, you're screwed. And fighting more than one--nothing but an exercise in frustration.
Is it truly so impossible to work towards a multistage attack? Since enemies can use weapons, and know to reload when they run out, how about some sort of invisible weapon that isn't dropped? Viles can do a toned-down version of their current attack, maybe 3 damage, plasma, for 3 turns or so. And then, at the reload, kablooey! An explosion that's good for 80% damage or so.
It might be complicated/hacky but it'd be entirely worthwhile.
This sort of thing is already being considered by the developers. My variant is that the player has that fire aura on them for a couple of game seconds while the Arch-vile can't move, and after those couple of seconds the damage is done. This is definitely possible with lua AI.
In addition to that, I'd also like to see Arch-viles' ressurection range be dropped considerably. Right now it is based on their OnAction hook, which gives them a chance to ressurect anything in their vision, on average, every three actions. This is ridiculous: better to have them search for corpses in their vision, get adjacent to them, and THEN ressurect. In doing so, the Arch-vile can't easily multitask between killing you and unkilling everything else, which would alone balance out the severely constricting effect of their existence on higher difficulties.
[Mancubus
My first encounter with one of these involved getting sniped from off-screen. Pretty frustrating in a turn-based game. But actually, I can't really think of any way to balance them better. Making them truer to the original would actually make things more difficult. Any suggestions?
The problem with Mancubus lies with the way that the weapon-spreading function works. Currently, IF_SPREAD bases the angle of spreading by the distance from the player (that is, where the attack is aimed), and can only fire three shots at once. Ideally, this flag would be replaced with the ability to define your own projectile-based spread, in which the number of spreaded shots and the maximum spreading angle are modifiable (and will work with a number of shots, like a spread-chaingun). An even number of shots would cause the "extra" projectile to undergo a reflective transformation on each fire, and an odd number would work as-is.
If we could get this kind of result, then the Mancubus could shoot only two projectiles, specifically at a particular angle, and could be forced to fire three times consecutively, with the off-projectile shooting left-right-left or right-left-right. This would imitate the original's quite nicely, and have the benefit of not causing insta-kills in a hallway. It's a start, anyway.