[Feature Request] Vanilla behavior for the Chaos Serpent

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

User avatar
sinisterseed
Posts: 1349
Joined: Tue Nov 05, 2019 6:48 am
Preferred Pronouns: He/Him
Graphics Processor: nVidia with Vulkan support

[Feature Request] Vanilla behavior for the Chaos Serpent

Post by sinisterseed »

Well, as the title implies, since there's now compatibility flags for a variety of things, I was thinking about finally making a topic for this.

I am aware that the behavioral change was deliberate in order to prevent custom players that were too short to be simply missed by the Serpents' fire attack, but this also had the side effect of making them stirring enemy infighting like crazy when in groups of enemies as they can no longer fire above them. It would make more vanilla Hexen wads feel a bit better and closer to the original game.

If possible, I think this would be best brought back in a similar fashion to how the Lost Soul finally had its vanilla behavior restored, through a compatibility flag/toggleable setting, so that depending on the circumstances, it can be either activated or disabled.
User avatar
De-M-oN
Posts: 203
Joined: Mon May 26, 2008 3:24 pm

Re: [Feature Request] Vanilla behavior for the Chaos Serpent

Post by De-M-oN »

I think this would be best brought back in a similar fashion to how the Lost Soul finally had its vanilla behavior restored
What was changed on them?
User avatar
Tartlman
Posts: 226
Joined: Thu Oct 11, 2018 5:24 am
Location: meme hell

Re: [Feature Request] Vanilla behavior for the Chaos Serpent

Post by Tartlman »

De-M-oN wrote: What was changed on them?
My guess is this:
In vanilla doom, lost souls have a bizarre behavior where they "forget" their target. You can read more about it here.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48537
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Feature Request] Vanilla behavior for the Chaos Serpent

Post by Graf Zahl »

De-M-oN wrote:
I think this would be best brought back in a similar fashion to how the Lost Soul finally had its vanilla behavior restored
What was changed on them?

The original aiming code was a bit broken, it aimed from the normal projectile launch height to the center of the target but then just changed the z-position without adjusting the aiming. As a result they miss any target taller than 40 or so map units (can't remember the exact value) which most importantly meant they would never hit crouched players or small monsters.

In Hexen this barely mattered but in ZDoom it led to situations where this rendered the monster mostly useless.
Warden
Posts: 41
Joined: Sun May 24, 2020 11:06 am

Re: [Feature Request] Vanilla behavior for the Chaos Serpent

Post by Warden »

For anyone else that wants this, here's a Zscript mod that restores the vanilla fireball behavior:

Code: Select all

mixin class DemonAttack1
{        
    states {
    Missile:
		DEMN E 5 A_FaceTarget;
		DEMN F 6 A_FaceTarget;
		DEMN G 5 A_DemonAttack("Demon1FX1");
		goto See;
    }
    
    void A_DemonAttack(String missiletype)
    {
        if (!target) return;
        let proj = SpawnMissile(target, missiletype);
        if (proj) {
            proj.AddZ(30, false);
        }
    }
}

mixin class DemonAttack2
{        
    states {
    Missile:
		DEM2 E 5 A_FaceTarget;
		DEM2 F 6 A_FaceTarget;
		DEM2 G 5 A_DemonAttack("Demon2FX1");
		goto See;
    }
    
    void A_DemonAttack(String missiletype)
    {
        if (!target) return;
        let proj = SpawnMissile(target, missiletype);
        if (proj) {
            proj.AddZ(30, false);
        }
    }
}

class ChocoDemon1 : Demon1 replaces Demon1 { mixin DemonAttack1; }
class ChocoDemon2 : Demon2 replaces Demon2 { mixin DemonAttack2; }
class ChocoDemon1Mash : Demon1Mash replaces Demon1Mash { mixin DemonAttack1; }
class ChocoDemon2Mash : Demon2Mash replaces Demon2Mash { mixin DemonAttack2; }
Last edited by Warden on Wed Jun 23, 2021 1:36 am, edited 5 times in total.
Gez
 
 
Posts: 17729
Joined: Fri Jul 06, 2007 3:22 pm

Re: [Feature Request] Vanilla behavior for the Chaos Serpent

Post by Gez »

How about using the adjusted method for targets less than 50 units in height, and the original code for taller targets?

Return to “Feature Suggestions [GZDoom]”