Fix shift with negative exponent in TeamMask

```
src/game/server/teams.cpp:484:35: runtime error: shift exponent -1 is negative
    0x55d065b241c4 in CGameTeams::TeamMask(int, int, int) src/game/server/teams.cpp:484
    0x55d0657f92ed in CCharacter::TickDefered() src/game/server/entities/character.cpp:821
    0x55d065a5d04c in CGameWorld::Tick() src/game/server/gameworld.cpp:283
    0x55d0659327e6 in CGameContext::OnTick() src/game/server/gamecontext.cpp:852
    0x55d0656e6a88 in CServer::Run() src/engine/server/server.cpp:2807
    0x55d0657164f1 in main src/engine/server/server.cpp:3904
```
This commit is contained in:
Robert Müller 2022-07-22 16:42:56 +02:00
parent b1b1803cd1
commit 1b32e47173

View file

@ -478,11 +478,14 @@ bool CGameTeams::TeamFinished(int Team)
int64_t CGameTeams::TeamMask(int Team, int ExceptID, int Asker)
{
int64_t Mask = 0;
if(Team == TEAM_SUPER)
{
if(ExceptID == -1)
return 0xffffffffffffffff;
return 0xffffffffffffffff & ~(1 << ExceptID);
}
int64_t Mask = 0;
for(int i = 0; i < MAX_CLIENTS; ++i)
{
if(i == ExceptID)