DDraceNetwork Docs
|
#include <plasma.h>
Public Member Functions | |
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 |
virtual bool | CanCollide (int ClientId) |
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) |
virtual bool | CanCollide (int ClientId) |
bool | GetNearestAirPos (vec2 Pos, vec2 PrevPos, vec2 *pOutPos) |
bool | GetNearestAirPosPlayer (vec2 PlayerPos, vec2 *pOutPos) |
Private Member Functions | |
void | Move () |
bool | HitCharacter (CCharacter *pTarget) |
bool | HitObstacle (CCharacter *pTarget) |
Private Attributes | |
vec2 | m_Core |
int | m_Freeze |
bool | m_Explosive |
int | m_ForClientId |
int | m_EvalTick |
int | m_LifeTime |
Additional Inherited Members | |
![]() | |
float | m_ProximityRadius |
vec2 | m_Pos |
int | m_Number |
int | m_Layer |
int | m_SnapTicks |
int | m_DestroyTick |
int | m_LastRenderTick |
CEntity * | m_pParent |
CEntity * | m_pChild |
![]() | |
CGameWorld * | m_pGameWorld |
bool | m_MarkedForDestroy |
int | m_Id |
int | m_ObjType |
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:
CPlasma::CPlasma | ( | CGameWorld * | pGameWorld, |
vec2 | Pos, | ||
vec2 | Dir, | ||
bool | Freeze, | ||
bool | Explosive, | ||
int | ForClientId | ||
) |
|
private |
|
private |
|
private |
|
overridevirtual |
Reimplemented from CEntity.
|
overridevirtual |
Reimplemented from CEntity.
|
overridevirtual |
Reimplemented from CEntity.
|
overridevirtual |
Reimplemented from CEntity.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |