Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
printz

The fist affects how the revenant missile trails look like

Recommended Posts

There's an interesting discovery. You know that when you fire a bullet or chainsaw, the impact sparks with the wall, but when you only punch the wall, all you see is dirt. It turns out that homing revenant missiles generate bullet puffs whose looks depends on whether a fist was thrown last time, or not.

Here's a demo DEH file you can test with: https://dl.dropboxusercontent.com/u/5103936/forum-posts/PUFFDEMO.DEH
All it does is change the initial frame of the bullet (but not fist) puffs to the imp ball fizzle (so it's easy to see), like in the picture below:

The punch dirt still looks the same, because of hardcoded behaviour that can't even be changed by Dehacked.

Here's how revenant trails will look after you fire a bullet:


And here's how they'll look after you throw your fist in the air:


Pretty sure this may be used in some creative mod for intended special effects :)

Share this post


Link to post

Not really surprising when you consider the overuse of global variables for such stuff.

If you take a look:

void
P_SpawnPuff
( fixed_t	x,
  fixed_t	y,
  fixed_t	z )
{
    mobj_t*	th;
	
    z += ((P_Random()-P_Random())<<10);

    th = P_SpawnMobj (x,y,z, MT_PUFF);
    th->momz = FRACUNIT;
    th->tics -= P_Random()&3;

    if (th->tics < 1)
	th->tics = 1;
	
    // don't make punches spark on the wall
    if (attackrange == MELEERANGE)
	P_SetMobjState (th, S_PUFF3);
}  
Yes, of course 'attackrange' is never set by the Revenant's code and takes whatever value there was put by the last player action or a hitscan monster.

(Oh, and before anyone asks: In ZDoom this got automatically fixed when those evil global variables were removed.

Share this post


Link to post

Interesting. So that means that the standard way of telling between a homing/non-homing rev missile is not always reliable?

Share this post


Link to post
Maes said:

Interesting. So that means that the standard way of telling between a homing/non-homing rev missile is not always reliable?


Non-homing missiles don't spawn a trail at all, so no, it doesn't mean that.

Share this post


Link to post

Wait, you can tell apart homing\non-homing missiles without trying to dodge them and seeing if they follow you? It's only 2am but I've already learned something new today.

Share this post


Link to post

No, Maes and Memfis, sorry for not being clear. The screenshot is too low quality, but what the second one shows is a homing Revenant with regular bullet puffs behind that happen to look like fist impacts. But you can't see them because of the low vanilla resolution.

Share this post


Link to post
Memfis said:

Wait, you can tell apart homing\non-homing missiles without trying to dodge them and seeing if they follow you? It's only 2am but I've already learned something new today.

Yep, homing ones leave a puff behind them:
https://youtu.be/6ZUkRKf7tpU

Share this post


Link to post

Hmm. Can revenants shoot homing missiles at other monsters too? I'm not sure because monsters don't really try to dodge anything so it's hard to tell.

Share this post


Link to post
Memfis said:

Hmm. Can revenants shoot homing missiles at other monsters too? I'm not sure because monsters don't really try to dodge anything so it's hard to tell.

Yes. And while monsters don't try to dodge, they do move when they can, so if the monsters are far away enough the projectile attacks will usually miss unless they home in.

Share this post


Link to post

^ That's also what makes Revenants deceptively powerful during infighting: not only they have the highest damaging standard projectile (OK, I know that a rocket minus the splash damage can go higher, but that's not the point), they also miss less often thanks to the homing capability. This enables them to take down even more powerful monsters like HKs or even the occasional Baron, especially if the exchange is mainly projectiles.

Share this post


Link to post

That just made me wonder if anyone has done a comprehensive list/table of monster infighting and what monster is likely to win in one on one fights, taking into account range? Not an exact science of course, but it would be an interesting read.

Share this post


Link to post

The pecking order is most of the time a straightforward affair: the higher the HP and the higher the damage dealt by the melee/ranged attack, the more on top comes a monster species vs all the others. For the weakest monsters like imps, that are likely to be dispatched in a single hit of almost anything above them, it's a no-brainer.

