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

Heresiarch gone mad?

Recommended Posts

Stumbled onto this:


Now at first it seems like a normal Heresiarch fight. But notice how frequently he's casting spells. Like, every 2 seconds. Then when he gets close, notice he's actually interrupting his own spells frequently. Now look above his head. Whoa, wtf. There's at LEAST two and possibly more sets of mana cubes, explaining his odd behavior - the mana cube actors drive the Heresiarch's attack logic (the Heresiarch himself only walks around harmlessly if you take away his cubes).

So, is this a known issue with everybody's favorite demonic sorcerer, or is this something new entirely? And if it's known, what causes it?

I'm not even sure what EXE that video was made in, unfortunately.

Share this post


Link to post

That's a real old bug. I'm not entirely sure about this, but I think whenever he goes into the alert state or chooses a new target (like when something accidently hits him), he spawns a set of spinning cubes. Also, for each set, his spells take half the time as the previous time. If he ever dies like that (good luck with that, as by that point he can cast the reflect spell in the literal blink of an eye), every one of those cubes will be thrown off instead of the usual 3.

Share this post


Link to post

This is something back then I thought was normal, the Heresiarch's spelling in Vanilla Hexen turns faster when the battle enters the climax and keeps turning more and more faster. Good old days. It's a pity that the Heresiarch is the most fucked down Hexen monster in Zdoom (specially in earlier versions)

Share this post


Link to post

Heh, he keeps spawning monsters that attack him. I presume this is the "If the player is dead look for the closest monster instead since we all want to eat his corpse".

Share this post


Link to post

If this is what I think it is yes its a known issue, well to me at least.

http://deng.git.sourceforge.net/git/gitweb.cgi?p=deng/deng;a=commit;h=c2cee1baafe307dafaef7365c8a96add1f0df9d3

Edit: However I must admit that when I tested this they weren't behaving quite like they do in the above video but it was on a different map. It may be affected by the distance of the Heresiarch from the sector in which his cubes were spawned.

Edit2: My comment in the above commit reminded me that I did go on to find the same problem in A_SorcFX2Orbit and A_BridgeOrbit.

Obviously, in the case of A_BridgeOrbit this isn't much of an issue (as they don't really move) - at worst you'll get odd clipping problems if they happen to rotate out of the sector they were spawned in and you are looking at them from a node "deeper" in the BSP. Naturally this is very unlikely. Especially considering you can't really look up/down.

My guess is that this was a performance optimization made originally to the bridge thing. However it was mistakenly left in when new versions were derived from it for the Heresiarch's spells.

Share this post


Link to post

I was bored so I decided to look into this myself. It is just a case of multiple cubes being spawned directly due to a logic bug. The issue I'm talking about in the above post isn't the cause.

Take a look at the structure of A_Chase in Hexen and you'll see the reason: every time he can't find a new target and there are no live players in the map; he will drop into his spawn state, thus A_SorcSpinBalls is called over and over.

void C_DECL A_Chase(mobj_t *actor)
{
[...]
	if(!actor->target || !(actor->target->flags&MF_SHOOTABLE))
	{ // look for a new target
		if(P_LookForPlayers(actor, true))
		{ // got a new target
			return;
		}
		P_SetMobjState(actor, actor->info->spawnstate);
		return;
	}
[...]
}

Share this post


Link to post
GhostlyDeath said:

Heh, he keeps spawning monsters that attack him.



If that's the case this video was probably made with an old version of ZDoom, most likely one of the 2.0.x betas, where the Heresiarch was very broken. Most of its behavior only got fixed in 2.1.0.

In Hexen, bosses can not be targeted by other monsters and this feature was initially missing in ZDoom when Hexen support was first added.

The bug with spawning multiple sets of cubes also was fixed long ago in ZDoom.

Share this post


Link to post
Graf Zahl said:

The bug with spawning multiple sets of cubes also was fixed long ago in ZDoom.

Is it really a bug? Some gameplay setups appear to rely on it, such as large conclaves of heresiarchs that can't be beaten with your mana alone. Instead it is enough to hurt one long enough, until he enters a downward spiral like in the youtube video. Then when he dies, all that huge mass of cubes will be enough to kill each and every heresiarch accompanying him. I had this situation in REoL's Urban.wad.

Share this post


Link to post

