| 13 | #include <game/server/gamemodes/ddnet.h> |
| 14 | |
| 15 | CProjectile::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 | |
| 54 | void CProjectile::Reset() |
| 55 | { |
nothing calls this directly
no test coverage detected