Merge pull request #124 from teamfisk/FixNetworkBugs

Test text here. Good work Jocke.
This commit is contained in:
William Moberg
2016-02-19 16:47:34 +01:00
3 changed files with 4 additions and 4 deletions
+3 -2
View File
@@ -437,11 +437,12 @@ void Client::parsePlayerDamage(Packet& packet)
{
Events::PlayerDamage e;
PlayerID victimID = packet.ReadPrimitive<EntityID>();
if(serverClientMapsHasEntity(victimID)){
PlayerID inflictorID = packet.ReadPrimitive<EntityID>();
if(!serverClientMapsHasEntity(victimID) || !serverClientMapsHasEntity(inflictorID)){
return;
}
e.Inflictor = EntityWrapper(m_World, m_ServerIDToClientID.at(victimID));
e.Victim = EntityWrapper(m_World, m_ServerIDToClientID.at(packet.ReadPrimitive<EntityID>()));
e.Victim = EntityWrapper(m_World, m_ServerIDToClientID.at(inflictorID));
e.Damage = packet.ReadPrimitive<double>();
// Don't rebroadcast our own player damage events or we'll have an infinite loop!
if (e.Inflictor != m_LocalPlayer) {
-1
View File
@@ -84,7 +84,6 @@ void Server::Update()
if (isReadingData) {
Network::Update();
}
}
void Server::parseMessageType(Packet& packet)
+1 -1
View File
@@ -24,7 +24,7 @@ void HealthSystem::UpdateComponent(EntityWrapper& entity, ComponentWrapper& cHea
bool HealthSystem::OnPlayerDamaged(Events::PlayerDamage& e)
{
if (!IsServer && m_NetworkEnabled) {
if (!IsServer && m_NetworkEnabled || !e.Victim.Valid()) {
return false;
}