Skip to content

Commit 0431d08

Browse files
committed
CInfClassInfected: Mark FindWitchSpawnPosition() const
1 parent 432c268 commit 0431d08

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

src/game/server/infclass/classes/infected/infected.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ CInfClassInfected::CInfClassInfected(CInfClassPlayer *pPlayer)
2525
SetNormalEmote(EMOTE_ANGRY);
2626
}
2727

28+
const CInfClassInfected *CInfClassInfected::GetInstance(const CInfClassCharacter *pCharacter)
29+
{
30+
const CInfClassPlayerClass *pClass = pCharacter ? pCharacter->GetClass() : nullptr;
31+
if(pClass && pClass->IsZombie())
32+
{
33+
return static_cast<const CInfClassInfected*>(pClass);
34+
}
35+
36+
return nullptr;
37+
}
38+
2839
CInfClassInfected *CInfClassInfected::GetInstance(CInfClassCharacter *pCharacter)
2940
{
3041
CInfClassPlayerClass *pClass = pCharacter ? pCharacter->GetClass() : nullptr;
@@ -806,11 +817,11 @@ CSlugSlime *CInfClassInfected::PlaceSlime(vec2 PlaceToPos, float MinDistance)
806817
return pNewSlime;
807818
}
808819

809-
bool CInfClassInfected::FindWitchSpawnPosition(vec2 &Position)
820+
bool CInfClassInfected::FindWitchSpawnPosition(vec2 &Position) const
810821
{
811822
float Angle = atan2f(m_pCharacter->m_Input.m_TargetY, m_pCharacter->m_Input.m_TargetX);//atan2f instead of atan2
812823

813-
for(int i=0; i<32; i++)
824+
for(int i = 0; i < 32; i++)
814825
{
815826
float TestAngle;
816827

src/game/server/infclass/classes/infected/infected.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class CInfClassInfected : public CInfClassPlayerClass
1515
public:
1616
CInfClassInfected(CInfClassPlayer *pPlayer);
1717

18+
static const CInfClassInfected *GetInstance(const CInfClassCharacter *pCharacter);
1819
static CInfClassInfected *GetInstance(CInfClassCharacter *pCharacter);
1920

2021
bool IsHuman() const final { return false; }
@@ -54,7 +55,7 @@ class CInfClassInfected : public CInfClassPlayerClass
5455
void IncreaseGhoulLevel(int Diff);
5556
int GetGhoulLevel() const;
5657

57-
bool FindWitchSpawnPosition(vec2 &Position);
58+
bool FindWitchSpawnPosition(vec2 &Position) const;
5859

5960
void PrepareToDie(DeathContext *pContext) override;
6061

src/game/server/infclass/infcgamecontroller.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5353,14 +5353,14 @@ bool CInfClassGameController::TryRespawn(CInfClassPlayer *pPlayer, SpawnContext
53535353
if(Iter.Player()->GetClass() != EPlayerClass::Witch)
53545354
continue;
53555355

5356-
CInfClassCharacter *pCharacter = Iter.Player()->GetCharacter();
5357-
if(!pCharacter)
5356+
const CInfClassCharacter *pCharacter = Iter.Player()->GetCharacter();
5357+
if(!pCharacter || !pCharacter->IsAlive())
53585358
continue;
53595359

53605360
if(pCharacter->IsFrozen())
53615361
continue;
53625362

5363-
CInfClassInfected *pInfected = CInfClassInfected::GetInstance(pCharacter);
5363+
const CInfClassInfected *pInfected = CInfClassInfected::GetInstance(pCharacter);
53645364

53655365
if(pInfected->FindWitchSpawnPosition(pContext->SpawnPos))
53665366
{

0 commit comments

Comments
 (0)