mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
- wrapped fortify ap costs
- Fix: drug effects weren't adjusted in turnbased git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5970 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1140,7 +1140,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
// if we have an empty sandbag in our hands, we also need to have a shovel in our second hand, otherwise we can't fill it
|
||||
if ( HasItemFlag(usHandItem, (EMPTY_SANDBAG)) )
|
||||
{
|
||||
sAPCost = APBPConstants[AP_FILL_SANDBAG];
|
||||
sAPCost = GetAPsToFillSandbag( pSoldier );
|
||||
|
||||
// check if we have a shovel in our second hand
|
||||
OBJECTTYPE* pShovelObj = &(pSoldier->inv[SECONDHANDPOS]);
|
||||
@@ -1160,7 +1160,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
// if we have a shovel in our hands, the targeted gridno must be a fortification (debris will do for this check)
|
||||
else if ( HasItemFlag(usHandItem, (SHOVEL)) )
|
||||
{
|
||||
sAPCost = APBPConstants[AP_REMOVE_FORTIFICATION];
|
||||
sAPCost = GetAPsToRemoveFortification( pSoldier );
|
||||
|
||||
STRUCTURE* pStruct = FindStructure(sGridNo, STRUCTURE_GENERIC);
|
||||
|
||||
@@ -1171,7 +1171,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
}
|
||||
else
|
||||
{
|
||||
sAPCost = APBPConstants[AP_FORTIFICATION];
|
||||
sAPCost = GetAPsToBuildFortification( pSoldier );
|
||||
}
|
||||
|
||||
sActionGridNo = FindAdjacentGridEx( pSoldier, sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE );
|
||||
|
||||
@@ -4137,7 +4137,7 @@ INT8 DrawUIMovementPath( SOLDIERTYPE *pSoldier, INT32 usMapPos, UINT32 uiFlags )
|
||||
sActionGridNo = usMapPos;
|
||||
}
|
||||
|
||||
sAPCost = APBPConstants[AP_FORTIFICATION];
|
||||
sAPCost = GetAPsToBuildFortification( pSoldier );
|
||||
sAPCost += UIPlotPath( pSoldier, sActionGridNo, NO_COPYROUTE, fPlot, TEMPORARY, (UINT16)pSoldier->usUIMovementMode, NOT_STEALTH, FORWARD, pSoldier->bActionPoints);
|
||||
|
||||
if ( sActionGridNo != pSoldier->sGridNo )
|
||||
|
||||
@@ -3724,6 +3724,33 @@ INT16 GetAPsToApplyItem( SOLDIERTYPE *pSoldier, INT32 usMapPos )
|
||||
return sAPCost;
|
||||
}
|
||||
|
||||
INT16 GetAPsToBuildFortification( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT16 sAPCost = 0;
|
||||
|
||||
sAPCost += APBPConstants[AP_FORTIFICATION];
|
||||
|
||||
return sAPCost;
|
||||
}
|
||||
|
||||
INT16 GetAPsToRemoveFortification( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT16 sAPCost = 0;
|
||||
|
||||
sAPCost += APBPConstants[AP_REMOVE_FORTIFICATION];
|
||||
|
||||
return sAPCost;
|
||||
}
|
||||
|
||||
INT16 GetAPsToFillSandbag( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT16 sAPCost = 0;
|
||||
|
||||
sAPCost += APBPConstants[AP_FILL_SANDBAG];
|
||||
|
||||
return sAPCost;
|
||||
}
|
||||
|
||||
INT16 GetAPsToJumpOver( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
// -25% APs needed to for MA traits
|
||||
|
||||
@@ -358,6 +358,9 @@ INT16 GetBPsTouseJar( SOLDIERTYPE *pSoldier );
|
||||
|
||||
INT16 GetAPsToHandcuff( SOLDIERTYPE *pSoldier, INT32 usMapPos ); // added by Flugente
|
||||
INT16 GetAPsToApplyItem( SOLDIERTYPE *pSoldier, INT32 usMapPos ); // added by Flugente
|
||||
INT16 GetAPsToBuildFortification( SOLDIERTYPE *pSoldier ); // added by Flugente
|
||||
INT16 GetAPsToRemoveFortification( SOLDIERTYPE *pSoldier ); // added by Flugente
|
||||
INT16 GetAPsToFillSandbag( SOLDIERTYPE *pSoldier ); // added by Flugente
|
||||
|
||||
INT16 GetAPsToJumpOver( SOLDIERTYPE *pSoldier );
|
||||
|
||||
|
||||
@@ -7356,7 +7356,7 @@ void SOLDIERTYPE::EVENT_BeginMercTurn( BOOLEAN fFromRealTime, INT32 iRealTimeCou
|
||||
this->ResetExtraStats();
|
||||
|
||||
// ATE: Add decay effect sfor drugs...
|
||||
if ( fFromRealTime ) //&& iRealTimeCounter % 300 )
|
||||
//if ( fFromRealTime ) //&& iRealTimeCounter % 300 )
|
||||
{
|
||||
HandleEndTurnDrugAdjustments( this );
|
||||
}
|
||||
@@ -15508,13 +15508,13 @@ void SOLDIERTYPE::StartMultiTurnAction(UINT8 usActionType)
|
||||
switch( usMultiTurnAction )
|
||||
{
|
||||
case MTA_FORTIFY:
|
||||
bOverTurnAPS = APBPConstants[AP_FORTIFICATION];
|
||||
bOverTurnAPS = GetAPsToBuildFortification( this );
|
||||
break;
|
||||
case MTA_REMOVE_FORTIFY:
|
||||
bOverTurnAPS = APBPConstants[AP_REMOVE_FORTIFICATION];
|
||||
bOverTurnAPS = GetAPsToRemoveFortification( this );
|
||||
break;
|
||||
case MTA_FILL_SANDBAG:
|
||||
bOverTurnAPS = APBPConstants[AP_FILL_SANDBAG];
|
||||
bOverTurnAPS = GetAPsToFillSandbag( this );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -15576,7 +15576,7 @@ BOOLEAN SOLDIERTYPE::UpdateMultiTurnAction()
|
||||
{
|
||||
case MTA_FORTIFY:
|
||||
{
|
||||
entireapcost = APBPConstants[AP_FORTIFICATION];
|
||||
entireapcost = GetAPsToBuildFortification( this );
|
||||
entirebpcost = APBPConstants[BP_FORTIFICATION];
|
||||
|
||||
if ( !IsFortificationPossibleAtGridNo( this->sMTActionGridNo ) )
|
||||
@@ -15587,7 +15587,7 @@ BOOLEAN SOLDIERTYPE::UpdateMultiTurnAction()
|
||||
break;
|
||||
case MTA_REMOVE_FORTIFY:
|
||||
{
|
||||
entireapcost = APBPConstants[AP_REMOVE_FORTIFICATION];
|
||||
entireapcost = GetAPsToRemoveFortification( this );
|
||||
entirebpcost = APBPConstants[BP_REMOVE_FORTIFICATION];
|
||||
|
||||
if ( !HasItemFlag(this->inv[ HANDPOS ].usItem, (SHOVEL)) )
|
||||
@@ -15597,7 +15597,7 @@ BOOLEAN SOLDIERTYPE::UpdateMultiTurnAction()
|
||||
|
||||
case MTA_FILL_SANDBAG:
|
||||
{
|
||||
entireapcost = APBPConstants[AP_FILL_SANDBAG];
|
||||
entireapcost = GetAPsToFillSandbag( this );
|
||||
entirebpcost = APBPConstants[BP_FILL_SANDBAG];
|
||||
|
||||
if ( !HasItemFlag(this->inv[ HANDPOS ].usItem, EMPTY_SANDBAG) )
|
||||
|
||||
Reference in New Issue
Block a user