TE BEAMRING

From Sven Co-op
Jump to navigation Jump to search

A circular beam drawn between two moving entities. Unlike the other circular beam effects, this one can be rotated to different orientations.

TE_BEAMRING
void te_beamring(CBaseEntity@ start, CBaseEntity@ end, 
	string sprite="sprites/laserbeam.spr", uint8 startFrame=0, 
	uint8 frameRate=16, uint8 life=8, uint8 width=8, uint8 noise=0, 
	Color c=PURPLE, uint8 scrollSpeed=0, 
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)
{
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);
	m.WriteByte(TE_BEAMRING);
	m.WriteShort(start.entindex());
	m.WriteShort(end.entindex());
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));
	m.WriteByte(startFrame);
	m.WriteByte(frameRate);
	m.WriteByte(life);
	m.WriteByte(width);
	m.WriteByte(noise);
	m.WriteByte(c.r);
	m.WriteByte(c.g);
	m.WriteByte(c.b);
	m.WriteByte(c.a);
	m.WriteByte(scrollSpeed);
	m.End();
}
Type Name Description
CBaseEntity@ start Entity target for the beam to follow (start)
CBaseEntity@ end Entity target for the beam to follow (end)
string sprite Sprite used to draw the beam
uint8 startFrame Starting frame for the beam sprite
uint8 frameRate Frame rate of the beam sprite (FPS * 0.1)
uint8 life Time to display the beam (seconds * 0.1)
uint8 width Width of the beam / height of the torus
uint8 noise Noise amplitude of the beam (units * 0.1)
Color c Color of the beam sprite
uint8 scrollSpeed Scroll speed of the beam sprite