1
0

Fixed pickups

This commit is contained in:
Tiger Wang
2013-09-18 22:20:08 +01:00
parent 3e698d7b72
commit 198ac1892c
4 changed files with 16 additions and 23 deletions

View File

@@ -358,13 +358,17 @@ void cBlockHandler::DropBlock(cWorld * a_World, cEntity * a_Digger, int a_BlockX
if (!Pickups.empty())
{
// Add random offset to the spawn position:
// Commented out until bug with pickups not spawning properly is fixed, see World.cpp
/*
int MicroX = (int)(a_BlockX * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
int MicroY = (int)(a_BlockY * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
int MicroZ = (int)(a_BlockZ * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
*/
MTRand r1;
// Mid-block position first
int MicroX = (int)(floor(a_BlockX) * 32) + 16;
int MicroY = (int)(floor(a_BlockY) * 32) + 16;
int MicroZ = (int)(floor(a_BlockZ) * 32) + 16;
// Add random offset second
MicroX = (int)(a_BlockX * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
MicroY = (int)(a_BlockY * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
MicroZ = (int)(a_BlockZ * 32) + (r1.randInt(16) + r1.randInt(16) - 16);
a_World->SpawnItemPickups(Pickups, a_BlockX, a_BlockY, a_BlockZ);
}