Hexen Cleric Flechette Bug

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Hexen Cleric Flechette Bug

Re: Hexen Cleric Flechette Bug

by Zedonk » Tue Mar 19, 2019 1:38 pm

Awesome! Thanks Grah Zahl :)

Re: Hexen Cleric Flechette Bug

by Graf Zahl » Tue Mar 19, 2019 12:54 pm

I just gave it the OLDRADIUSDMG flag. I really do not feel like mucking around with this code any further for this one actor that does radius damage but doesn't really.

Re: Hexen Cleric Flechette Bug

by Graf Zahl » Tue Mar 19, 2019 10:27 am

That 'new' radius damage code sure is one of ZDoom's biggest fuckups. Instead of just using the old code and limiting the vertical extent of the damage it went all wild on all kinds of changes. It is really too bad that undoing this will cause so many problems. :(

Re: Hexen Cleric Flechette Bug

by _mental_ » Tue Mar 19, 2019 9:37 am

The problem reported initially started with this commit. That guilty cast is now located at line 5895.
Alternatively, taking old radius damage code path fixes it as well. Remember flying physics thread? Completely different effect but the same cause.

Re: Hexen Cleric Flechette Bug

by StroggVorbis » Tue Mar 19, 2019 4:47 am

According to ZDoom Wiki, the PoisonCloud actor has a radius of 20 units and the A_PoisonBagDamage function deals 4 damage in a 40 unit radius.

And here's the original Hexen source code's A_Explode function from GitHub:

Code: Select all

void A_Explode(mobj_t *actor)
{
	int damage;
	int distance;
	boolean damageSelf;

	damage = 128;
	distance = 128;
	damageSelf = true;
	switch(actor->type)
	{
		case MT_FIREBOMB: // Time Bombs
			actor->z += 32*FRACUNIT;
			actor->flags &= ~MF_SHADOW;
			break;
		case MT_MNTRFX2: // Minotaur floor fire
			damage = 24;
			break;
		case MT_BISHOP: // Bishop radius death
			damage = 25+(P_Random()&15);
			break;
		case MT_HAMMER_MISSILE: // Fighter Hammer
			damage = 128;
			damageSelf = false;
			break;
		case MT_FSWORD_MISSILE: // Fighter Runesword
			damage = 64;
			damageSelf = false;
			break;
		case MT_CIRCLEFLAME: // Cleric Flame secondary flames
			damage = 20;
			damageSelf = false;
			break;
		case MT_SORCBALL1: 	// Sorcerer balls
		case MT_SORCBALL2:
		case MT_SORCBALL3:
			distance = 255;
			damage = 255;
			actor->args[0] = 1;		// don't play bounce
			break;
		case MT_SORCFX1: 	// Sorcerer spell 1
			damage = 30;
			break;
		case MT_SORCFX4: 	// Sorcerer spell 4
			damage = 20;
			break;
		case MT_TREEDESTRUCTIBLE:
			damage = 10;
			break;
		case MT_DRAGON_FX2:
			damage = 80;
			damageSelf = false;
			break;
		case MT_MSTAFF_FX:
			damage = 64;
			distance = 192;
			damageSelf = false;
			break;
		case MT_MSTAFF_FX2:
			damage = 80;
			distance = 192;
			damageSelf = false;
			break;
		case MT_POISONCLOUD:
			damage = 4;
			distance = 40;
			break;
		case MT_ZXMAS_TREE:
		case MT_ZSHRUB2:
			damage = 30;
			distance = 64;
			break;
		default:
			break;
	}
	P_RadiusAttack(actor, actor->target, damage, distance, damageSelf);
	if(actor->z <= actor->floorz+(distance<<FRACBITS)
		&& actor->type != MT_POISONCLOUD)
	{
 		P_HitFloor(actor);
	}
}

Re: Hexen Cleric Flechette Bug

by Guest » Mon Mar 18, 2019 7:48 pm

I don't know if it's related, but the gas duration and damage is off too. In vanilla or chocolate Hexen the gas lingers for ~22 seconds while in GZDoom it lasts ~14 seconds and seems to do less damage per second as well.

I tried out a bunch of older versions and the last one I could find which was correct was version 1-4-00 from Jan 2010. I'm running a 100 hz display if that matters.

Cheers!

Hexen Cleric Flechette Bug

by Zedonk » Sun Mar 17, 2019 7:16 pm

I've noticed that the cleric flechette gas bombs' range in gzdoom 3.7.2 is double that of the range in zdoom (and also in chocolate hexen.) Whilst not particularly important, I do find it quite frustrating when I keep dying trying to sneak past my own poison clouds :P
One thing to note, monsters seem to be unaffected by the increase in range - just the player.


Here is a video showing exactly what I mean:
https://www.youtube.com/watch?v=rWHftcA ... e=youtu.be


Here is my test wad for anyone interested:
http://www.mediafire.com/file/nuwkb1a4a ... g.wad/file



Thank you for your time :)
(Note: this is my first time uploading files to the site. So if things don't work, please bear with me.)

Top