diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp
index 65888d0d56..45dd9ff49d 100644
--- a/src/thingdef/thingdef_codeptr.cpp
+++ b/src/thingdef/thingdef_codeptr.cpp
@@ -3278,18 +3278,19 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckLOF)
 
 enum JLOS_flags
 {
-	JLOSF_PROJECTILE=1,
-	JLOSF_NOSIGHT=2,
-	JLOSF_CLOSENOFOV=4,
-	JLOSF_CLOSENOSIGHT=8,
-	JLOSF_CLOSENOJUMP=16,
-	JLOSF_DEADNOJUMP=32,
-	JLOSF_CHECKMASTER=64,
-	JLOSF_TARGETLOS=128,
-	JLOSF_FLIPFOV=256,
-	JLOSF_ALLYNOJUMP=512,
-	JLOSF_COMBATANTONLY=1024,
-	JLOSF_NOAUTOAIM=2048,
+	JLOSF_PROJECTILE =		1,
+	JLOSF_NOSIGHT =			1 << 1,
+	JLOSF_CLOSENOFOV =		1 << 2,
+	JLOSF_CLOSENOSIGHT =	1 << 3,
+	JLOSF_CLOSENOJUMP =		1 << 4,
+	JLOSF_DEADNOJUMP =		1 << 5,
+	JLOSF_CHECKMASTER =		1 << 6,
+	JLOSF_TARGETLOS =		1 << 7,
+	JLOSF_FLIPFOV =			1 << 8,
+	JLOSF_ALLYNOJUMP =		1 << 9,
+	JLOSF_COMBATANTONLY =	1 << 10,
+	JLOSF_NOAUTOAIM =		1 << 11,
+	JLOSF_CHECKTRACER =		1 << 12,
 };
 
 DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
