- mins[0] = r->origin[0] - 16.0f;
- mins[1] = r->origin[1] - 16.0f;
- mins[2] = r->origin[2] - 16.0f;
- maxs[0] = r->origin[0] + 16.0f;
- maxs[1] = r->origin[1] + 16.0f;
- maxs[2] = r->origin[2] + 16.0f;
- // how many flames to make
- temp = (int) (cl.time * 300) - (int) (cl.oldtime * 300);
- CL_FlameCube(mins, maxs, temp);
- d = lhrandom(200, 250);
- dlightcolor[0] += d * 1.0f;
- dlightcolor[1] += d * 0.7f;
- dlightcolor[2] += d * 0.3f;
+ if (e->render.effects & EF_BRIGHTFIELD)
+ {
+ if (gamemode == GAME_NEXUIZ)
+ {
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += 0.75f;
+ dlightcolor[1] += 1.50f;
+ dlightcolor[2] += 3.00f;
+ trailtype = 8;
+ }
+ else
+ CL_EntityParticles(e);
+ }
+ if (e->render.effects & EF_MUZZLEFLASH)
+ e->persistent.muzzleflash = 1.0f;
+ if (e->render.effects & EF_DIMLIGHT)
+ {
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += 1.50f;
+ dlightcolor[1] += 1.50f;
+ dlightcolor[2] += 1.50f;
+ }
+ if (e->render.effects & EF_BRIGHTLIGHT)
+ {
+ dlightradius = max(dlightradius, 400);
+ dlightcolor[0] += 3.00f;
+ dlightcolor[1] += 3.00f;
+ dlightcolor[2] += 3.00f;
+ }
+ // LordHavoc: more effects
+ if (e->render.effects & EF_RED) // red
+ {
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += 1.50f;
+ dlightcolor[1] += 0.15f;
+ dlightcolor[2] += 0.15f;
+ }
+ if (e->render.effects & EF_BLUE) // blue
+ {
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += 0.15f;
+ dlightcolor[1] += 0.15f;
+ dlightcolor[2] += 1.50f;
+ }
+ if (e->render.effects & EF_FLAME)
+ {
+ mins[0] = origin[0] - 16.0f;
+ mins[1] = origin[1] - 16.0f;
+ mins[2] = origin[2] - 16.0f;
+ maxs[0] = origin[0] + 16.0f;
+ maxs[1] = origin[1] + 16.0f;
+ maxs[2] = origin[2] + 16.0f;
+ // how many flames to make
+ temp = (int) (cl.time * 300) - (int) (cl.oldtime * 300);
+ CL_FlameCube(mins, maxs, temp);
+ d = lhrandom(0.75f, 1);
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += d * 2.0f;
+ dlightcolor[1] += d * 1.5f;
+ dlightcolor[2] += d * 0.5f;
+ }
+ if (e->render.effects & EF_STARDUST)
+ {
+ mins[0] = origin[0] - 16.0f;
+ mins[1] = origin[1] - 16.0f;
+ mins[2] = origin[2] - 16.0f;
+ maxs[0] = origin[0] + 16.0f;
+ maxs[1] = origin[1] + 16.0f;
+ maxs[2] = origin[2] + 16.0f;
+ // how many particles to make
+ temp = (int) (cl.time * 200) - (int) (cl.oldtime * 200);
+ CL_Stardust(mins, maxs, temp);
+ dlightradius = max(dlightradius, 200);
+ dlightcolor[0] += 1.0f;
+ dlightcolor[1] += 0.7f;
+ dlightcolor[2] += 0.3f;
+ }