Things get interesting once you factor mobility/pain chances/attack speeds, and especially in Doom II, there's a lot of overlap in the mid tier. E.g. the Revenant, other than the already mentioned advantages, has a slightly faster melee attack than Barons or HKs, so it may keep them in perma-stun even in melee and have a fair chance to win against "superior" opponents, despite their HP advantage. Cacodemons have the fastest melee and projectile attacks, and so can win by sheer aggression vs Revs or, occasionally, HKs. Even the Manc, despite dealing the most damage of any standard monster with its 6 fireballs and more health than most monster, can rarely dish it effectively, has no melee, and can be relatively easily be dispatched by Cacos, HKs and Revenants, especially at longer or at melee distances.

The above made me think...Doom hasn't really got a projectile monster intermediate between the imp (weak enough to be dispatched in one shot, most of the time), and the Revenant (enough of a concern to warrant running away from it, and quite a piece of work to handle with anything weaker than the SSG).

Share this post


Link to post

Someone once posted about a demon chomping on a spider mastermind (or was it a cyber?) and successfully stunlocking it, eventually killing it. That's not the kind of infight scenario one witnesses often!

Share this post


Link to post
Gez said:

Someone once posted about a demon chomping on a spider mastermind (or was it a cyber?) and successfully stunlocking it, eventually killing it. That's not the kind of infight scenario one witnesses often!


Heh, I got tired of seeing it on Chillax MAP15 ;-) It's quite easy to induce, too.

It's actually quite ridiculous to think that it can happen at all (you'd think it'd be hard to hit a SM by melee to begin with).

Share this post


Link to post
Gez said:

Someone once posted about a demon chomping on a spider mastermind (or was it a cyber?) and successfully stunlocking it, eventually killing it. That's not the kind of infight scenario one witnesses often!


That reminds me of a time a few years back when I was playing Doom on PS1, it was the map Tricks and Traps, I had the Cyberdemon infighting with the horde of Imps from the other room. It killed all but one Imp, but as it were, the Cyberdemon got stuck somehow in one of the doors and the last surviving Imp clawed it to death.

Share this post


Link to post
Face23785 said:

That just made me wonder if anyone has done a comprehensive list/table of monster infighting and what monster is likely to win in one on one fights

My opinion how it looks:
UV Skill:
№----------Zombieman----Shotguy----Imp----Demon----Lost Soul----Chaingunner----Hell Knight----Cacodemon----Revenant----Mancubus----Arachnotron----Cyberdemon----Mastermind
Zombieman-----50%---------13%------6%------1%*--------1%------------1%-----------1%------------1%-----------1%---------1%------------1%--------------1%------------1%
Shotguy-------87%---------50%------40%------1%*--------40%---------15%-----------1%------------1%-----------1%---------1%------------1%--------------1%------------1%
Imp------------94%**------60%**-----?--------25%*-------50%---------30%**---------1%------------1%-----------1%---------1%------------1%--------------1%------------1%
Demon---------99%---------99%------93%------?---------25%****------65%------------1%-------------1%-----------1%---------1%-----------1%------------1%-------------1%
LostSoul------99%---------60%------50%------75%-------50%----------1%------------1%-------------1%-----------1%---------4%-----------1%--------------1%------------1%
Chaingunner----99%---------85%-----70%**---45%*-------99%--------50%***---------5%-------------60%**------5%***----5%-----------10%***----------1%------------1%
Hell Knight-----99%---------99%------99%-----99%--------99%----------95%-----------?--------------75%----------75%--------28%----------35%***---------1%------------1%
Cacodemon-----99%---------99%------99%-----97%--------99%---------40%**---------25%------------?-----------25%---------10%----------10%-----------1%------------1%
Revenant------99%---------99%------99%-----99%--------99%-----------50%**---------25%----------75%----------?---------5%------------10%***--------1%------------1%
Mancubus------99%---------99%------99%-----99%--------99%-----------89%---------72%----------75%----------95%---------?--------------50%***--------1%------------1%
Archnotron----99%---------99%------99%-----99%--------99%-----------90%***-------65%***------90%--------90%---------50%**-----------?-------------1%------------1%
Cyberdemon----99%---------99%------99%-----99%--------99%-----------99%----------99%--------99%---------99%---------99%------------99%-------------?------------38%**
Mastermind----99%---------99%------99%-----99%--------99%-----------99%----------99%--------99%---------99%---------99%------------99%-------------62%**----------50%

