MCPcopy Create free account
hub / github.com/ddnet/ddnet / CProjectile

Method CProjectile

src/game/server/entities/projectile.cpp:15–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

13#include <game/server/gamemodes/ddnet.h>
14
15CProjectile::CProjectile(
16 CGameWorld *pGameWorld,
17 int Type,
18 int Owner,
19 vec2 Pos,
20 vec2 Dir,
21 int Span,
22 bool Freeze,
23 bool Explosive,
24 int SoundImpact,
25 vec2 InitDir,
26 int Layer,
27 int Number) :
28 CEntity(pGameWorld, CGameWorld::ENTTYPE_PROJECTILE)
29{
30 m_Type = Type;
31 m_Pos = Pos;
32 m_Direction = Dir;
33 m_LifeSpan = Span;
34 m_Owner = Owner;
35 m_SoundImpact = SoundImpact;
36 m_StartTick = Server()->Tick();
37 m_Explosive = Explosive;
38
39 m_Layer = Layer;
40 m_Number = Number;
41 m_Freeze = Freeze;
42
43 m_InitDir = InitDir;
44 m_TuneZone = GameServer()->Collision()->IsTune(GameServer()->Collision()->GetMapIndex(m_Pos));
45
46 CCharacter *pOwnerChar = GameServer()->GetPlayerChar(m_Owner);
47 m_BelongsToPracticeTeam = pOwnerChar && pOwnerChar->Teams()->IsPractice(pOwnerChar->Team());
48 m_DDRaceTeam = m_Owner == -1 ? 0 : GameServer()->GetDDRaceTeam(m_Owner);
49 m_IsSolo = pOwnerChar && pOwnerChar->GetCore().m_Solo;
50
51 GameWorld()->InsertEntity(this);
52}
53
54void CProjectile::Reset()
55{

Callers

nothing calls this directly

Calls 12

IsTuneMethod · 0.80
GetMapIndexMethod · 0.80
GetPlayerCharMethod · 0.80
IsPracticeMethod · 0.80
GetDDRaceTeamMethod · 0.80
ServerClass · 0.50
TickMethod · 0.45
CollisionMethod · 0.45
TeamsMethod · 0.45
TeamMethod · 0.45
GetCoreMethod · 0.45
InsertEntityMethod · 0.45

Tested by

no test coverage detected