Hexen Super-damaging sectors!

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 Super-damaging sectors!

by Graf Zahl » Mon Apr 10, 2006 2:34 pm

fixed

by udderdude » Sat May 21, 2005 1:46 pm

Thanks, I found a solution by adding a modified TERRAIN lump to the WAD.

by Graf Zahl » Sat May 21, 2005 9:17 am

As a workaround you can just create a second lava animation which uses X_002 as its base picture and use a standard bitmask damage type for the sector. You don't even need to duplicate any graphics for that.

As for the cause of the bug:

The damage for these sectors is incorrectly applied in both P_PlayerInSpecialSector and P_PlayerOnSpecialFlat. The on in P_PlayerInSpecialSector is not only unnecessary, worse, it contains a bug which causes it to do damage every time the function is called. But it is only called when there is a sector special so it doesn't happen when the sector is 'normal'.


THe following piece of code has to be removed from P_PlayerInSpecialSector:

Code: Select all

	int terrainnum = TerrainTypes[sector->floorpic];

	if (Terrains[terrainnum].DamageAmount &&
		(level.time & Terrains[terrainnum].DamageTimeMask))
	{
		P_DamageMobj (player->mo, NULL, NULL, Terrains[terrainnum].DamageAmount,
			Terrains[terrainnum].DamageMOD);
	}

by udderdude » Sat May 21, 2005 8:31 am

I just checked, and yes, it is.

Any ideas for working around it? All I can think of is to use the Heretic lava floor instead. :/

by Graf Zahl » Sat May 21, 2005 3:07 am

Is this still in .96?

.63 .96 - Hexen Super-damaging sectors!

by udderdude » Fri May 20, 2005 11:20 pm

In Hexen, if you set a floor to X_001 (the lava), and set certian specials (movement), it will become insanely damaging - you die in less than a second after touching it. :shock:

Top