mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Disable backpack climb check for non-player soldiers (#117)
This commit is contained in:
@@ -7425,9 +7425,7 @@ BOOLEAN IsValidJumpLocation( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fChec
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This ain't gonna happen with backpack
|
// This ain't gonna happen with backpack
|
||||||
if((UsingNewInventorySystem() == true) && pSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pSoldier->CanClimbWithCurrentBackpack())
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4632,10 +4632,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
|
|
||||||
if ( fNearLowerLevel )
|
if ( fNearLowerLevel )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
|
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
||||||
return;
|
return;
|
||||||
@@ -4646,10 +4643,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
|
|
||||||
if ( fNearHeigherLevel )
|
if ( fNearHeigherLevel )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
|
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
||||||
return;
|
return;
|
||||||
@@ -4662,10 +4656,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
|
|
||||||
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
|
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
|
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
||||||
return;
|
return;
|
||||||
@@ -4681,10 +4672,7 @@ void BtnClimbCallback(GUI_BUTTON *btn,INT32 reason)
|
|||||||
|
|
||||||
if ( FindFenceJumpDirection( gpSMCurrentMerc, gpSMCurrentMerc->sGridNo, gpSMCurrentMerc->ubDirection, &bDirection ) )
|
if ( FindFenceJumpDirection( gpSMCurrentMerc, gpSMCurrentMerc->sGridNo, gpSMCurrentMerc->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && gpSMCurrentMerc->inv[BPACKPOCKPOS].exists() == true
|
if (!gpSMCurrentMerc->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)gpSMCurrentMerc->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[gpSMCurrentMerc->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
||||||
return;
|
return;
|
||||||
|
|||||||
+1
-3
@@ -2580,9 +2580,7 @@ if(!GridNoOnVisibleWorldTile(iDestination))
|
|||||||
fTurnBased = ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) );
|
fTurnBased = ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) );
|
||||||
|
|
||||||
fPathingForPlayer = ( (s->bTeam == gbPlayerNum) && (!gTacticalStatus.fAutoBandageMode) && !(s->flags.uiStatusFlags & SOLDIER_PCUNDERAICONTROL) );
|
fPathingForPlayer = ( (s->bTeam == gbPlayerNum) && (!gTacticalStatus.fAutoBandageMode) && !(s->flags.uiStatusFlags & SOLDIER_PCUNDERAICONTROL) );
|
||||||
fNonFenceJumper = !( IS_MERC_BODY_TYPE( s ) ) || (UsingNewInventorySystem() == true && s->inv[BPACKPOCKPOS].exists() == true
|
fNonFenceJumper = !( IS_MERC_BODY_TYPE( s ) ) || (!s->CanClimbWithCurrentBackpack());//Moa: added backpack check
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)s->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[s->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[s->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)));//Moa: added backpack check
|
|
||||||
|
|
||||||
// Flugente: nonswimmers are those who are not mercs and not boats
|
// Flugente: nonswimmers are those who are not mercs and not boats
|
||||||
fNonSwimmer = !(IS_MERC_BODY_TYPE( s ) );
|
fNonSwimmer = !(IS_MERC_BODY_TYPE( s ) );
|
||||||
|
|||||||
+1
-3
@@ -118,9 +118,7 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
|
|||||||
|
|
||||||
//CHRISL: We can't jump a fence while wearing a backpack, to consider fences as impassible
|
//CHRISL: We can't jump a fence while wearing a backpack, to consider fences as impassible
|
||||||
// SANDRO - Headrocks change to backpack check implemented
|
// SANDRO - Headrocks change to backpack check implemented
|
||||||
if(sSwitchValue == TRAVELCOST_FENCE && UsingNewInventorySystem() == true && pSoldier->inv[BPACKPOCKPOS].exists() == true
|
if(sSwitchValue == TRAVELCOST_FENCE && !pSoldier->CanClimbWithCurrentBackpack())
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2110,12 +2110,9 @@ void HandleMouseRTX1Button( UINT32 *puiNewEvent )
|
|||||||
BOOLEAN fNearHeigherLevel;
|
BOOLEAN fNearHeigherLevel;
|
||||||
BOOLEAN fNearLowerLevel;
|
BOOLEAN fNearLowerLevel;
|
||||||
INT8 bDirection;
|
INT8 bDirection;
|
||||||
// CHRISL: Turn off manual jumping while wearing a backpack
|
|
||||||
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
|
// CHRISL: Turn off manual jumping while wearing a backpack
|
||||||
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Make sure the merc is not collapsed!
|
// Make sure the merc is not collapsed!
|
||||||
@@ -2207,12 +2204,9 @@ void HandleRTJump( void )
|
|||||||
BOOLEAN fNearHeigherLevel;
|
BOOLEAN fNearHeigherLevel;
|
||||||
BOOLEAN fNearLowerLevel;
|
BOOLEAN fNearLowerLevel;
|
||||||
INT8 bDirection;
|
INT8 bDirection;
|
||||||
// CHRISL: Turn off manual jumping while wearing a backpack
|
|
||||||
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
|
// CHRISL: Turn off manual jumping while wearing a backpack
|
||||||
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Make sure the merc is not collapsed!
|
// Make sure the merc is not collapsed!
|
||||||
|
|||||||
@@ -9430,10 +9430,7 @@ void MoveMercFacingDirection( SOLDIERTYPE *pSoldier, BOOLEAN fReverse, FLOAT dMo
|
|||||||
void SOLDIERTYPE::BeginSoldierClimbUpRoof(void)
|
void SOLDIERTYPE::BeginSoldierClimbUpRoof(void)
|
||||||
{
|
{
|
||||||
//CHRISL: Disable climbing up to a roof while wearing a backpack
|
//CHRISL: Disable climbing up to a roof while wearing a backpack
|
||||||
if ((UsingNewInventorySystem() == true) && this->inv[BPACKPOCKPOS].exists() == true
|
if (!this->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)this->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[this->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[this->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB]);
|
||||||
return;
|
return;
|
||||||
@@ -9727,6 +9724,17 @@ UINT32 SleepDartSuccumbChance( SOLDIERTYPE * pSoldier )
|
|||||||
return(uiChance);
|
return(uiChance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOLEAN SOLDIERTYPE::CanClimbWithCurrentBackpack()
|
||||||
|
{
|
||||||
|
// only apply backpack climbing limitations to player mercs
|
||||||
|
if (UsingNewInventorySystem() == true && this->inv[BPACKPOCKPOS].exists() == true && this->bTeam == OUR_TEAM
|
||||||
|
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)this->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[this->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
||||||
|
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[this->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void SOLDIERTYPE::BeginSoldierGetup( void )
|
void SOLDIERTYPE::BeginSoldierGetup( void )
|
||||||
{
|
{
|
||||||
// RETURN IF WE ARE BEING SERVICED
|
// RETURN IF WE ARE BEING SERVICED
|
||||||
|
|||||||
@@ -1772,6 +1772,7 @@ public:
|
|||||||
void DoNinjaAttack( void );
|
void DoNinjaAttack( void );
|
||||||
void PickDropItemAnimation( void );
|
void PickDropItemAnimation( void );
|
||||||
|
|
||||||
|
BOOLEAN CanClimbWithCurrentBackpack();
|
||||||
|
|
||||||
void BeginSoldierGetup( void );
|
void BeginSoldierGetup( void );
|
||||||
void BeginSoldierClimbUpRoof( void );
|
void BeginSoldierClimbUpRoof( void );
|
||||||
|
|||||||
@@ -3863,10 +3863,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
if ( fNearLowerLevel )
|
if ( fNearLowerLevel )
|
||||||
{
|
{
|
||||||
// No climbing when wearing a backpack!
|
// No climbing when wearing a backpack!
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
||||||
return;
|
return;
|
||||||
@@ -3882,10 +3879,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
if ( fNearHeigherLevel )
|
if ( fNearHeigherLevel )
|
||||||
{
|
{
|
||||||
// No climbing when wearing a backpack!
|
// No climbing when wearing a backpack!
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
||||||
return;
|
return;
|
||||||
@@ -3901,10 +3895,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
// Jump over fence
|
// Jump over fence
|
||||||
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
//Moa: no jumping whith backpack
|
//Moa: no jumping whith backpack
|
||||||
//sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
|
//sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
|
||||||
@@ -3929,10 +3920,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
|
if (gGameExternalOptions.fCanClimbOnWalls == TRUE)
|
||||||
{
|
{
|
||||||
// No climbing when wearing a backpack!
|
// No climbing when wearing a backpack!
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_NO_CLIMB] );
|
||||||
return;
|
return;
|
||||||
@@ -3968,10 +3956,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
|
|
||||||
if ( FindWindowJumpDirection( lSoldier, lSoldier->sGridNo, lSoldier->ubDirection, &bDirection ) )
|
if ( FindWindowJumpDirection( lSoldier, lSoldier->sGridNo, lSoldier->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && lSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!lSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)lSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[lSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[lSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
{
|
{
|
||||||
//Moa: no jumping with backpack
|
//Moa: no jumping with backpack
|
||||||
//sAPCost = GetAPsToJumpThroughWindows( lSoldier, TRUE );
|
//sAPCost = GetAPsToJumpThroughWindows( lSoldier, TRUE );
|
||||||
@@ -7606,11 +7591,7 @@ void HandleTBJump( void )
|
|||||||
if ( fNearLowerLevel )
|
if ( fNearLowerLevel )
|
||||||
{
|
{
|
||||||
// CHRISL: Turn off manual jumping while wearing a backpack
|
// CHRISL: Turn off manual jumping while wearing a backpack
|
||||||
if (UsingNewInventorySystem() == true && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, TRUE ), GetBPsToClimbRoof( pjSoldier, TRUE ), FALSE ) )
|
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, TRUE ), GetBPsToClimbRoof( pjSoldier, TRUE ), FALSE ) )
|
||||||
@@ -7622,11 +7603,7 @@ void HandleTBJump( void )
|
|||||||
if ( fNearHeigherLevel )
|
if ( fNearHeigherLevel )
|
||||||
{
|
{
|
||||||
// No climbing when wearing a backpack!
|
// No climbing when wearing a backpack!
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, FALSE ), GetBPsToClimbRoof( pjSoldier, FALSE ), FALSE ) )
|
if ( EnoughPoints( pjSoldier, GetAPsToClimbRoof( pjSoldier, FALSE ), GetBPsToClimbRoof( pjSoldier, FALSE ), FALSE ) )
|
||||||
@@ -7638,11 +7615,7 @@ void HandleTBJump( void )
|
|||||||
// Jump over fence
|
// Jump over fence
|
||||||
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
if ( FindFenceJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
{
|
{
|
||||||
sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
|
sAPCost = GetAPsToJumpFence( pjSoldier, TRUE );
|
||||||
sBPCost = GetBPsToJumpFence( pjSoldier, TRUE );
|
sBPCost = GetBPsToJumpFence( pjSoldier, TRUE );
|
||||||
@@ -7665,11 +7638,7 @@ void HandleTBJump( void )
|
|||||||
if ( FindWallJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
if ( FindWallJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
// No climbing when wearing a backpack!
|
// No climbing when wearing a backpack!
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( EnoughPoints( pjSoldier, GetAPsToJumpWall( pjSoldier, FALSE ), GetBPsToJumpWall( pjSoldier, FALSE ), FALSE ) )
|
if ( EnoughPoints( pjSoldier, GetAPsToJumpWall( pjSoldier, FALSE ), GetBPsToJumpWall( pjSoldier, FALSE ), FALSE ) )
|
||||||
@@ -7693,11 +7662,7 @@ void HandleTBJumpThroughWindow( void ){
|
|||||||
{
|
{
|
||||||
if ( FindWindowJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
if ( FindWindowJumpDirection( pjSoldier, pjSoldier->sGridNo, pjSoldier->ubDirection, &bDirection ) )
|
||||||
{
|
{
|
||||||
if ((UsingNewInventorySystem() == true) && pjSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pjSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pjSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pjSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb)
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pjSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
|
|
||||||
{
|
{
|
||||||
sAPCost = GetAPsToJumpThroughWindows( pjSoldier, TRUE );
|
sAPCost = GetAPsToJumpThroughWindows( pjSoldier, TRUE );
|
||||||
sBPCost = GetBPsToJumpThroughWindows( pjSoldier, TRUE );
|
sBPCost = GetBPsToJumpThroughWindows( pjSoldier, TRUE );
|
||||||
|
|||||||
@@ -784,10 +784,7 @@ BOOLEAN IsActionAffordable(SOLDIERTYPE *pSoldier, INT8 bAction)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case AI_ACTION_JUMP_WINDOW:
|
case AI_ACTION_JUMP_WINDOW:
|
||||||
if((UsingNewInventorySystem() == true) && pSoldier->inv[BPACKPOCKPOS].exists() == true
|
if (!pSoldier->CanClimbWithCurrentBackpack())
|
||||||
//JMich.BackpackClimb
|
|
||||||
&& ((gGameExternalOptions.sBackpackWeightToClimb == -1) || (INT16)pSoldier->inv[BPACKPOCKPOS].GetWeightOfObjectInStack() + Item[pSoldier->inv[BPACKPOCKPOS].usItem].sBackpackWeightModifier > gGameExternalOptions.sBackpackWeightToClimb )
|
|
||||||
&& ((gGameExternalOptions.fUseGlobalBackpackSettings == TRUE) || (Item[pSoldier->inv[BPACKPOCKPOS].usItem].fAllowClimbing == FALSE)))
|
|
||||||
bMinPointsNeeded = GetAPsToJumpThroughWindows( pSoldier, TRUE );
|
bMinPointsNeeded = GetAPsToJumpThroughWindows( pSoldier, TRUE );
|
||||||
else
|
else
|
||||||
bMinPointsNeeded = GetAPsToJumpFence( pSoldier, FALSE );
|
bMinPointsNeeded = GetAPsToJumpFence( pSoldier, FALSE );
|
||||||
|
|||||||
Reference in New Issue
Block a user