No, that alone would not make him do that. This only happens if he loses a target and needs to acquire a new one so you need to provide targets to fight. But even then, since he cannot be targeted by other monsters, you also won't get much of infighting to begin with. What happened in the video only happened because that part of him was missing so he got constantly targeted. tried to retaliate and had to repeat endlessly - which can't happen if he's defined properly.

And yes, it is a bug. Of course it's a bug. How can such behavior be intentional? In the normal game, when you face him it is almost impossible to trigger the effect so nobody at Raven noticed. It was the typical kind of oversight that too often happens in commercial development due to time constraints.

Anyway, the idea of a conclave of Heresiarchs alone is too disturbing - not because he's so hard to fight - which he isn't - but because it's so tedious due to the shield. :D

Share this post


Link to post
Graf Zahl said:

In Hexen, bosses can not be targeted by other monsters and this feature was initially missing in ZDoom when Hexen support was first added.

Except during "Mad Melee," ie. when the player is dead. Monsters use a special look-for-target function that ignores all normal targeting restrictions, INCLUDING same-species, a feature that ZDoom chose to stop being compatible with for some reason I don't really understand - the idea behind the mad melee was that the monsters go berserk with bloodlust, having vanquished their only common foe, so they all turn on each other as D'Sparil/Korax/Etc. laugh maniacally.

Share this post


Link to post
Graf Zahl said:

This only happens if he loses a target and needs to acquire a new one so you need to provide targets to fight. But even then, since he cannot be targeted by other monsters, you also won't get much of infighting to begin with.

And it does happen: the bishop fires the missiles blindly in my direction, even if it doesn't see me. The hurt heresiarch is hit by the priest, turning into retaliation mode, possibly summoning more bishops, at an ever-increasing rate. Those many bishops will have even more firepower to hurt the enraged heresiarch, resulting in a catastrophic effect. Ofc you need to contribute significantly to the damage, as if you'd fight to survive, in order for the heresiarchs to cause enough crossfire.

Share this post


Link to post
printz said:

And it does happen: the bishop fires the missiles blindly in my direction, even if it doesn't see me. The hurt heresiarch is hit by the priest, turning into retaliation mode, possibly summoning more bishops, at an ever-increasing rate. Those many bishops will have even more firepower to hurt the enraged heresiarch, resulting in a catastrophic effect. Ofc you need to contribute significantly to the damage, as if you'd fight to survive, in order for the heresiarchs to cause enough crossfire.

I'm totally unsure of what you mean. The main key, in vanilla Hexen, is having the Heresiarch at low enough health that he will summon Bishops frequently. Then if you die, the Bishops who are about will take random monsters as their target, some of them will take the Heresiarch. In retaliation he summons yet more Bishops, who may turn on him. So he starts a never-ending series of infights until he finally runs out of health, largely due to his own non-immunity to the blast-radius-causing projectiles he spews.

While you are alive, Heresiarchs will *not* infight with Bishops. They are special-cased from doing this, much like Arch-viles cannot be targeted in DOOM.

The function called to do target searching when the player is dead doesn't care about targeting immunities or species types or ANYTHING. It just sets a monster's target to another random monster that's in view. In ZDoom this has at least been changed to ignore monsters of the same species, and I'd assume from what Graf is saying it must also apply factors like specified immunity to targeting. An odd although totally valid decision (IMO).

Share this post


Link to post
Quasar said:

The function called to do target searching when the player is dead doesn't care about targeting immunities or species types or ANYTHING. It just sets a monster's target to another random monster that's in view. In ZDoom this has at least been changed to ignore monsters of the same species, and I'd assume from what Graf is saying it must also apply factors like specified immunity to targeting. An odd although totally valid decision (IMO).


To be honest, I never cared about the aftermath of the player's death. The code was changed because the original version had even more problems. For example, if you had a hostile and friendly monster of the same species they couldn't hurt each other. There were also some other problems that caused legitimate attacks to fail. Fixing that was much, much more important than preserving something that's merely a gimmick effect. Besides, nobody ever complained since I made that change more than 4 years ago. :P

Share this post


Link to post

Heh I would like a hexen mod using a heresiarch like this.It would:
a)make the fight much more complicated due to the speed of casting spells;
b)make the cubes much harder to avoid because of how many they are.

Share this post


Link to post
Graf Zahl said:

C:\Doom>del "killer2's mod.wad"

Heh...I'd wish...but I suck at mapping anything.And I don't know any coding at all...

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
×