- Fixed: Friendly spectral monsters should be able to hurt unfriendly ones

and vice versa.
- Fixed: In deathmatch specral missiles spawned by players should hurt other
  players.
- Fixed: SpectralLightningBigBall didn't set the proper owner for the lightning
  projectiles it spawned.
- Changed the EntityBoss's attack function to call the equivalent spectre
  functions instead of duplicating their code.
- Gave many of Strife's code pointers that only had a number as name more
  meaningful names. 
- Fixed: All spectral attacks must set 'health' first before P_CheckMissileSpawn
  is called.


SVN r1071 (trunk)
This commit is contained in:
Christoph Oelckers 2008-07-12 10:59:36 +00:00
commit c4a1ca2ac8
9 changed files with 161 additions and 162 deletions

View file

@ -236,10 +236,9 @@ static void DoAttack (AActor *self, bool domelee, bool domissile)
const PClass * ti=PClass::FindClass(MissileName);
if (ti)
{
// Although there is a P_SpawnMissileZ function its
// aiming is much too bad to be of any use
// This seemingly senseless code is needed for proper aiming.
self->z+=MissileHeight-32*FRACUNIT;
AActor * missile = P_SpawnMissile (self, self->target, ti);
AActor * missile = P_SpawnMissileXYZ (self->x, self->y, self->z + 32*FRACUNIT, self, self->target, ti, false);
self->z-=MissileHeight-32*FRACUNIT;
if (missile)
@ -254,6 +253,7 @@ static void DoAttack (AActor *self, bool domelee, bool domissile)
{
missile->health=-2;
}
P_CheckMissileSpawn(missile);
}
}
}
@ -937,10 +937,9 @@ void A_CustomComboAttack (AActor *self)
const PClass * ti=PClass::FindClass(MissileName);
if (ti)
{
// Although there is a P_SpawnMissileZ function its
// aiming is much too bad to be of any use
// This seemingly senseless code is needed for proper aiming.
self->z+=SpawnHeight-32*FRACUNIT;
AActor * missile = P_SpawnMissile (self, self->target, ti);
AActor * missile = P_SpawnMissileXYZ (self->x, self->y, self->z + 32*FRACUNIT, self, self->target, ti, false);
self->z-=SpawnHeight-32*FRACUNIT;
if (missile)
@ -955,6 +954,7 @@ void A_CustomComboAttack (AActor *self)
{
missile->health=-2;
}
P_CheckMissileSpawn(missile);
}
}
}
@ -1095,7 +1095,6 @@ void A_FireCustomMissile (AActor * self)
misl->momx = FixedMul (missilespeed, finecosine[an]);
misl->momy = FixedMul (missilespeed, finesine[an]);
}
if (misl->flags4&MF4_SPECTRAL) misl->health=-1;
}
}
}