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

heavy weapons guy uses shotgun?

Recommended Posts

On PC doom, I listen to the heavy weapons guy when he's attacking and it sounds like it's using the shotgun sound effect. Same goes for the spider mastermind. I think this is wrong and could do with being changed.

How might I change this so that they are using the pistol/chaingun sound effects? I remember a while back reading a topic on a forum, it might have been on here, about changing what attack the monster uses.

Share this post


Link to post

The spiderdemon uses the shotgun sound because it's using a super chaingun that does much more damage. It shoots 3 pellets per shot, instead of one, just like the shotgun guy. We can assume it's shooting bigger bullets, more bullets or even shotgun shells.

The heavy weapon dude uses the shotgun sound because its shots last 4 tics, like the player's, but there's an extra "target checking" tic after every two shots, which makes their attack sounds a bit slower than the player's. At one point, the Eternity engine had made this change. Complaints ensued because the heavy weapon dudes sounded weaker than the player, and it was changed back to the shotgun sound. With the shotgun sound, their chaingun sounds beefy enough without altering game behavior (the speed of the monster's attack).

To be honest, I didn't notice they used the shotgun sound till long after I started playing DOOM II. To me, these days, such a difference is just another of the game's usual quirks and not a problem.

I've attached a little DeHackEd patch that gives the heavy weapon dude the attack sound and rate of the player. Note that it's incompatible with the usual game behavior, so it's not usable when watching recorded demos or when playing online with people not applying the patch. It makes the heavy weapon dudes a little bit more deadly than usual. It also doesn't work with Doom95 (no DeHackEd support.) Apply it by creating a modified DOS executable file with DeHackEd or otherwise load it with the -deh parameter in the command line with source ports (plus equivalent ways to load DeHackEd patches in these engines, as applicable.)

cpos-bullet.zip

Share this post


Link to post

My theory is that the spiderdemon was just given the shotgun guy's weapon that fires on full-auto, and that the heavy weapons dude is modified from the spiderdemon. Behavior of the HWD is some proof of this. (Only stop firing when target is out of line of sight)

Share this post


Link to post

The shotgun sound sounds way better and more scary than the player's chaingun sound, so that's my theory as to why id used it.

Share this post


Link to post

hervoheebo said:
My theory is that the spiderdemon was just given the shotgun guy's weapon that fires on full-auto, and that the heavy weapons dude is modified from the spiderdemon. Behavior of the HWD is some proof of this. (Only stop firing when target is out of line of sight)

Not really, because the code that tells what sound to use for the spiderdemon's attack seems to be the shotgun guy's code, and the heavy weapon dude has a separate copy of that code for itself, with a slight difference. If the coders copy pasted code from the spiderdemon to the heavy weapon dude, it was just the "refire" code, and they edited it a bit (changing "if (P_Random () < 10)" to "if (P_Random () < 40)"). I'm not sure how the amount of pellets or bullets is defined... maybe the "int i;" line in the A_SPosAttack code? From p_enemy.c:

void A_SPosAttack (mobj_t* actor)
{
    int		i;
    int		angle;
    int		bangle;
    int		damage;
    int		slope;
	
    if (!actor->target)
	return;

    S_StartSound (actor, sfx_shotgn);
    A_FaceTarget (actor);
    bangle = actor->angle;
    slope = P_AimLineAttack (actor, bangle, MISSILERANGE);

    for (i=0 ; i<3 ; i++)
    {
	angle = bangle + ((P_Random()-P_Random())<<20);
	damage = ((P_Random()%5)+1)*3;
	P_LineAttack (actor, angle, MISSILERANGE, slope, damage);
    }
}

void A_CPosAttack (mobj_t* actor)
{
    int		angle;
    int		bangle;
    int		damage;
    int		slope;
	
    if (!actor->target)
	return;

    S_StartSound (actor, sfx_shotgn);
    A_FaceTarget (actor);
    bangle = actor->angle;
    slope = P_AimLineAttack (actor, bangle, MISSILERANGE);

    angle = bangle + ((P_Random()-P_Random())<<20);
    damage = ((P_Random()%5)+1)*3;
    P_LineAttack (actor, angle, MISSILERANGE, slope, damage);
}

void A_CPosRefire (mobj_t* actor)
{	
    // keep firing unless target got out of sight
    A_FaceTarget (actor);

    if (P_Random () < 40)
	return;

    if (!actor->target
	|| actor->target->health <= 0
	|| !P_CheckSight (actor, actor->target) )
    {
	P_SetMobjState (actor, actor->info->seestate);
    }
}


void A_SpidRefire (mobj_t* actor)
{	
    // keep firing unless target got out of sight
    A_FaceTarget (actor);

    if (P_Random () < 10)
	return;

    if (!actor->target
	|| actor->target->health <= 0
	|| !P_CheckSight (actor, actor->target) )
    {
	P_SetMobjState (actor, actor->info->seestate);
    }
}

Share this post


Link to post

I replaced the shotgun sound for a mod a few weeks ago, and I was surprised to hear chaingunners using the sound replacement. I think it's DSSHTGN...

Anyway, if you want to separate the chaingunner/shotgun noises, you would have to create a new monster that looks and acts exactly like the chaingunner. You could do this with DehackED, or zDoom. I know nothing about DehackED, except that it involves replacing frames and such. zDoom has a DECORATE feature, which allows you to easily create new monsters. Using zdoom.org, you can find instruction on how to create a new monster that is the chaingunner, except it uses a different attack noise.

If that paragraph was too dense, tell me... I'm working on explaining things better.

Share this post


Link to post

The spider mastermind is using a rapidfire shotgun. I can't say anything for the chaingun guy, i just conjured that his chaingun sounds different because he was firing from a different angle and a long distance. Kinda like in Wolf3d, the nazi's weapons sounded different even though they were technically the same thing. Also even though I haven't actually heard the chaingun guy using the pistol sound for his chaingun, I can assume he wouldn't appear half as threatening if he was using that sound.

Share this post


Link to post

thanks for explaining. I just didn't like how every time the HW guy stopped shooting at you, you could hear the shotgun pump action sound effect, which I thought didn't suit the chaingun.

Also even though I haven't actually heard the chaingun guy using the pistol sound for his chaingun, I can assume he wouldn't appear half as threatening if he was using that sound.

I think he does on PSX versions of Doom/Final Doom. Sounds quite cool IMO, although the PSX versions have a cooler sound effect for the pistol anyway.

Share this post


Link to post

I think I have a good reason to resurrect this topic. This patch doesn't work with DeHackEd-based animation-enhancing mods that Crispy Doom source port supports (it has extra DeHackEd states from MBF). Could anyone make a 'Crispy Edition' of this patch that would use DeHackEd states not interfering with those used in the mods?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×