|
| CDraggerBeam (CGameWorld *pGameWorld, CDragger *pDragger, vec2 Pos, float Strength, bool IgnoreWalls, int ForClientId, int Layer, int Number) |
|
void | SetPos (vec2 Pos) |
|
void | Reset () override |
|
void | Tick () override |
|
void | Snap (int SnappingClient) override |
|
void | SwapClients (int Client1, int Client2) override |
|
ESaveResult | BlocksSave (int ClientId) override |
|
int | GetId () const |
|
| CEntity (CGameWorld *pGameWorld, int Objtype, vec2 Pos=vec2(0, 0), int ProximityRadius=0) |
|
virtual | ~CEntity () |
|
std::vector< SSwitchers > & | Switchers () |
|
CGameWorld * | GameWorld () |
|
CTuningParams * | Tuning () |
|
CTuningParams * | TuningList () |
|
CTuningParams * | GetTuning (int i) |
|
class CCollision * | Collision () |
|
CEntity * | TypeNext () |
|
CEntity * | TypePrev () |
|
const vec2 & | GetPos () const |
|
float | GetProximityRadius () const |
|
void | Destroy () |
|
virtual void | PreTick () |
|
virtual void | Tick () |
|
virtual void | TickDeferred () |
|
bool | GameLayerClipped (vec2 CheckPos) |
|
CEntity * | NextEntity () |
|
void | Keep () |
|
| CEntity () |
|
int | GetId () const |
|
| CEntity (CGameWorld *pGameWorld, int Objtype, vec2 Pos=vec2(0, 0), int ProximityRadius=0) |
|
virtual | ~CEntity () |
|
std::vector< SSwitchers > & | Switchers () |
|
CGameWorld * | GameWorld () |
|
CTuningParams * | Tuning () |
|
CTuningParams * | TuningList () |
|
CTuningParams * | GetTuning (int i) |
|
class CConfig * | Config () |
|
class CGameContext * | GameServer () |
|
class IServer * | Server () |
|
CCollision * | Collision () |
|
CEntity * | TypeNext () |
|
CEntity * | TypePrev () |
|
const vec2 & | GetPos () const |
|
float | GetProximityRadius () const |
|
virtual void | Destroy () |
|
virtual void | Reset () |
|
virtual void | Tick () |
|
virtual void | TickDeferred () |
|
virtual void | TickPaused () |
|
virtual void | Snap (int SnappingClient) |
|
virtual void | PostSnap () |
|
virtual void | SwapClients (int Client1, int Client2) |
|
virtual ESaveResult | BlocksSave (int ClientId) |
|
virtual int | GetOwnerId () const |
|
bool | NetworkClipped (int SnappingClient) const |
|
bool | NetworkClipped (int SnappingClient, vec2 CheckPos) const |
|
bool | NetworkClippedLine (int SnappingClient, vec2 StartPos, vec2 EndPos) const |
|
bool | GameLayerClipped (vec2 CheckPos) |
|
bool | GetNearestAirPos (vec2 Pos, vec2 PrevPos, vec2 *pOutPos) |
|
bool | GetNearestAirPosPlayer (vec2 PlayerPos, vec2 *pOutPos) |
|
Dragger beams pull a selected player towards their center
Dragger beams are generated by a particular dragger for the player closest to it and for whom certain criteria are met. Dragger beams exist until these criteria are no longer met. Dragger beams dissolve and automatically de-register from their dragger source as soon as the player for whom they were created:
- is no longer alive
- is no longer in range (sv_dragger_range)
- can no longer be dragged because the beam is intercepted by a laser stopper (or if !IgnoreWalls by solid blocks)
Dragger beams accelerate the selected player every tick towards their center. The length of the speed vector, which is added to that of the player, depends only on the strength of the dragger and is between 1 and 3 units long. If the player is in the center of the dragger, it will not accelerate.