-#include "_all.qh"
-
-#include "gibs.qh"
+#include "mutators/events.qh"
#include "player_skeleton.qh"
-
#include "weapons/projectile.qh"
-
#include "../common/animdecide.qh"
-#include "../common/csqcmodel_settings.qh"
-#include "../common/effects/effects.qh"
-#include "../common/teams.qh"
-#include "../common/triggers/trigger/viewloc.qh"
-
-#include "mutators/events.qh"
-
-#include "../csqcmodellib/cl_model.qh"
-#include "../csqcmodellib/cl_player.qh"
-#include "../csqcmodellib/interpolate.qh"
-
+#include "../common/movetypes/movetypes.qh"
+#include "../common/viewloc.qh"
+#include "../lib/csqcmodel/cl_model.qh"
+#include "../lib/csqcmodel/cl_player.qh"
+#include "../lib/csqcmodel/interpolate.qh"
.float death_time;
.int modelflags;
if(self.tag_entity && wasfreed(self.tag_entity))
self.tag_entity = world;
- if(self.viewloc && wasfreed(self.viewloc))
- self.viewloc = world;
-
- if(self.viewloc.entnum != self.tag_networkviewloc)
- self.viewloc = findfloat(world, entnum, self.tag_networkviewloc);
+ viewloc_SetTags();
MUTATOR_CALLHOOK(TagIndex_Update, self);
}
// FEATURE: EF_NODRAW workalike
-const int EF_BRIGHTFIELD = 1;
-const int EF_BRIGHTLIGHT = 4;
-const int EF_DIMLIGHT = 8;
-const int EF_DOUBLESIDED = 32768;
-const int EF_NOSELFSHADOW = 65536;
-const int EF_DYNAMICMODELLIGHT = 131072;
-const int EF_RESTARTANIM_BIT = 1048576;
-const int EF_TELEPORT_BIT = 2097152;
-const int MF_ROCKET = 1; // leave a trail
-const int MF_GRENADE = 2; // leave a trail
-const int MF_GIB = 4; // leave a trail
-const int MF_ROTATE = 8; // rotate (bonus items)
-const int MF_TRACER = 16; // green split trail
-const int MF_ZOMGIB = 32; // small blood trail
-const int MF_TRACER2 = 64; // orange split trail
-const int MF_TRACER3 = 128; // purple trail
+const int EF_BRIGHTFIELD = BIT(0);
+const int EF_BRIGHTLIGHT = BIT(2);
+const int EF_DIMLIGHT = BIT(3);
+const int EF_DOUBLESIDED = BIT(15);
+const int EF_NOSELFSHADOW = BIT(16);
+const int EF_DYNAMICMODELLIGHT = BIT(17);
+const int EF_RESTARTANIM_BIT = BIT(20);
+const int EF_TELEPORT_BIT = BIT(21);
+const int MF_ROCKET = BIT(0); // leave a trail
+const int MF_GRENADE = BIT(1); // leave a trail
+const int MF_GIB = BIT(2); // leave a trail
+const int MF_ROTATE = BIT(3); // rotate (bonus items)
+const int MF_TRACER = BIT(4); // green split trail
+const int MF_ZOMGIB = BIT(5); // small blood trail
+const int MF_TRACER2 = BIT(6); // orange split trail
+const int MF_TRACER3 = BIT(7); // purple trail
.int csqcmodel_effects;
.int csqcmodel_modelflags;
.int csqcmodel_traileffect;
self.traileffect = 0;
if(eff & EF_BRIGHTFIELD)
- tref = particleeffectnum(EFFECT_TR_NEXUIZPLASMA);
+ tref = EFFECT_TR_NEXUIZPLASMA.m_id;
// ignoring EF_MUZZLEFLASH
if(eff & EF_BRIGHTLIGHT)
adddynamiclight(self.origin, 400, '3 3 3');
if(eff & EF_FULLBRIGHT)
self.renderflags |= RF_FULLBRIGHT;
if(eff & EF_FLAME)
- pointparticles(particleeffectnum(EFFECT_EF_FLAME), self.origin, '0 0 0', bound(0, frametime, 0.1));
+ pointparticles(EFFECT_EF_FLAME, self.origin, '0 0 0', bound(0, frametime, 0.1));
if(eff & EF_STARDUST)
- pointparticles(particleeffectnum(EFFECT_EF_STARDUST), self.origin, '0 0 0', bound(0, frametime, 0.1));
+ pointparticles(EFFECT_EF_STARDUST, self.origin, '0 0 0', bound(0, frametime, 0.1));
if(eff & EF_NOSHADOW)
self.renderflags |= RF_NOSHADOW;
if(eff & EF_NODEPTHTEST)
self.renderflags |= RF_DYNAMICMODELLIGHT;
// ignoring EF_UNUSED18, EF_UNUSED19, EF_RESTARTANIM_BIT, EF_TELEPORT_BIT, EF_LOWPRECISION
if(self.csqcmodel_modelflags & MF_ROCKET)
- tref = particleeffectnum(EFFECT_TR_ROCKET);
+ tref = EFFECT_TR_ROCKET.m_id;
if(self.csqcmodel_modelflags & MF_GRENADE)
- tref = particleeffectnum(EFFECT_TR_GRENADE);
+ tref = EFFECT_TR_GRENADE.m_id;
if(self.csqcmodel_modelflags & MF_GIB)
- tref = particleeffectnum(EFFECT_TR_BLOOD);
+ tref = EFFECT_TR_BLOOD.m_id;
if(self.csqcmodel_modelflags & MF_ROTATE)
{
self.renderflags |= RF_USEAXIS;
makevectors(self.angles + '0 100 0' * fmod(time, 3.6));
}
if(self.csqcmodel_modelflags & MF_TRACER)
- tref = particleeffectnum(EFFECT_TR_WIZSPIKE);
+ tref = EFFECT_TR_WIZSPIKE.m_id;
if(self.csqcmodel_modelflags & MF_ZOMGIB)
- tref = particleeffectnum(EFFECT_TR_SLIGHTBLOOD);
+ tref = EFFECT_TR_SLIGHTBLOOD.m_id;
if(self.csqcmodel_modelflags & MF_TRACER2)
- tref = particleeffectnum(EFFECT_TR_KNIGHTSPIKE);
+ tref = EFFECT_TR_KNIGHTSPIKE.m_id;
if(self.csqcmodel_modelflags & MF_TRACER3)
- tref = particleeffectnum(EFFECT_TR_VORESPIKE);
+ tref = EFFECT_TR_VORESPIKE.m_id;
self.traileffect = tref;