- 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

@ -11,9 +11,9 @@ static FRandom pr_atk1 ("FooMelee");
void A_SentinelBob (AActor *);
void A_SpawnSpectre5 (AActor *);
void A_20538 (AActor *);
void A_20598 (AActor *);
void A_205b0 (AActor *);
void A_SpectreMelee (AActor *);
void A_LoremasterAttack (AActor *);
void A_LoremasterChain (AActor *);
// Loremaster (aka Priest) --------------------------------------------------
@ -42,12 +42,12 @@ FState ALoremaster::States[] =
#define S_PRIEST_MELEE (S_PRIEST_RUN+8)
S_NORMAL (PRST, 'E', 4, A_FaceTarget, &States[S_PRIEST_MELEE+1]),
S_NORMAL (PRST, 'F', 4, A_20538, &States[S_PRIEST_MELEE+2]),
S_NORMAL (PRST, 'F', 4, A_SpectreMelee, &States[S_PRIEST_MELEE+2]),
S_NORMAL (PRST, 'E', 4, A_SentinelBob, &States[S_PRIEST_RUN]),
#define S_PRIEST_MISSILE (S_PRIEST_MELEE+3)
S_NORMAL (PRST, 'E', 4, A_FaceTarget, &States[S_PRIEST_MISSILE+1]),
S_NORMAL (PRST, 'F', 4, A_20598, &States[S_PRIEST_MISSILE+2]),
S_NORMAL (PRST, 'F', 4, A_LoremasterAttack, &States[S_PRIEST_MISSILE+2]),
S_NORMAL (PRST, 'E', 4, A_SentinelBob, &States[S_PRIEST_RUN]),
#define S_PRIEST_DIE (S_PRIEST_MISSILE+3)
@ -125,7 +125,7 @@ public:
FState ALoreShot::States[] =
{
S_NORMAL (OCLW, 'A', 2, A_205b0, &States[0]),
S_NORMAL (OCLW, 'A', 2, A_LoremasterChain, &States[0]),
S_NORMAL (CCLW, 'A', 6, NULL, NULL)
};
@ -184,7 +184,7 @@ IMPLEMENT_ACTOR (ALoreShot2, Strife, -1, 0)
PROP_SeeSound ("loremaster/active")
END_DEFAULTS
void A_20538 (AActor *self)
void A_SpectreMelee (AActor *self)
{
int damage;
@ -197,7 +197,7 @@ void A_20538 (AActor *self)
P_TraceBleed (damage, self->target, self);
}
void A_20598 (AActor *self)
void A_LoremasterAttack (AActor *self)
{
if (self->target != NULL)
{
@ -205,7 +205,7 @@ void A_20598 (AActor *self)
}
}
void A_205b0 (AActor *self)
void A_LoremasterChain (AActor *self)
{
S_Sound (self, CHAN_BODY, "loremaster/active", 1, ATTN_NORM);
Spawn<ALoreShot2> (self->x, self->y, self->z, ALLOW_REPLACE);