|
| CPlasma (CGameWorld *pGameWorld, vec2 Pos, vec2 Dir, bool Freeze, bool Explosive, int ForClientId) |
|
void | Reset () override |
|
void | Tick () override |
|
void | Snap (int SnappingClient) override |
|
void | SwapClients (int Client1, int Client2) 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) |
|
Plasma Bullets are projectiles fired from turrets at a specific target
When hitting a tee, plasma bullets can either freeze or unfreeze the player Also, plasma projectiles can explode on impact. However, the player affected by the explosion is not necessarily the one the plasma collided with, but if the affected player is not a solo player, then the team-mate with the lowest ClientId within the explosion range. Furthermore, the affected player does not feel the explosion at the point of impact but at the last position of the plasma bullet. The same applies if a plasma bullet explodes due to a collision with a laser stopper or a solid block Plasma bullets move every tick in the assigned direction and then accelerate by the factor PLASMA_ACCEL Plasma bullets can explode twice if they would hit both a player and an obstacle in the next movement step Plasma bullets will stop existing as soon as:
- The player they were created for do no longer exist
- They have had a collision with a player, a solid block or a laser stopper
- Their life time of 1.5 seconds has expired