- 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:
Flugente
2013-04-01 17:45:47 +00:00
parent 1aea5efd1b
commit 8137c04207
5 changed files with 41 additions and 11 deletions
+3 -3
View File
@@ -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 );
+1 -1
View File
@@ -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 )
+27
View File
@@ -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
+3
View File
@@ -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 );
+7 -7
View File
@@ -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) )