- Added a compatibility option to restore the original behavior of the Invisibility

powerup.
- Changed: Weapons are no longer checked for the EXTREMEDEATH and NOEXTREMEDEATH flags.
  For all damage related actions it will always be the projectile (or puff for hitscan
  attacks) that is treated as the damage inflictor.
- Fixed: Hexen's fourth weapons made extreme death depend on the weapon the player
  is holding, not the projectile that did the kill. The WIF_EXTREME_DEATH flag
  no longer exists as a result.
- Expanded PowerSpeed so that subclasses can be derived that alter the speed factor.
- Added an MF5_USESPECIAL flag that allows using things to execute their specials.
- added MF4_FORCERADIUSDMG flag so that exploding items can be created which
  are able to hurt boss monsters.
- moved ML_BLOCK_PLAYERS to the value 0x4000 to bring it in line with Skulltag's 
  implementation.


SVN r530 (trunk)
This commit is contained in:
Christoph Oelckers 2007-05-12 11:14:09 +00:00
commit a6a5821f04
22 changed files with 794 additions and 594 deletions

View file

@ -3267,10 +3267,10 @@ bool PTR_UseTraverse (intercept_t *in)
if (usething==in->d.thing) return true;
// Check thing
// Check for puzzle item use
if (in->d.thing->special == USE_PUZZLE_ITEM_SPECIAL)
// Check for puzzle item use or USESPECIAL flag
if (in->d.thing->flags5 & MF5_USESPECIAL || in->d.thing->special == USE_PUZZLE_ITEM_SPECIAL)
{
if (LineSpecials[USE_PUZZLE_ITEM_SPECIAL] (NULL, usething, false,
if (LineSpecials[in->d.thing->special] (NULL, usething, false,
in->d.thing->args[0], in->d.thing->args[1], in->d.thing->args[2],
in->d.thing->args[3], in->d.thing->args[4]))
return false;
@ -3565,7 +3565,7 @@ bool PIT_RadiusAttack (AActor *thing)
// Boss spider and cyborg and Heretic's ep >= 2 bosses
// take no damage from concussion.
if (thing->flags3 & MF3_NORADIUSDMG)
if (thing->flags3 & MF3_NORADIUSDMG && !(bombspot->flags4 & MF4_FORCERADIUSDMG))
return true;
if (!DamageSource && thing == bombsource)