1
0
Fork 0

Fix pickup combining over the maximum stack size.

This commit is contained in:
Howaner 2014-06-24 15:27:19 +02:00
parent a1d2c114cf
commit 5ab01c4d42
2 changed files with 9 additions and 5 deletions

View File

@ -38,11 +38,15 @@ public:
Vector3d EntityPos = a_Entity->GetPosition();
double Distance = (EntityPos - m_Position).Length();
if ((Distance < 1.2) && ((cPickup *)a_Entity)->GetItem().IsEqual(m_Pickup->GetItem()))
cItem & Item = ((cPickup *)a_Entity)->GetItem();
if ((Distance < 1.2) && Item.IsEqual(m_Pickup->GetItem()))
{
m_Pickup->GetItem().AddCount(((cPickup *)a_Entity)->GetItem().m_ItemCount);
a_Entity->Destroy();
m_FoundMatchingPickup = true;
if ((Item.m_ItemCount + m_Pickup->GetItem().m_ItemCount) <= Item.GetMaxStackSize())
{
m_Pickup->GetItem().AddCount(Item.m_ItemCount);
a_Entity->Destroy();
m_FoundMatchingPickup = true;
}
}
return false;
}

View File

@ -1,4 +1,4 @@

#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "Item.h"