Skip to content

Commit f2e3c56

Browse files
authored
Refactor of CPlayerManager::IsValidPlayerModel() based on issue #2244 (#2250)
* Refactor of CPlayerManager::IsValidPlayerModel() based on issue #2244 * added requested changes from review
1 parent 3f93481 commit f2e3c56

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

Server/mods/deathmatch/logic/CPlayerManager.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,12 +320,31 @@ void CPlayerManager::Broadcast(const CPacket& Packet, const std::multimap<ushort
320320
DoBroadcast(Packet, groupMap);
321321
}
322322

323-
bool CPlayerManager::IsValidPlayerModel(unsigned short usPlayerModel)
323+
bool CPlayerManager::IsValidPlayerModel(unsigned short model)
324324
{
325-
return (usPlayerModel == 0 || usPlayerModel == 1 || usPlayerModel == 2 || usPlayerModel == 7 ||
326-
(usPlayerModel >= 9 && usPlayerModel != 208 && usPlayerModel != 149 && usPlayerModel != 119 && usPlayerModel != 86 && usPlayerModel != 74 &&
327-
usPlayerModel != 65 && usPlayerModel != 42 && usPlayerModel <= 272) ||
328-
(usPlayerModel >= 274 && usPlayerModel <= 288) || (usPlayerModel >= 290 && usPlayerModel <= 312));
325+
if (model > 312)
326+
return false; // TODO: On client side maybe check if a model was allocated with engineRequestModel and it is a ped
327+
328+
switch (model)
329+
{
330+
case 3:
331+
case 4:
332+
case 5:
333+
case 6:
334+
case 8:
335+
case 42:
336+
case 65:
337+
case 74:
338+
case 86:
339+
case 119:
340+
case 149:
341+
case 208:
342+
case 273:
343+
case 289:
344+
return false;
345+
default:
346+
return true;
347+
}
329348
}
330349

331350
void CPlayerManager::ClearElementData(CElement* pElement, const std::string& name)

Server/mods/deathmatch/logic/CPlayerManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class CPlayerManager
5353
static void Broadcast(const CPacket& Packet, const std::vector<CPlayer*>& sendList);
5454
static void Broadcast(const CPacket& Packet, const std::multimap<ushort, CPlayer*>& groupMap);
5555

56-
static bool IsValidPlayerModel(unsigned short usPlayerModel);
56+
static bool IsValidPlayerModel(unsigned short model);
5757

5858
void ClearElementData(CElement* pElement, const std::string& name);
5959
void ClearElementData(CElement* pElement);

0 commit comments

Comments
 (0)