mirror of
https://github.com/1dot13/source.git
synced 2026-08-26 14:30:26 +02:00
Adjusted the ChangeDropPackStatus function to account for "range to backpack" when enemies are in sector.
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2295 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -3552,7 +3552,7 @@ BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus)
|
|||||||
{
|
{
|
||||||
INT16 sAPCost = 3;
|
INT16 sAPCost = 3;
|
||||||
INT32 iBPCost = 0;
|
INT32 iBPCost = 0;
|
||||||
INT32 worldKey=1;
|
INT32 worldKey=1, iRange=0;
|
||||||
|
|
||||||
// Are we dropping a pack that has the zipper open?
|
// Are we dropping a pack that has the zipper open?
|
||||||
if(newStatus && pSoldier->flags.ZipperFlag)
|
if(newStatus && pSoldier->flags.ZipperFlag)
|
||||||
@@ -3563,7 +3563,7 @@ BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Are we currently in combat?
|
// Are we currently in combat?
|
||||||
if(gTacticalStatus.uiFlags & INCOMBAT)
|
if((gTacticalStatus.uiFlags & INCOMBAT) || (gTacticalStatus.fEnemyInSector))
|
||||||
{
|
{
|
||||||
// If we're standing over the backpack that we're trying to pick up, reset the ap cost to 0
|
// If we're standing over the backpack that we're trying to pick up, reset the ap cost to 0
|
||||||
if(!newStatus) {
|
if(!newStatus) {
|
||||||
@@ -3578,11 +3578,18 @@ BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus)
|
|||||||
}
|
}
|
||||||
if(gWorldItems[wi].object.IsActiveLBE(x)) {
|
if(gWorldItems[wi].object.IsActiveLBE(x)) {
|
||||||
if(gWorldItems[wi].object.GetLBEPointer(x)->lbeIndex != NONE) {
|
if(gWorldItems[wi].object.GetLBEPointer(x)->lbeIndex != NONE) {
|
||||||
if(gWorldItems[wi].sGridNo == pSoldier->sGridNo)
|
// Found an associated backpack so figure out how far that pack is from us
|
||||||
|
iRange = GetRangeInCellCoordsFromGridNoDiff( pSoldier->sGridNo, gWorldItems[wi].sGridNo );
|
||||||
|
if(gWorldItems[wi].sGridNo == pSoldier->sGridNo) // standing on pack - pickup regardless
|
||||||
{
|
{
|
||||||
sAPCost = 0;
|
sAPCost = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else if(iRange < 26 && !(gTacticalStatus.uiFlags & INCOMBAT)) // should mean anything within 2 diagonal tiles while not in combat
|
||||||
|
{
|
||||||
|
// just break because we want to allow this with no changes
|
||||||
|
break;
|
||||||
|
}
|
||||||
// If not, we can't pick up the item
|
// If not, we can't pick up the item
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user