mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
Fixed team blocking by disconnect (Closes #206)
This commit is contained in:
parent
6295b33965
commit
b000c9e4e1
|
@ -84,6 +84,8 @@ bool CCharacter::Spawn(CPlayer *pPlayer, vec2 Pos)
|
|||
|
||||
GameServer()->m_pController->OnCharacterSpawn(this);
|
||||
|
||||
Teams()->OnCharacterSpawn(GetPlayer()->GetCID());
|
||||
|
||||
DDRaceInit();
|
||||
|
||||
return true;
|
||||
|
@ -790,6 +792,7 @@ void CCharacter::Die(int Killer, int Weapon)
|
|||
GameServer()->m_World.RemoveEntity(this);
|
||||
GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCID()] = 0;
|
||||
GameServer()->CreateDeath(m_Pos, m_pPlayer->GetCID(), Teams()->TeamMask(Team(), -1, m_pPlayer->GetCID()));
|
||||
Teams()->OnCharacterDeath(GetPlayer()->GetCID());
|
||||
}
|
||||
|
||||
bool CCharacter::TakeDamage(vec2 Force, int Dmg, int From, int Weapon)
|
||||
|
@ -1624,6 +1627,4 @@ void CCharacter::DDRaceInit()
|
|||
m_TeleCheckpoint = 0;
|
||||
m_EndlessHook = g_Config.m_SvEndlessDrag;
|
||||
m_Hit = g_Config.m_SvHit ? HIT_ALL : DISABLE_HIT_GRENADE|DISABLE_HIT_HAMMER|DISABLE_HIT_RIFLE|DISABLE_HIT_SHOTGUN;
|
||||
Teams()->m_Core.SetSolo(m_pPlayer->GetCID(), false);
|
||||
Teams()->SetForceCharacterTeam(m_pPlayer->GetCID(), 0);
|
||||
}
|
||||
|
|
|
@ -477,3 +477,15 @@ void CGameTeams::OnFinish(CPlayer* Player)
|
|||
Player->m_Score = TTime;
|
||||
|
||||
}
|
||||
|
||||
void CGameTeams::OnCharacterSpawn(int ClientID)
|
||||
{
|
||||
m_Core.SetSolo(ClientID, false);
|
||||
SetForceCharacterTeam(ClientID, 0);
|
||||
}
|
||||
|
||||
void CGameTeams::OnCharacterDeath(int ClientID)
|
||||
{
|
||||
m_Core.SetSolo(ClientID, false);
|
||||
SetForceCharacterTeam(ClientID, 0);
|
||||
}
|
||||
|
|
|
@ -44,6 +44,8 @@ public:
|
|||
|
||||
void OnCharacterStart(int ClientID);
|
||||
void OnCharacterFinish(int ClientID);
|
||||
void OnCharacterSpawn(int ClientID);
|
||||
void OnCharacterDeath(int ClientID);
|
||||
|
||||
bool SetCharacterTeam(int ClientID, int Team);
|
||||
|
||||
|
|
Loading…
Reference in a new issue