mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Drop/pick up backpacks using Shift+B, Ctrl+Shift+F:
- added check for DropPackFlag - added message for soldiers changing backpack status git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8260 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -7932,39 +7932,80 @@ void HandleTBLocatePrevMerc( void )
|
||||
|
||||
void HandleTBDropBackpacks( void )
|
||||
{
|
||||
if( UsingNewInventorySystem() == true )
|
||||
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )
|
||||
if( UsingNewInventorySystem() )
|
||||
{
|
||||
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
UINT8 ubLoop;
|
||||
|
||||
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
|
||||
INT32 iBPCost = APBPConstants[BP_BACK_PACK];
|
||||
|
||||
for( ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++ )
|
||||
{
|
||||
//if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == CurrentSquad( ) && !AM_A_ROBOT( pTeamSoldier ) && pTeamSoldier->inv[BPACKPOCKPOS].exists() == true )
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && OK_INTERRUPT_MERC( pTeamSoldier ) && !AM_A_ROBOT( pTeamSoldier ) && pTeamSoldier->inv[BPACKPOCKPOS].exists() == true )
|
||||
{
|
||||
ChangeDropPackStatus(pTeamSoldier, TRUE);
|
||||
pTeamSoldier=MercPtrs[ ubLoop ];
|
||||
|
||||
if( OK_CONTROLLABLE_MERC( pTeamSoldier ) &&
|
||||
OK_INTERRUPT_MERC( pTeamSoldier ) &&
|
||||
!AM_A_ROBOT( pTeamSoldier ) &&
|
||||
EnoughPoints(pTeamSoldier, sAPCost, iBPCost, FALSE) &&
|
||||
//pTeamSoldier->bAssignment == pSoldier->bAssignment &&
|
||||
pTeamSoldier->bAssignment < ON_DUTY &&
|
||||
pTeamSoldier->inv[BPACKPOCKPOS].exists() &&
|
||||
!pTeamSoldier->flags.DropPackFlag )
|
||||
{
|
||||
if( ChangeDropPackStatus(pTeamSoldier, TRUE) )
|
||||
{
|
||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_SOLDIER_DROP], pTeamSoldier->GetName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fCharacterInfoPanelDirty = TRUE;
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_ALL_DROP] );
|
||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_ALL_DROP] );
|
||||
}
|
||||
}
|
||||
|
||||
void HandleTBPickUpBackpacks( void )
|
||||
{
|
||||
if( UsingNewInventorySystem() == true )
|
||||
//if( UsingNewInventorySystem() && gusSelectedSoldier != NOBODY )
|
||||
if( UsingNewInventorySystem() )
|
||||
{
|
||||
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
UINT8 ubLoop;
|
||||
|
||||
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
|
||||
INT32 iBPCost = APBPConstants[BP_BACK_PACK];
|
||||
|
||||
for( ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID; ubLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ubLoop++ )
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && !AM_A_ROBOT( pTeamSoldier ) && pTeamSoldier->inv[BPACKPOCKPOS].exists() == false )
|
||||
{
|
||||
ChangeDropPackStatus(pTeamSoldier, FALSE);
|
||||
pTeamSoldier=MercPtrs[ubLoop];
|
||||
|
||||
if( OK_CONTROLLABLE_MERC( pTeamSoldier ) &&
|
||||
OK_INTERRUPT_MERC( pTeamSoldier ) &&
|
||||
!AM_A_ROBOT( pTeamSoldier ) &&
|
||||
EnoughPoints(pTeamSoldier, sAPCost, iBPCost, FALSE) &&
|
||||
//pTeamSoldier->bAssignment == pSoldier->bAssignment &&
|
||||
pTeamSoldier->bAssignment < ON_DUTY &&
|
||||
!pTeamSoldier->inv[BPACKPOCKPOS].exists() &&
|
||||
pTeamSoldier->flags.DropPackFlag )
|
||||
{
|
||||
if( ChangeDropPackStatus(pTeamSoldier, FALSE) )
|
||||
{
|
||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_SOLDIER_PICKUP], pTeamSoldier->GetName());
|
||||
}
|
||||
}
|
||||
}
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_ALL_PICKUP] );
|
||||
|
||||
fCharacterInfoPanelDirty = TRUE;
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[NIV_ALL_PICKUP] );
|
||||
}
|
||||
}
|
||||
|
||||
void HandleTBSoldierRun( void )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
|
||||
@@ -2542,6 +2542,8 @@ enum
|
||||
NIV_NO_CLIMB,
|
||||
NIV_ALL_DROP,
|
||||
NIV_ALL_PICKUP,
|
||||
NIV_SOLDIER_DROP,
|
||||
NIV_SOLDIER_PICKUP,
|
||||
TEXT_NUM_NIV,
|
||||
};
|
||||
|
||||
|
||||
@@ -7528,6 +7528,8 @@ STR16 NewInvMessage[] =
|
||||
L"装备大背包后无法爬上房顶",
|
||||
L"所有人的背包已放下",
|
||||
L"所有人已背起所属的背包",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7536,6 +7536,8 @@ STR16 NewInvMessage[] =
|
||||
L"Kan beklimmen niet terwijl het dragen van een rugzak",
|
||||
L"All backpacks dropped", // TODO.Translate
|
||||
L"All owned backpacks picked up",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7524,6 +7524,8 @@ STR16 NewInvMessage[] =
|
||||
L"Cannot climb while wearing a backpack",
|
||||
L"All backpacks dropped",
|
||||
L"All owned backpacks picked up",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7530,6 +7530,8 @@ STR16 NewInvMessage[] =
|
||||
L"Ne peut pas escalader avec un sac à dos",
|
||||
L"Tous les sacs à dos sont posés à terre",
|
||||
L"Tous les sacs à dos sont ramassés",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7356,6 +7356,8 @@ STR16 NewInvMessage[] =
|
||||
L"Kann nicht beim Tragen eines Rucksacks klettern",
|
||||
L"All backpacks dropped", // TODO.Translate
|
||||
L"All owned backpacks picked up",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7527,6 +7527,8 @@ STR16 NewInvMessage[] =
|
||||
L"Non può arrampicarsi mentre portano uno zaino",
|
||||
L"All backpacks dropped", // TODO.Translate
|
||||
L"All owned backpacks picked up",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7536,6 +7536,8 @@ STR16 NewInvMessage[] =
|
||||
L"Nie można wspinać się z plecakiem",
|
||||
L"All backpacks dropped", // TODO.Translate
|
||||
L"All owned backpacks picked up",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
@@ -7524,6 +7524,8 @@ STR16 NewInvMessage[] =
|
||||
L"Тяжеловато будет взбираться с полным рюкзаком на крышу. Может, снимем?",
|
||||
L"Все рюкзаки сброшены",
|
||||
L"Все рюкзаки подняты",
|
||||
L"%s drops backpack",
|
||||
L"%s picks up backpack",
|
||||
};
|
||||
|
||||
// WANNE - MP: Multiplayer messages
|
||||
|
||||
Reference in New Issue
Block a user