@@ -3314,9 +3315,9 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_JumpIfTargetInLOS)
 		{
 			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;
 			else
 				target = NULL;
diff --git a/wadsrc/static/actors/constants.txt b/wadsrc/static/actors/constants.txt
index 57de8e6ad8..5e9eb2d6d2 100644
--- a/wadsrc/static/actors/constants.txt
+++ b/wadsrc/static/actors/constants.txt
@@ -1,396 +1,400 @@
-
-// Flags for A_PainAttack
-const int PAF_NOSKULLATTACK = 1;
-const int PAF_AIMFACING = 2;
-const int PAF_NOTARGET = 4;
-
-// Flags for A_VileAttack
-const int VAF_DMGTYPEAPPLYTODIRECT = 1;
-
-// Flags for A_Saw
-const int SF_NORANDOM = 1;
-const int SF_RANDOMLIGHTMISS = 2;
-const int SF_RANDOMLIGHTHIT = 4;
-const int SF_RANDOMLIGHTBOTH = 6;
-const int SF_NOUSEAMMOMISS = 8;
-const int SF_NOUSEAMMO = 16;
-const int SF_NOPULLIN = 32;
-const int SF_NOTURN = 64;
-
-// Flags for A_CustomMissile
-const int CMF_AIMOFFSET = 1;
-const int CMF_AIMDIRECTION = 2;
-const int CMF_TRACKOWNER = 4;
-const int CMF_CHECKTARGETDEAD = 8;
-const int CMF_ABSOLUTEPITCH = 16;
-const int CMF_OFFSETPITCH = 32;
-const int CMF_SAVEPITCH = 64;
-const int CMF_ABSOLUTEANGLE = 128;
-
-// Flags for A_CustomBulletAttack
-const int CBAF_AIMFACING = 1;
-const int CBAF_NORANDOM = 2;
-const int CBAF_EXPLICITANGLE = 4;
-const int CBAF_NOPITCH = 8;
-const int CBAF_NORANDOMPUFFZ = 16;
-
-// Flags for A_GunFlash
-const int GFF_NOEXTCHANGE = 1;
-
-// Flags for A_FireBullets
-const int FBF_USEAMMO = 1;
-const int FBF_NORANDOM = 2;
-const int FBF_EXPLICITANGLE = 4;
-const int FBF_NOPITCH = 8;
-const int FBF_NOFLASH = 16;
-const int FBF_NORANDOMPUFFZ = 32;
-
-// Flags for A_SpawnItemEx
-const int SXF_TRANSFERTRANSLATION =		1 << 0;
-const int SXF_ABSOLUTEPOSITION =		1 << 1;
-const int SXF_ABSOLUTEANGLE =			1 << 2;
-const int SXF_ABSOLUTEMOMENTUM =		1 << 3;	//Since "momentum" is declared to be deprecated in the expressions, for compatibility
-const int SXF_ABSOLUTEVELOCITY =		1 << 3;	//purposes, this was made. It does the same thing though. Do not change the value.
-const int SXF_SETMASTER =				1 << 4;
-const int SXF_NOCHECKPOSITION =			1 << 5;
-const int SXF_TELEFRAG =				1 << 6;
-const int SXF_CLIENTSIDE =				1 << 7;	// only used by Skulltag
-const int SXF_TRANSFERAMBUSHFLAG =		1 << 8;
-const int SXF_TRANSFERPITCH =			1 << 9;
-const int SXF_TRANSFERPOINTERS =		1 << 10;
-const int SXF_USEBLOODCOLOR =			1 << 11;
-const int SXF_CLEARCALLERTID =			1 << 12;
-const int SXF_MULTIPLYSPEED =			1 << 13;
-const int SXF_TRANSFERSCALE =			1 << 14;
-const int SXF_TRANSFERSPECIAL =			1 << 15;
-const int SXF_CLEARCALLERSPECIAL =		1 << 16;
-const int SXF_TRANSFERSTENCILCOL =		1 << 17;
-const int SXF_TRANSFERALPHA =			1 << 18;
-const int SXF_TRANSFERRENDERSTYLE =		1 << 19;
-const int SXF_SETTARGET =				1 << 20;
-const int SXF_SETTRACER =				1 << 21;
-const int SXF_NOPOINTERS =				1 << 22;
-
-// Flags for A_Chase
-const int CHF_FASTCHASE = 1;
-const int CHF_NOPLAYACTIVE = 2;
-const int CHF_NIGHTMAREFAST = 4;
-const int CHF_RESURRECT = 8;
-const int CHF_DONTMOVE = 16;
-
-// Flags for A_LookEx
-const int LOF_NOSIGHTCHECK = 1;
-const int LOF_NOSOUNDCHECK = 2;
-const int LOF_DONTCHASEGOAL = 4;
-const int LOF_NOSEESOUND = 8;
-const int LOF_FULLVOLSEESOUND = 16;
-const int LOF_NOJUMP = 32;
-
-// Flags for A_Respawn
-const int RSF_FOG = 1;
-const int RSF_KEEPTARGET = 2;
-const int RSF_TELEFRAG = 4;
-
-// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
-const int JLOSF_PROJECTILE = 1;
-const int JLOSF_NOSIGHT = 2;
-const int JLOSF_CLOSENOFOV = 4;
-const int JLOSF_CLOSENOSIGHT = 8;
-const int JLOSF_CLOSENOJUMP = 16;
-const int JLOSF_DEADNOJUMP = 32;
-const int JLOSF_CHECKMASTER = 64;
-const int JLOSF_TARGETLOS = 128;
-const int JLOSF_FLIPFOV = 256;
-const int JLOSF_ALLYNOJUMP = 512;
-const int JLOSF_COMBATANTONLY = 1024;
-const int JLOSF_NOAUTOAIM = 2048;
-
-// Flags for A_ChangeVelocity
-const int CVF_RELATIVE = 1;
-const int CVF_REPLACE = 2;
-
-// Flags for A_WeaponReady
-const int WRF_NOBOB = 1;
-const int WRF_NOSWITCH = 2;
-const int WRF_NOPRIMARY = 4;
-const int WRF_NOSECONDARY = 8;
-const int WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY;
-const int WRF_ALLOWRELOAD = 16;
-const int WRF_ALLOWZOOM = 32;
-const int WRF_DISABLESWITCH = 64;
-
-// Morph constants
-const int MRF_ADDSTAMINA = 1;
-const int MRF_FULLHEALTH = 2;
-const int MRF_UNDOBYTOMEOFPOWER = 4;
-const int MRF_UNDOBYCHAOSDEVICE = 8;
-const int MRF_FAILNOTELEFRAG = 16;
-const int MRF_FAILNOLAUGH = 32;
-const int MRF_WHENINVULNERABLE = 64;
-const int MRF_LOSEACTUALWEAPON = 128;
-const int MRF_NEWTIDBEHAVIOUR = 256;
-const int MRF_UNDOBYDEATH = 512;
-const int MRF_UNDOBYDEATHFORCED = 1024;
-const int MRF_UNDOBYDEATHSAVES = 2048;
-
-// Flags for A_RailAttack and A_CustomRailgun
-const int RGF_SILENT = 1;
-const int RGF_NOPIERCING = 2;
-const int RGF_EXPLICITANGLE = 4;
-const int RGF_FULLBRIGHT = 8;
-const int RGF_CENTERZ = 16;
-
-// Flags for A_Mushroom
-const int MSF_Standard = 0;
-const int MSF_Classic = 1;
-const int MSF_DontHurt = 2;
-
-// Flags for A_Explode
-const int XF_HURTSOURCE = 1;
-const int XF_NOTMISSILE = 4;
-
-// Flags for A_RadiusThrust
-const int RTF_AFFECTSOURCE = 1;
-const int RTF_NOIMPACTDAMAGE = 2;
-const int RTF_NOTMISSILE = 4;
-
-// Flags for A_Blast
-const int BF_USEAMMO = 1;
-const int BF_DONTWARN = 2;
-const int BF_AFFECTBOSSES = 4;
-const int BF_NOIMPACTDAMAGE = 8;
-
-// Flags for A_SeekerMissile
-const int SMF_LOOK = 1;
-const int SMF_PRECISE = 2;
-const int SMF_CURSPEED = 4;
-
-// Flags for A_CustomPunch
-const int CPF_USEAMMO = 1;
-const int CPF_DAGGER = 2;
-const int CPF_PULLIN = 4;
-const int CPF_NORANDOMPUFFZ = 8;
-
-// Flags for A_CustomMissile
-const int FPF_AIMATANGLE = 1;
-const int FPF_TRANSFERTRANSLATION = 2;
-
-// Flags for A_Teleport
-const int TF_TELEFRAG = 1;const int TF_RANDOMDECIDE = 2;
-
-// Flags for A_WolfAttack
-const int WAF_NORANDOM = 1;
-const int WAF_USEPUFF = 2;
-
-// Flags for A_RadiusGive
-enum
-{
-	RGF_GIVESELF	=   1,
-	RGF_PLAYERS		=   2,
-	RGF_MONSTERS	=   4,
-	RGF_OBJECTS		=   8,
-	RGF_VOODOO		=  16,
-	RGF_CORPSES		=  32,
-	RGF_NOTARGET	=  64,
-	RGF_NOTRACER	= 128,
-	RGF_NOMASTER	= 256,
-	RGF_CUBE		= 512,
-};
-
-// Activation flags
-enum
-{
-	THINGSPEC_Default = 0,
-	THINGSPEC_ThingActs = 1,
-	THINGSPEC_ThingTargets = 2,
-	THINGSPEC_TriggerTargets = 4,
-	THINGSPEC_MonsterTrigger = 8,
-	THINGSPEC_MissileTrigger = 16,
-	THINGSPEC_ClearSpecial = 32,
-	THINGSPEC_NoDeathSpecial = 64,
-	THINGSPEC_TriggerActs = 128,
-};
-// Shorter aliases for same
-const int AF_Default = 0;
-const int AF_ThingActs = 1;
-const int AF_ThingTargets = 2;
-const int AF_TriggerTargets = 4;
-const int AF_MonsterTrigger = 8;
-const int AF_MissileTrigger = 16;
-const int AF_ClearSpecial = 32;
-const int AF_NoDeathSpecial = 64;
-const int AF_TriggerActs = 128;
-
-// Flags for A_TakeInventory and A_TakeFromTarget
-const int TIF_NOTAKEINFINITE = 1;
-
-// constants for A_PlaySound
-enum
-{
-	CHAN_AUTO = 0,
-	CHAN_WEAPON = 1,
-	CHAN_VOICE = 2,
-	CHAN_ITEM = 3,
-	CHAN_BODY = 4,
-	CHAN_5 = 5,
-	CHAN_6 = 6,
-	CHAN_7 = 7,
-	
-	// modifier flags
-	CHAN_LISTENERZ = 8,
-	CHAN_MAYBE_LOCAL = 16,
-	CHAN_UI = 32,
-	CHAN_NOPAUSE = 64
-};
-
-// sound attenuation values
-const float ATTN_NONE = 0;
-const float ATTN_NORM = 1;
-const float ATTN_IDLE = 1.001;
-const float ATTN_STATIC = 3;
-
-// For SetPlayerProprty action special
-Const Int PROP_FROZEN = 0;
-Const Int PROP_NOTARGET = 1;
-Const Int PROP_INSTANTWEAPONSWITCH = 2;
-Const Int PROP_FLY = 3;
-Const Int PROP_TOTALLYFROZEN = 4;
-Const Int PROP_INVULNERABILITY  = 5; // (Deprecated)
-Const Int PROP_STRENGTH = 6; // (Deprecated)
-Const Int PROP_INVISIBILITY = 7; // (Deprecated)
-Const Int PROP_RADIATIONSUIT = 8; // (Deprecated)
-Const Int PROP_ALLMAP = 9; // (Deprecated)
-Const Int PROP_INFRARED = 10; // (Deprecated)
-Const Int PROP_WEAPONLEVEL2 = 11; // (Deprecated)
-Const Int PROP_FLIGHT = 12; // (Deprecated)
-Const Int PROP_SPEED = 15; // (Deprecated)
-Const Int PROP_BUDDHA = 16;
-
-// Line_SetBlocking
-Const Int BLOCKF_CREATURES = 1;
-Const Int BLOCKF_MONSTERS = 2;
-Const Int BLOCKF_PLAYERS = 4;
-Const Int BLOCKF_FLOATERS = 8;
-Const Int BLOCKF_PROJECTILES = 16;
-Const Int BLOCKF_EVERYTHING = 32;
-Const Int BLOCKF_RAILING = 64;
-Const Int BLOCKF_USE = 128;
-
-// Pointer constants, bitfield-enabled
-
-Const Int AAPTR_DEFAULT = 0;
-Const Int AAPTR_NULL = 0x1;
-Const Int AAPTR_TARGET = 0x2;
-Const Int AAPTR_MASTER = 0x4;
-Const Int AAPTR_TRACER = 0x8;
-
-Const Int AAPTR_PLAYER_GETTARGET = 0x10;
-Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20;
-
-Const Int AAPTR_PLAYER1 = 0x40;
-Const Int AAPTR_PLAYER2 = 0x80;
-Const Int AAPTR_PLAYER3 = 0x100;
-Const Int AAPTR_PLAYER4 = 0x200;
-Const Int AAPTR_PLAYER5 = 0x400;
-Const Int AAPTR_PLAYER6 = 0x800;
-Const Int AAPTR_PLAYER7 = 0x1000;
-Const Int AAPTR_PLAYER8 = 0x2000;
-
-Const Int AAPTR_FRIENDPLAYER = 0x4000;
-Const Int AAPTR_LINETARGET = 0x8000;
-
-// Pointer operation flags
-
-Const Int PTROP_UNSAFETARGET = 1;
-Const Int PTROP_UNSAFEMASTER = 2;
-Const Int PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER;
-
-
-// Flags for A_Warp
-
-Const Int WARPF_ABSOLUTEOFFSET = 0x1;
-Const Int WARPF_ABSOLUTEANGLE = 0x2;
-Const Int WARPF_USECALLERANGLE = 0x4;
-Const Int WARPF_NOCHECKPOSITION = 0x8;
-Const Int WARPF_INTERPOLATE = 0x10;
-Const Int WARPF_WARPINTERPOLATION = 0x20;
-Const Int WARPF_COPYINTERPOLATION = 0x40;
-Const Int WARPF_STOP = 0x80;
-Const Int WARPF_TOFLOOR = 0x100;
-Const Int WARPF_TESTONLY = 0x200;
-Const Int WAPRF_ABSOLUTEPOSITION = 0x400;
-
-// flags for A_SetPitch/SetAngle
-const int SPF_FORCECLAMP = 1;
-const int SPF_INTERPOLATE = 2;
-
-
-// flags for A_CheckLOF
-
-enum
-{
-	CLOFF_NOAIM_VERT =			0x1,
-	CLOFF_NOAIM_HORZ =			0x2,
-
-	CLOFF_JUMPENEMY =			0x4,
-	CLOFF_JUMPFRIEND =			0x8,
-	CLOFF_JUMPOBJECT =			0x10,
-	CLOFF_JUMPNONHOSTILE =		0x20,
-
-	CLOFF_SKIPENEMY =			0x40,
-	CLOFF_SKIPFRIEND =			0x80,
-	CLOFF_SKIPOBJECT =			0x100,
-	CLOFF_SKIPNONHOSTILE =		0x200,
-
-	CLOFF_MUSTBESHOOTABLE =		0x400,
-
-	CLOFF_SKIPTARGET =			0x800,
-	CLOFF_ALLOWNULL =			0x1000,
-	CLOFF_CHECKPARTIAL =		0x2000,
-
-	CLOFF_MUSTBEGHOST =			0x4000,
-	CLOFF_IGNOREGHOST =			0x8000,
-	
-	CLOFF_MUSTBESOLID =			0x10000,
-	CLOFF_BEYONDTARGET =		0x20000,
-
-	CLOFF_FROMBASE =			0x40000,
-	CLOFF_MUL_HEIGHT =			0x80000,
-	CLOFF_MUL_WIDTH =			0x100000,
-
-	CLOFF_JUMP_ON_MISS =		0x200000,
-	CLOFF_AIM_VERT_NOOFFSET =	0x400000,
-
-	CLOFF_SKIPOBSTACLES = CLOFF_SKIPENEMY|CLOFF_SKIPFRIEND|CLOFF_SKIPOBJECT|CLOFF_SKIPNONHOSTILE,
-	CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
-};
-
-// Flags for A_Kill (Master/Target/Tracer/Children/Siblings) series
-
-const int KILS_FOILINVUL =		1;
-const int KILS_KILLMISSILES =	2;
-const int KILS_NOMONSTERS =		4;
-
-// Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series
-const int DMSS_FOILINVUL =		1;
-const int DMSS_AFFECTARMOR =	2;
-const int DMSS_KILL =			4;
-const int DMSS_NOFACTOR =	8;
-
-// Flags for A_AlertMonsters
-const int AMF_TARGETEMITTER = 1;
-const int AMF_TARGETNONPLAYER = 2;
-const int AMF_EMITFROMTARGET = 4;
-
-// Flags for A_Remove*
-enum
-{
-	RMVF_MISSILES =			1 << 0,
-	RMVF_NOMONSTERS =		1 << 1,
-	RMVF_MISC =				1 << 2,
-	RMVF_EVERYTHING =		1 << 3
-};
-
-
-// This is only here to provide one global variable for testing.
-native int testglobalvar;
+
+// Flags for A_PainAttack
+const int PAF_NOSKULLATTACK = 1;
+const int PAF_AIMFACING = 2;
+const int PAF_NOTARGET = 4;
+
+// Flags for A_VileAttack
+const int VAF_DMGTYPEAPPLYTODIRECT = 1;
+
+// Flags for A_Saw
+const int SF_NORANDOM = 1;
+const int SF_RANDOMLIGHTMISS = 2;
+const int SF_RANDOMLIGHTHIT = 4;
+const int SF_RANDOMLIGHTBOTH = 6;
+const int SF_NOUSEAMMOMISS = 8;
+const int SF_NOUSEAMMO = 16;
+const int SF_NOPULLIN = 32;
+const int SF_NOTURN = 64;
+
+// Flags for A_CustomMissile
+const int CMF_AIMOFFSET = 1;
+const int CMF_AIMDIRECTION = 2;
+const int CMF_TRACKOWNER = 4;
+const int CMF_CHECKTARGETDEAD = 8;
+const int CMF_ABSOLUTEPITCH = 16;
+const int CMF_OFFSETPITCH = 32;
+const int CMF_SAVEPITCH = 64;
+const int CMF_ABSOLUTEANGLE = 128;
+
+// Flags for A_CustomBulletAttack
+const int CBAF_AIMFACING = 1;
+const int CBAF_NORANDOM = 2;
+const int CBAF_EXPLICITANGLE = 4;
+const int CBAF_NOPITCH = 8;
+const int CBAF_NORANDOMPUFFZ = 16;
+
+// Flags for A_GunFlash
+const int GFF_NOEXTCHANGE = 1;
+
+// Flags for A_FireBullets
+const int FBF_USEAMMO = 1;
+const int FBF_NORANDOM = 2;
+const int FBF_EXPLICITANGLE = 4;
+const int FBF_NOPITCH = 8;
+const int FBF_NOFLASH = 16;
+const int FBF_NORANDOMPUFFZ = 32;
+
+// Flags for A_SpawnItemEx
+const int SXF_TRANSFERTRANSLATION =		1 << 0;
+const int SXF_ABSOLUTEPOSITION =		1 << 1;
+const int SXF_ABSOLUTEANGLE =			1 << 2;
+const int SXF_ABSOLUTEMOMENTUM =		1 << 3;	//Since "momentum" is declared to be deprecated in the expressions, for compatibility
+const int SXF_ABSOLUTEVELOCITY =		1 << 3;	//purposes, this was made. It does the same thing though. Do not change the value.
+const int SXF_SETMASTER =				1 << 4;
+const int SXF_NOCHECKPOSITION =			1 << 5;
+const int SXF_TELEFRAG =				1 << 6;
+const int SXF_CLIENTSIDE =				1 << 7;	// only used by Skulltag
+const int SXF_TRANSFERAMBUSHFLAG =		1 << 8;
+const int SXF_TRANSFERPITCH =			1 << 9;
+const int SXF_TRANSFERPOINTERS =		1 << 10;
+const int SXF_USEBLOODCOLOR =			1 << 11;
+const int SXF_CLEARCALLERTID =			1 << 12;
+const int SXF_MULTIPLYSPEED =			1 << 13;
+const int SXF_TRANSFERSCALE =			1 << 14;
+const int SXF_TRANSFERSPECIAL =			1 << 15;
+const int SXF_CLEARCALLERSPECIAL =		1 << 16;
+const int SXF_TRANSFERSTENCILCOL =		1 << 17;
+const int SXF_TRANSFERALPHA =			1 << 18;
+const int SXF_TRANSFERRENDERSTYLE =		1 << 19;
+const int SXF_SETTARGET =				1 << 20;
+const int SXF_SETTRACER =				1 << 21;
+const int SXF_NOPOINTERS =				1 << 22;
+
+// Flags for A_Chase
+const int CHF_FASTCHASE = 1;
+const int CHF_NOPLAYACTIVE = 2;
+const int CHF_NIGHTMAREFAST = 4;
+const int CHF_RESURRECT = 8;
+const int CHF_DONTMOVE = 16;
+
+// Flags for A_LookEx
+const int LOF_NOSIGHTCHECK = 1;
+const int LOF_NOSOUNDCHECK = 2;
+const int LOF_DONTCHASEGOAL = 4;
+const int LOF_NOSEESOUND = 8;
+const int LOF_FULLVOLSEESOUND = 16;
+const int LOF_NOJUMP = 32;
+
+// Flags for A_Respawn
+const int RSF_FOG = 1;
+const int RSF_KEEPTARGET = 2;
+const int RSF_TELEFRAG = 4;
+
+// Flags for A_JumpIfTargetInLOS and A_JumpIfInTargetLOS
+enum
+{
+	JLOSF_PROJECTILE =		1,
+	JLOSF_NOSIGHT =			1 << 1,
+	JLOSF_CLOSENOFOV =		1 << 2,
+	JLOSF_CLOSENOSIGHT =	1 << 3,
+	JLOSF_CLOSENOJUMP =		1 << 4,
+	JLOSF_DEADNOJUMP =		1 << 5,
+	JLOSF_CHECKMASTER =		1 << 6,
+	JLOSF_TARGETLOS =		1 << 7,
+	JLOSF_FLIPFOV =			1 << 8,
+	JLOSF_ALLYNOJUMP =		1 << 9,
+	JLOSF_COMBATANTONLY =	1 << 10,
+	JLOSF_NOAUTOAIM =		1 << 11,
+	JLOSF_CHECKTRACER =		1 << 12,
+};
+
+// Flags for A_ChangeVelocity
+const int CVF_RELATIVE = 1;
+const int CVF_REPLACE = 2;
+
+// Flags for A_WeaponReady
+const int WRF_NOBOB = 1;
+const int WRF_NOSWITCH = 2;
+const int WRF_NOPRIMARY = 4;
+const int WRF_NOSECONDARY = 8;
+const int WRF_NOFIRE = WRF_NOPRIMARY | WRF_NOSECONDARY;
+const int WRF_ALLOWRELOAD = 16;
+const int WRF_ALLOWZOOM = 32;
+const int WRF_DISABLESWITCH = 64;
+
+// Morph constants
+const int MRF_ADDSTAMINA = 1;
+const int MRF_FULLHEALTH = 2;
+const int MRF_UNDOBYTOMEOFPOWER = 4;
+const int MRF_UNDOBYCHAOSDEVICE = 8;
+const int MRF_FAILNOTELEFRAG = 16;
+const int MRF_FAILNOLAUGH = 32;
+const int MRF_WHENINVULNERABLE = 64;
+const int MRF_LOSEACTUALWEAPON = 128;
+const int MRF_NEWTIDBEHAVIOUR = 256;
+const int MRF_UNDOBYDEATH = 512;
+const int MRF_UNDOBYDEATHFORCED = 1024;
+const int MRF_UNDOBYDEATHSAVES = 2048;
+
+// Flags for A_RailAttack and A_CustomRailgun
+const int RGF_SILENT = 1;
+const int RGF_NOPIERCING = 2;
+const int RGF_EXPLICITANGLE = 4;
+const int RGF_FULLBRIGHT = 8;
+const int RGF_CENTERZ = 16;
+
+// Flags for A_Mushroom
+const int MSF_Standard = 0;
+const int MSF_Classic = 1;
+const int MSF_DontHurt = 2;
+
+// Flags for A_Explode
+const int XF_HURTSOURCE = 1;
+const int XF_NOTMISSILE = 4;
+
+// Flags for A_RadiusThrust
+const int RTF_AFFECTSOURCE = 1;
+const int RTF_NOIMPACTDAMAGE = 2;
+const int RTF_NOTMISSILE = 4;
+
+// Flags for A_Blast
+const int BF_USEAMMO = 1;
+const int BF_DONTWARN = 2;
+const int BF_AFFECTBOSSES = 4;
+const int BF_NOIMPACTDAMAGE = 8;
+
+// Flags for A_SeekerMissile
+const int SMF_LOOK = 1;
+const int SMF_PRECISE = 2;
+const int SMF_CURSPEED = 4;
+
+// Flags for A_CustomPunch
+const int CPF_USEAMMO = 1;
+const int CPF_DAGGER = 2;
+const int CPF_PULLIN = 4;
+const int CPF_NORANDOMPUFFZ = 8;
+
+// Flags for A_CustomMissile
+const int FPF_AIMATANGLE = 1;
+const int FPF_TRANSFERTRANSLATION = 2;
+
+// Flags for A_Teleport
+const int TF_TELEFRAG = 1;const int TF_RANDOMDECIDE = 2;
+
+// Flags for A_WolfAttack
+const int WAF_NORANDOM = 1;
+const int WAF_USEPUFF = 2;
+
+// Flags for A_RadiusGive
+enum
+{
+	RGF_GIVESELF	=   1,
+	RGF_PLAYERS		=   2,
+	RGF_MONSTERS	=   4,
+	RGF_OBJECTS		=   8,
+	RGF_VOODOO		=  16,
+	RGF_CORPSES		=  32,
+	RGF_NOTARGET	=  64,
+	RGF_NOTRACER	= 128,
+	RGF_NOMASTER	= 256,
+	RGF_CUBE		= 512,
+};
+
+// Activation flags
+enum
+{
+	THINGSPEC_Default = 0,
+	THINGSPEC_ThingActs = 1,
+	THINGSPEC_ThingTargets = 2,
+	THINGSPEC_TriggerTargets = 4,
+	THINGSPEC_MonsterTrigger = 8,
+	THINGSPEC_MissileTrigger = 16,
+	THINGSPEC_ClearSpecial = 32,
+	THINGSPEC_NoDeathSpecial = 64,
+	THINGSPEC_TriggerActs = 128,
+};
+// Shorter aliases for same
+const int AF_Default = 0;
+const int AF_ThingActs = 1;
+const int AF_ThingTargets = 2;
+const int AF_TriggerTargets = 4;
+const int AF_MonsterTrigger = 8;
+const int AF_MissileTrigger = 16;
+const int AF_ClearSpecial = 32;
+const int AF_NoDeathSpecial = 64;
+const int AF_TriggerActs = 128;
+
+// Flags for A_TakeInventory and A_TakeFromTarget
+const int TIF_NOTAKEINFINITE = 1;
+
+// constants for A_PlaySound
+enum
+{
+	CHAN_AUTO = 0,
+	CHAN_WEAPON = 1,
+	CHAN_VOICE = 2,
+	CHAN_ITEM = 3,
+	CHAN_BODY = 4,
+	CHAN_5 = 5,
+	CHAN_6 = 6,
+	CHAN_7 = 7,
+	
+	// modifier flags
+	CHAN_LISTENERZ = 8,
+	CHAN_MAYBE_LOCAL = 16,
+	CHAN_UI = 32,
+	CHAN_NOPAUSE = 64
+};
+
+// sound attenuation values
+const float ATTN_NONE = 0;
+const float ATTN_NORM = 1;
+const float ATTN_IDLE = 1.001;
+const float ATTN_STATIC = 3;
+
+// For SetPlayerProprty action special
+Const Int PROP_FROZEN = 0;
+Const Int PROP_NOTARGET = 1;
+Const Int PROP_INSTANTWEAPONSWITCH = 2;
+Const Int PROP_FLY = 3;
+Const Int PROP_TOTALLYFROZEN = 4;
+Const Int PROP_INVULNERABILITY  = 5; // (Deprecated)
+Const Int PROP_STRENGTH = 6; // (Deprecated)
+Const Int PROP_INVISIBILITY = 7; // (Deprecated)
+Const Int PROP_RADIATIONSUIT = 8; // (Deprecated)
+Const Int PROP_ALLMAP = 9; // (Deprecated)
+Const Int PROP_INFRARED = 10; // (Deprecated)
+Const Int PROP_WEAPONLEVEL2 = 11; // (Deprecated)
+Const Int PROP_FLIGHT = 12; // (Deprecated)
+Const Int PROP_SPEED = 15; // (Deprecated)
+Const Int PROP_BUDDHA = 16;
+
+// Line_SetBlocking
+Const Int BLOCKF_CREATURES = 1;
+Const Int BLOCKF_MONSTERS = 2;
+Const Int BLOCKF_PLAYERS = 4;
+Const Int BLOCKF_FLOATERS = 8;
+Const Int BLOCKF_PROJECTILES = 16;
+Const Int BLOCKF_EVERYTHING = 32;
+Const Int BLOCKF_RAILING = 64;
+Const Int BLOCKF_USE = 128;
+
+// Pointer constants, bitfield-enabled
+
+Const Int AAPTR_DEFAULT = 0;
+Const Int AAPTR_NULL = 0x1;
+Const Int AAPTR_TARGET = 0x2;
+Const Int AAPTR_MASTER = 0x4;
+Const Int AAPTR_TRACER = 0x8;
+
+Const Int AAPTR_PLAYER_GETTARGET = 0x10;
+Const Int AAPTR_PLAYER_GETCONVERSATION = 0x20;
+
+Const Int AAPTR_PLAYER1 = 0x40;
+Const Int AAPTR_PLAYER2 = 0x80;
+Const Int AAPTR_PLAYER3 = 0x100;
+Const Int AAPTR_PLAYER4 = 0x200;
+Const Int AAPTR_PLAYER5 = 0x400;
+Const Int AAPTR_PLAYER6 = 0x800;
+Const Int AAPTR_PLAYER7 = 0x1000;
+Const Int AAPTR_PLAYER8 = 0x2000;
+
+Const Int AAPTR_FRIENDPLAYER = 0x4000;
+Const Int AAPTR_LINETARGET = 0x8000;
+
+// Pointer operation flags
+
+Const Int PTROP_UNSAFETARGET = 1;
+Const Int PTROP_UNSAFEMASTER = 2;
+Const Int PTROP_NOSAFEGUARDS = PTROP_UNSAFETARGET|PTROP_UNSAFEMASTER;
+
+
+// Flags for A_Warp
+
+Const Int WARPF_ABSOLUTEOFFSET = 0x1;
+Const Int WARPF_ABSOLUTEANGLE = 0x2;
+Const Int WARPF_USECALLERANGLE = 0x4;
+Const Int WARPF_NOCHECKPOSITION = 0x8;
+Const Int WARPF_INTERPOLATE = 0x10;
+Const Int WARPF_WARPINTERPOLATION = 0x20;
+Const Int WARPF_COPYINTERPOLATION = 0x40;
+Const Int WARPF_STOP = 0x80;
+Const Int WARPF_TOFLOOR = 0x100;
+Const Int WARPF_TESTONLY = 0x200;
+Const Int WAPRF_ABSOLUTEPOSITION = 0x400;
+
+// flags for A_SetPitch/SetAngle
+const int SPF_FORCECLAMP = 1;
+const int SPF_INTERPOLATE = 2;
+
+
+// flags for A_CheckLOF
+
+enum
+{
+	CLOFF_NOAIM_VERT =			0x1,
+	CLOFF_NOAIM_HORZ =			0x2,
+
+	CLOFF_JUMPENEMY =			0x4,
+	CLOFF_JUMPFRIEND =			0x8,
+	CLOFF_JUMPOBJECT =			0x10,
+	CLOFF_JUMPNONHOSTILE =		0x20,
+
+	CLOFF_SKIPENEMY =			0x40,
+	CLOFF_SKIPFRIEND =			0x80,
+	CLOFF_SKIPOBJECT =			0x100,
+	CLOFF_SKIPNONHOSTILE =		0x200,
+
+	CLOFF_MUSTBESHOOTABLE =		0x400,
+
+	CLOFF_SKIPTARGET =			0x800,
+	CLOFF_ALLOWNULL =			0x1000,
+	CLOFF_CHECKPARTIAL =		0x2000,
+
+	CLOFF_MUSTBEGHOST =			0x4000,
+	CLOFF_IGNOREGHOST =			0x8000,
+	
+	CLOFF_MUSTBESOLID =			0x10000,
+	CLOFF_BEYONDTARGET =		0x20000,
+
+	CLOFF_FROMBASE =			0x40000,
+	CLOFF_MUL_HEIGHT =			0x80000,
+	CLOFF_MUL_WIDTH =			0x100000,
+
+	CLOFF_JUMP_ON_MISS =		0x200000,
+	CLOFF_AIM_VERT_NOOFFSET =	0x400000,
+
+	CLOFF_SKIPOBSTACLES = CLOFF_SKIPENEMY|CLOFF_SKIPFRIEND|CLOFF_SKIPOBJECT|CLOFF_SKIPNONHOSTILE,
+	CLOFF_NOAIM = CLOFF_NOAIM_VERT|CLOFF_NOAIM_HORZ
+};
+
+// Flags for A_Kill (Master/Target/Tracer/Children/Siblings) series
+
+const int KILS_FOILINVUL =		1;
+const int KILS_KILLMISSILES =	2;
+const int KILS_NOMONSTERS =		4;
+
+// Flags for A_Damage (Master/Target/Tracer/Children/Siblings/Self) series
+const int DMSS_FOILINVUL =		1;
+const int DMSS_AFFECTARMOR =	2;
+const int DMSS_KILL =			4;
+const int DMSS_NOFACTOR =		8;
+
+// Flags for A_AlertMonsters
+const int AMF_TARGETEMITTER = 1;
+const int AMF_TARGETNONPLAYER = 2;
+const int AMF_EMITFROMTARGET = 4;
+
+// Flags for A_Remove*
+enum
+{
+	RMVF_MISSILES =			1 << 0,
+	RMVF_NOMONSTERS =		1 << 1,
+	RMVF_MISC =				1 << 2,
+	RMVF_EVERYTHING =		1 << 3,
+};
+
+
+// This is only here to provide one global variable for testing.
+native int testglobalvar;