This commit is contained in:
Christoph Oelckers 2014-10-12 08:30:13 +02:00
commit 2228dcb32f
2 changed files with 415 additions and 410 deletions

View file

@ -3279,17 +3279,18 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckLOF)
enum JLOS_flags enum JLOS_flags
{ {
JLOSF_PROJECTILE = 1, JLOSF_PROJECTILE = 1,
JLOSF_NOSIGHT=2, JLOSF_NOSIGHT = 1 << 1,
JLOSF_CLOSENOFOV=4, JLOSF_CLOSENOFOV = 1 << 2,
JLOSF_CLOSENOSIGHT=8, JLOSF_CLOSENOSIGHT = 1 << 3,
JLOSF_CLOSENOJUMP=16, JLOSF_CLOSENOJUMP = 1 << 4,
JLOSF_DEADNOJUMP=32, JLOSF_DEADNOJUMP = 1 << 5,
JLOSF_CHECKMASTER=64, JLOSF_CHECKMASTER = 1 << 6,
JLOSF_TARGETLOS=128, JLOSF_TARGETLOS = 1 << 7,
JLOSF_FLIPFOV=256, JLOSF_FLIPFOV = 1 << 8,
JLOSF_ALLYNOJUMP=512, JLOSF_ALLYNOJUMP = 1 << 9,
JLOSF_COMBATANTONLY=1024, JLOSF_COMBATANTONLY = 1 << 10,
JLOSF_NOAUTOAIM=2048, JLOSF_NOAUTOAIM = 1 << 11,
JLOSF_CHECKTRACER = 1 << 12,
}; };
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS) DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
@ -3314,9 +3315,9 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
{ {
target = self->master; target = self->master;
} }
else if (self->flags & MF_MISSILE && (flags & JLOSF_PROJECTILE)) else if ((self->flags & MF_MISSILE && (flags & JLOSF_PROJECTILE)) || (flags & JLOSF_CHECKTRACER))
{ {
if (self->flags2 & MF2_SEEKERMISSILE) if ((self->flags2 & MF2_SEEKERMISSILE) || (flags & JLOSF_CHECKTRACER))
target = self->tracer; target = self->tracer;
else else
target = NULL; target = NULL;

View file

@ -92,18 +92,22 @@ const int RSF_KEEPTARGET = 2;
const int RSF_TELEFRAG = 4; const int RSF_TELEFRAG = 4;
// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS // Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
const int JLOSF_PROJECTILE = 1; enum
const int JLOSF_NOSIGHT = 2; {
const int JLOSF_CLOSENOFOV = 4; JLOSF_PROJECTILE = 1,
const int JLOSF_CLOSENOSIGHT = 8; JLOSF_NOSIGHT = 1 << 1,
const int JLOSF_CLOSENOJUMP = 16; JLOSF_CLOSENOFOV = 1 << 2,
const int JLOSF_DEADNOJUMP = 32; JLOSF_CLOSENOSIGHT = 1 << 3,
const int JLOSF_CHECKMASTER = 64; JLOSF_CLOSENOJUMP = 1 << 4,
const int JLOSF_TARGETLOS = 128; JLOSF_DEADNOJUMP = 1 << 5,
const int JLOSF_FLIPFOV = 256; JLOSF_CHECKMASTER = 1 << 6,
const int JLOSF_ALLYNOJUMP = 512; JLOSF_TARGETLOS = 1 << 7,
const int JLOSF_COMBATANTONLY = 1024; JLOSF_FLIPFOV = 1 << 8,
const int JLOSF_NOAUTOAIM = 2048; JLOSF_ALLYNOJUMP = 1 << 9,
JLOSF_COMBATANTONLY = 1 << 10,
JLOSF_NOAUTOAIM = 1 << 11,
JLOSF_CHECKTRACER = 1 << 12,
};
// Flags for A_ChangeVelocity // Flags for A_ChangeVelocity
const int CVF_RELATIVE = 1; const int CVF_RELATIVE = 1;
@ -388,7 +392,7 @@ enum
RMVF_MISSILES = 1 << 0, RMVF_MISSILES = 1 << 0,
RMVF_NOMONSTERS = 1 << 1, RMVF_NOMONSTERS = 1 << 1,
RMVF_MISC = 1 << 2, RMVF_MISC = 1 << 2,
RMVF_EVERYTHING = 1 << 3 RMVF_EVERYTHING = 1 << 3,
}; };