Added a few changes [SEE DESC]
* Revised pickup comments * SlotArea pickup tossing now reflects Player.cpp * Removed unneeded ItemShears comment (was working already) * Sand and gravel pickups spawn with correct speedmaster
parent
57c17a02db
commit
30ac3f5838
|
@ -351,6 +351,14 @@ 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);
|
||||
*/
|
||||
|
||||
a_World->SpawnItemPickups(Pickups, a_BlockX, a_BlockY, a_BlockZ);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,6 @@ public:
|
|||
a_Player->UseEquippedItem();
|
||||
return true;
|
||||
}
|
||||
// TODO: cobweb, vines
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -258,7 +258,7 @@ void cSandSimulator::FinishFalling(
|
|||
// Create a pickup instead:
|
||||
cItems Pickups;
|
||||
Pickups.Add((ENUM_ITEM_ID)a_FallingBlockType, 1, a_FallingBlockMeta);
|
||||
a_World->SpawnItemPickups(Pickups, (double)a_BlockX + 0.5, (double)a_BlockY + 0.5, (double)a_BlockZ + 0.5, 0);
|
||||
a_World->SpawnItemPickups(Pickups, (double)a_BlockX + 0.5, (double)a_BlockY + 0.5, (double)a_BlockZ + 0.5);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -793,7 +793,7 @@ void cSlotAreaTemporary::TossItems(cPlayer & a_Player, int a_Begin, int a_End)
|
|||
double vX = 0, vY = 0, vZ = 0;
|
||||
EulerToVector(-a_Player.GetRotation(), a_Player.GetPitch(), vZ, vX, vY);
|
||||
vY = -vY * 2 + 1.f;
|
||||
a_Player.GetWorld()->SpawnItemPickups(Drops, a_Player.GetPosX(), a_Player.GetPosY() + 1.6f, a_Player.GetPosZ(), vX * 2, vY * 2, vZ * 2);
|
||||
a_Player.GetWorld()->SpawnItemPickups(Drops, a_Player.GetPosX(), a_Player.GetPosY() + 1.6f, a_Player.GetPosZ(), vX * 3, vY * 3, vZ * 3);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1517,7 +1517,7 @@ void cWorld::SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double
|
|||
float SpeedY = 1;
|
||||
float SpeedZ = (float)(a_FlyAwaySpeed * (r1.randInt(1000) - 500));
|
||||
|
||||
// (FS #338 Fixed with mid block position spawn, previous TODOs/comments removed)
|
||||
// Pickup doesn't spawn on client without a mid block position. Perhaps the doubles are causing issues?
|
||||
int MicroX = (int)(floor(a_BlockX) * 32) + 16;
|
||||
int MicroY = (int)(floor(a_BlockY) * 32) + 16;
|
||||
int MicroZ = (int)(floor(a_BlockZ) * 32) + 16;
|
||||
|
@ -1539,7 +1539,7 @@ void cWorld::SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double
|
|||
MTRand r1;
|
||||
for (cItems::const_iterator itr = a_Pickups.begin(); itr != a_Pickups.end(); ++itr)
|
||||
{
|
||||
// (FS #338 Fixed with mid block position spawn, previous TODOs/comments removed)
|
||||
// Pickup doesn't spawn on client without a mid block position. Perhaps the doubles are causing issues?
|
||||
int MicroX = (int)(floor(a_BlockX) * 32) + 16;
|
||||
int MicroY = (int)(floor(a_BlockY) * 32) + 16;
|
||||
int MicroZ = (int)(floor(a_BlockZ) * 32) + 16;
|
||||
|
|
Loading…
Reference in New Issue