For Baron of Hell same table +50% to each except for Mancubus, Cyberdemon, Mastermind. Baron & Mancubus is 70% to 30% - depends how close they to each other.

* If monster can't reach but another can shot at him then probability (-+100%)
** If monster too far away then (+50%) for monster who uses bullets (-50%)
*** If painChance always triggering (-+50%)
**** if monster can't dodge (pressed in corner or just can't move) (+60%)

Share this post


Link to post

This is a really interesting find, printz! I'm sitting here trying to think of a cool mod that could make use of it... Perhaps make the Revenant enemy into some sort of computerized turret, and the rev's missile itself does not deal any damage, but instead acts as a tracer - Only the puffs behind it can either spawn as explosions, or simple puffs of dirt, if you disarm it by hand.. Using a gun makes it harder to fight. It's a bit out there, but regardless, cool trivia :)

Share this post


Link to post
Doomkid said:

This is a really interesting find, printz! I'm sitting here trying to think of a cool mod that could make use of it... Perhaps make the Revenant enemy into some sort of computerized turret, and the rev's missile itself does not deal any damage, but instead acts as a tracer - Only the puffs behind it can either spawn as explosions, or simple puffs of dirt, if you disarm it by hand.. Using a gun makes it harder to fight. It's a bit out there, but regardless, cool trivia :)

Thing is you can just punch any wall instead of the turret.

In fact it seems like you can change a revenant rocket's trail in mid-flight. You could have a setup where the player has a small fence post or something, tall enough to get punched but not big enough to collide with a revenant rocket. Then you capture a revenant rocket in your orbit, slowly move next to that small fence thing while making sure the rocket still orbits you safely, and you can watch its puffs change as you alternatively shoot your pistol or punch the post.

Share this post


Link to post

Actually, that raises an interesting question for me - If you punch a wall, then fire the pistol but it does not hit a wall/result in a pullet puff, does it still change the sprites following the rev's rocket? I'm going to assume not, since the bullet puff sprite wasn't spawned, and so the fist 'dirt puff' still follows the rocket?

Share this post


Link to post

Note that pressing "space" (or what key you have for using switches) also has the same effect as punching.

Share this post


Link to post
Doomkid said:

Actually, that raises an interesting question for me - If you punch a wall, then fire the pistol but it does not hit a wall/result in a pullet puff, does it still change the sprites following the rev's rocket? I'm going to assume not, since the bullet puff sprite wasn't spawned, and so the fist 'dirt puff' still follows the rocket?

Looking at it more closely, it's not spawning a puff, but setting attackrange that counts. You set attackrange when you call either P_AimLineAttack or P_LineAttack. In turn, these are called by A_PosAttack, A_SPosAttack, A_CPosAttack (zombie hitscan functions), A_Punch, A_Saw, P_GunShot, and A_FireShotgun2 (P_GunShot is itself called by A_FirePistol, A_FireShotgun, and A_FireCGun, so it's all the player hitscan functions, melee or ranged). P_AimLineAttack is also called by any function making use of autoaim, which includes P_SpawnPlayerMissile (A_FireMissile, A_FirePlasma, A_FireBFG), P_BulletSlope, and A_BFGSpray.

So in fact you don't even need a post to punch. Punching the air should be enough.


And you don't need to fire the pistol: every other weapon (including the chainsaw, since it sets attackrange to MELEERANGE+1). Grab a berserk, a chainsaw, and get a revenant rocket to orbit you, then alternatively rev your chainsaw or punch the air and it should work.

Share this post


Link to post
Suitepee said:

If only your fist could change their homing projectiles into regular ones....


Has there been a wad that lets you punch a revenant's rocket, causing it to turn around and home back towards the revenant?

Share this post


Link to post

Interesting that the distance is all that really matters, opposed to actually spawning the sprite. I love the sheer amount of little oddities that are still being discovered.

Share this post


Link to post
Doomkid said:

Interesting that the distance is all that really matters, opposed to actually spawning the sprite. I love the sheer amount of little oddities that are still being discovered.

Not even the distance, but the maximum range.

Share this post


Link to post
wheresthebeef said:

Has there been a wad that lets you punch a revenant's rocket, causing it to turn around and home back towards the revenant?

I think it can be done with what Hexen-based ports like ZDoom offer: spawn a shootable reflective barrier for a short time. Or reproduce the centaur shield effect, if possible.

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×