mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Little Alien
New feature: Rearrange sector inventory - Press Shift+S in tactical to rearrange sector inventory - Tactical militia command: "Find Items" menu disabled - Tactical militia command: orders to dying militia now not possible git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@69 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -67,7 +67,7 @@ enum{
|
|||||||
MILCON_MENU_ALL_COMETOME,
|
MILCON_MENU_ALL_COMETOME,
|
||||||
MILCON_MENU_ALL_GETDOWN,
|
MILCON_MENU_ALL_GETDOWN,
|
||||||
MILCON_MENU_ALL_TAKE_COVER,
|
MILCON_MENU_ALL_TAKE_COVER,
|
||||||
MILCON_MENU_ALL_TAKE_ITEMS,
|
//MILCON_MENU_ALL_TAKE_ITEMS,
|
||||||
MILCON_MENU_CANCEL,
|
MILCON_MENU_CANCEL,
|
||||||
MAX_MILCON_STRING_COUNT,
|
MAX_MILCON_STRING_COUNT,
|
||||||
};
|
};
|
||||||
|
|||||||
+142
-133
@@ -938,7 +938,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
|||||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
||||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
||||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
||||||
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
//UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -948,7 +948,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
|
|||||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
|
||||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
|
||||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
|
||||||
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
//ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -1159,16 +1159,19 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
{
|
{
|
||||||
case( MILCON_MENU_ATTACK ):
|
case( MILCON_MENU_ATTACK ):
|
||||||
{
|
{
|
||||||
// Attack !!!
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
|
|
||||||
pTMilitiaSoldier->bOrders = SEEKENEMY;
|
|
||||||
pTMilitiaSoldier->bAttitude = AGGRESSIVE;
|
|
||||||
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
|
||||||
|
|
||||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
|
||||||
{
|
{
|
||||||
//ubVolume = CalcScreamVolume( pSoldier, 10 );
|
// Attack !!!
|
||||||
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_SCREAM);
|
|
||||||
|
pTMilitiaSoldier->bOrders = SEEKENEMY;
|
||||||
|
pTMilitiaSoldier->bAttitude = AGGRESSIVE;
|
||||||
|
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
||||||
|
|
||||||
|
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||||
|
{
|
||||||
|
//ubVolume = CalcScreamVolume( pSoldier, 10 );
|
||||||
|
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_SCREAM);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
@@ -1183,11 +1186,14 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
case( MILCON_MENU_HOLD ):
|
case( MILCON_MENU_HOLD ):
|
||||||
{
|
{
|
||||||
//Hold Position !!!
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Hold Position" );
|
{
|
||||||
pTMilitiaSoldier->bOrders = STATIONARY;
|
//Hold Position !!!
|
||||||
//pTMilitiaSoldier->bAttitude = DEFENSIVE;
|
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Hold Position" );
|
||||||
|
pTMilitiaSoldier->bOrders = STATIONARY;
|
||||||
|
//pTMilitiaSoldier->bAttitude = DEFENSIVE;
|
||||||
|
}
|
||||||
|
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
fShowMilitiaControlMenu = FALSE;
|
fShowMilitiaControlMenu = FALSE;
|
||||||
giAssignHighLine = -1;
|
giAssignHighLine = -1;
|
||||||
@@ -1200,32 +1206,34 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
case( MILCON_MENU_RETREAT ):
|
case( MILCON_MENU_RETREAT ):
|
||||||
{
|
{
|
||||||
INT16 sActionGridNo;
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
|
|
||||||
pTMilitiaSoldier->bOrders = FARPATROL;
|
|
||||||
pTMilitiaSoldier->bAttitude = DEFENSIVE;
|
|
||||||
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
|
||||||
|
|
||||||
// set up next action to run away
|
|
||||||
sActionGridNo = FindSpotMaxDistFromOpponents( pTMilitiaSoldier );
|
|
||||||
|
|
||||||
pTMilitiaSoldier->usNextActionData = sActionGridNo;
|
|
||||||
|
|
||||||
if ( pTMilitiaSoldier->usNextActionData != NOWHERE )
|
|
||||||
{
|
{
|
||||||
pTMilitiaSoldier->bNextAction = AI_ACTION_RUN_AWAY;
|
INT16 sActionGridNo;
|
||||||
pTMilitiaSoldier->usActionData = ANIM_STAND;
|
|
||||||
|
|
||||||
// SEND PENDING ACTION
|
pTMilitiaSoldier->bOrders = FARPATROL;
|
||||||
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
|
pTMilitiaSoldier->bAttitude = DEFENSIVE;
|
||||||
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
||||||
}
|
|
||||||
|
|
||||||
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
|
||||||
{
|
|
||||||
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// set up next action to run away
|
||||||
|
sActionGridNo = FindSpotMaxDistFromOpponents( pTMilitiaSoldier );
|
||||||
|
|
||||||
|
pTMilitiaSoldier->usNextActionData = sActionGridNo;
|
||||||
|
|
||||||
|
if ( pTMilitiaSoldier->usNextActionData != NOWHERE )
|
||||||
|
{
|
||||||
|
pTMilitiaSoldier->bNextAction = AI_ACTION_RUN_AWAY;
|
||||||
|
pTMilitiaSoldier->usActionData = ANIM_STAND;
|
||||||
|
|
||||||
|
// SEND PENDING ACTION
|
||||||
|
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
|
||||||
|
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
||||||
|
{
|
||||||
|
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
||||||
|
}
|
||||||
|
}
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
fShowMilitiaControlMenu = FALSE;
|
fShowMilitiaControlMenu = FALSE;
|
||||||
giAssignHighLine = -1;
|
giAssignHighLine = -1;
|
||||||
@@ -1237,35 +1245,37 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case( MILCON_MENU_COMETOME ):
|
case( MILCON_MENU_COMETOME ):
|
||||||
{
|
{
|
||||||
INT16 sActionGridNo, sGridNo, sAdjustedGridNo;
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
UINT8 ubDirection;
|
|
||||||
|
|
||||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
|
||||||
{
|
{
|
||||||
// OK, find an adjacent gridno....
|
INT16 sActionGridNo, sGridNo, sAdjustedGridNo;
|
||||||
sGridNo = pSoldier->sGridNo;
|
UINT8 ubDirection;
|
||||||
|
|
||||||
// See if we can get there
|
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||||
sActionGridNo = FindAdjacentGridEx( pSoldier, sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE );
|
|
||||||
if ( sActionGridNo != -1 )
|
|
||||||
{
|
{
|
||||||
// SEND PENDING ACTION
|
// OK, find an adjacent gridno....
|
||||||
//pTMilitiaSoldier->ubPendingAction = MERC_STEAL;
|
sGridNo = pSoldier->sGridNo;
|
||||||
pTMilitiaSoldier->sPendingActionData2 = pSoldier->sGridNo;
|
|
||||||
//pTMilitiaSoldier->bPendingActionData3 = ubDirection;
|
|
||||||
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
|
||||||
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
|
||||||
|
|
||||||
// CHECK IF WE ARE AT THIS GRIDNO NOW
|
// See if we can get there
|
||||||
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
sActionGridNo = FindAdjacentGridEx( pSoldier, sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE );
|
||||||
|
if ( sActionGridNo != -1 )
|
||||||
{
|
{
|
||||||
// WALK UP TO DEST FIRST
|
// SEND PENDING ACTION
|
||||||
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
//pTMilitiaSoldier->ubPendingAction = MERC_STEAL;
|
||||||
|
pTMilitiaSoldier->sPendingActionData2 = pSoldier->sGridNo;
|
||||||
|
//pTMilitiaSoldier->bPendingActionData3 = ubDirection;
|
||||||
|
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
||||||
|
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
||||||
|
|
||||||
|
// CHECK IF WE ARE AT THIS GRIDNO NOW
|
||||||
|
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
||||||
|
{
|
||||||
|
// WALK UP TO DEST FIRST
|
||||||
|
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
fShowMilitiaControlMenu = FALSE;
|
fShowMilitiaControlMenu = FALSE;
|
||||||
giAssignHighLine = -1;
|
giAssignHighLine = -1;
|
||||||
@@ -1278,10 +1288,13 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
case( MILCON_MENU_GETDOWN ):
|
case( MILCON_MENU_GETDOWN ):
|
||||||
{
|
{
|
||||||
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_PRONE );
|
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
|
||||||
//SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_CROUCH );
|
{
|
||||||
|
SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_PRONE );
|
||||||
|
//SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_CROUCH );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
@@ -1296,26 +1309,28 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
|
|
||||||
case( MILCON_MENU_TAKE_COVER ):
|
case( MILCON_MENU_TAKE_COVER ):
|
||||||
{
|
{
|
||||||
INT16 sActionGridNo;
|
if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
|
||||||
INT32 iDummy;
|
|
||||||
|
|
||||||
sActionGridNo = FindBestNearbyCover(pTMilitiaSoldier,pTMilitiaSoldier->bAIMorale,&iDummy);
|
|
||||||
|
|
||||||
if ( sActionGridNo != NOWHERE )
|
|
||||||
{
|
{
|
||||||
// SEND PENDING ACTION
|
INT16 sActionGridNo;
|
||||||
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
|
INT32 iDummy;
|
||||||
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
|
||||||
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
|
||||||
|
|
||||||
// CHECK IF WE ARE AT THIS GRIDNO NOW
|
sActionGridNo = FindBestNearbyCover(pTMilitiaSoldier,pTMilitiaSoldier->bAIMorale,&iDummy);
|
||||||
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
|
||||||
|
if ( sActionGridNo != NOWHERE )
|
||||||
{
|
{
|
||||||
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
// SEND PENDING ACTION
|
||||||
|
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
|
||||||
|
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
|
||||||
|
pTMilitiaSoldier->usUIMovementMode = RUNNING;
|
||||||
|
|
||||||
|
// CHECK IF WE ARE AT THIS GRIDNO NOW
|
||||||
|
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
|
||||||
|
{
|
||||||
|
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop showing menu
|
// stop showing menu
|
||||||
fShowMilitiaControlMenu = FALSE;
|
fShowMilitiaControlMenu = FALSE;
|
||||||
giAssignHighLine = -1;
|
giAssignHighLine = -1;
|
||||||
@@ -1336,7 +1351,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
pTeamSoldier->bOrders = SEEKENEMY;
|
pTeamSoldier->bOrders = SEEKENEMY;
|
||||||
pTeamSoldier->bAttitude = AGGRESSIVE;
|
pTeamSoldier->bAttitude = AGGRESSIVE;
|
||||||
@@ -1363,7 +1378,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
pTeamSoldier->bOrders = STATIONARY;
|
pTeamSoldier->bOrders = STATIONARY;
|
||||||
pTeamSoldier->bAttitude = DEFENSIVE;
|
pTeamSoldier->bAttitude = DEFENSIVE;
|
||||||
@@ -1390,7 +1405,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
pTeamSoldier->bOrders = FARPATROL;
|
pTeamSoldier->bOrders = FARPATROL;
|
||||||
pTeamSoldier->bAttitude = DEFENSIVE;
|
pTeamSoldier->bAttitude = DEFENSIVE;
|
||||||
@@ -1447,7 +1462,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||||
{
|
{
|
||||||
@@ -1494,7 +1509,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
|
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
|
||||||
{
|
{
|
||||||
@@ -1550,7 +1565,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
{
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
|
||||||
{
|
{
|
||||||
// See if we can get there
|
// See if we can get there
|
||||||
sActionGridNo = FindBestNearbyCover(pTeamSoldier,pTeamSoldier->bAIMorale,&iDummy);
|
sActionGridNo = FindBestNearbyCover(pTeamSoldier,pTeamSoldier->bAIMorale,&iDummy);
|
||||||
@@ -1585,64 +1600,58 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
case( MILCON_MENU_ALL_TAKE_ITEMS ):
|
//case( MILCON_MENU_ALL_TAKE_ITEMS ):
|
||||||
{
|
//{
|
||||||
UINT8 cnt;
|
// UINT8 cnt;
|
||||||
SOLDIERTYPE *pTeamSoldier;
|
// SOLDIERTYPE *pTeamSoldier;
|
||||||
|
//
|
||||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
// cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||||
|
|
||||||
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
// for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
|
||||||
{
|
// {
|
||||||
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
// if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
|
||||||
{
|
// {
|
||||||
|
|
||||||
//CREATURE_IMMOBILE = 2
|
// //CREATURE_IMMOBILE = 2
|
||||||
if ( (pTeamSoldier->bMobility != 2) && (pTeamSoldier->bActionPoints >= MinPtsToMove(pTeamSoldier)) )
|
// if ( (pTeamSoldier->bMobility != 2) && (pTeamSoldier->bActionPoints >= MinPtsToMove(pTeamSoldier)) )
|
||||||
{
|
// {
|
||||||
//SEARCH_GENERAL_ITEMS=0
|
// //SEARCH_GENERAL_ITEMS=0
|
||||||
pTeamSoldier->bAction = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
|
// pTeamSoldier->bAction = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
|
||||||
|
|
||||||
pTeamSoldier->usNextActionData = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
|
// pTeamSoldier->usNextActionData = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
|
||||||
|
|
||||||
|
|
||||||
//if ( pTeamSoldier->usNextActionData != NOWHERE )
|
// //if ( pTeamSoldier->usNextActionData != NOWHERE )
|
||||||
{
|
// {
|
||||||
pTeamSoldier->bNextAction = AI_ACTION_PICKUP_ITEM;
|
// pTeamSoldier->bNextAction = AI_ACTION_PICKUP_ITEM;
|
||||||
//pTeamSoldier->usActionData = ANIM_STAND;
|
// //pTeamSoldier->usActionData = ANIM_STAND;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (pTeamSoldier->bAction == AI_ACTION_PICKUP_ITEM)
|
// if (pTeamSoldier->bAction == AI_ACTION_PICKUP_ITEM)
|
||||||
{
|
// {
|
||||||
// the item pool index was stored in the special data field
|
// // the item pool index was stored in the special data field
|
||||||
pTeamSoldier->uiPendingActionData1 = pTeamSoldier->iNextActionSpecialData;
|
// pTeamSoldier->uiPendingActionData1 = pTeamSoldier->iNextActionSpecialData;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// //if (pTeamSoldier->bAction != AI_ACTION_NONE)
|
||||||
|
// //{
|
||||||
|
// // return( pTeamSoldier->bAction );
|
||||||
|
// //}
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // stop showing menu
|
||||||
|
// fShowMilitiaControlMenu = FALSE;
|
||||||
|
// giAssignHighLine = -1;
|
||||||
|
|
||||||
//if (pTeamSoldier->bAction != AI_ACTION_NONE)
|
// // set dirty flag
|
||||||
//{
|
// fTeamPanelDirty = TRUE;
|
||||||
// return( pTeamSoldier->bAction );
|
// fMapScreenBottomDirty = TRUE;
|
||||||
//}
|
//}
|
||||||
}
|
//break;
|
||||||
|
|
||||||
|
case( MILCON_MENU_CANCEL ):
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// stop showing menu
|
|
||||||
fShowMilitiaControlMenu = FALSE;
|
|
||||||
giAssignHighLine = -1;
|
|
||||||
|
|
||||||
// set dirty flag
|
|
||||||
fTeamPanelDirty = TRUE;
|
|
||||||
fMapScreenBottomDirty = TRUE;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case( MILCON_MENU_CANCEL ):
|
|
||||||
{
|
{
|
||||||
//Cancel
|
//Cancel
|
||||||
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Cancel" );
|
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Cancel" );
|
||||||
@@ -1658,7 +1667,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
|||||||
// reset list of characters
|
// reset list of characters
|
||||||
ResetSelectedListForMapScreen( );
|
ResetSelectedListForMapScreen( );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ void HandleStealthChangeFromUIKeys( );
|
|||||||
|
|
||||||
UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL;
|
UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL;
|
||||||
|
|
||||||
|
extern void StackObjs( OBJECTTYPE * pSourceObj, OBJECTTYPE * pTargetObj, UINT8 ubNumberToCopy );
|
||||||
extern BOOLEAN CompatibleAmmoForGun( OBJECTTYPE *pTryObject, OBJECTTYPE *pTestObject );
|
extern BOOLEAN CompatibleAmmoForGun( OBJECTTYPE *pTryObject, OBJECTTYPE *pTestObject );
|
||||||
extern void DetermineWhichAssignmentMenusCanBeShown( void );
|
extern void DetermineWhichAssignmentMenusCanBeShown( void );
|
||||||
extern void DetermineWhichMilitiaControlMenusCanBeShown( void ); //lal
|
extern void DetermineWhichMilitiaControlMenusCanBeShown( void ); //lal
|
||||||
@@ -3067,6 +3067,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
HandleStanceChangeFromUIKeys( ANIM_PRONE );
|
HandleStanceChangeFromUIKeys( ANIM_PRONE );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Make auto reload with magazines from sector inventory
|
// Make auto reload with magazines from sector inventory
|
||||||
case 'R':
|
case 'R':
|
||||||
if (! (gTacticalStatus.uiFlags & INCOMBAT) )
|
if (! (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||||
@@ -3094,7 +3096,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
// Search for ammo in sector
|
// Search for ammo in sector
|
||||||
for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ )
|
for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ )
|
||||||
{
|
{
|
||||||
if ( gWorldItems[ uiLoop ].fExists) //item exists
|
if ( gWorldItems[ uiLoop ].fExists) //item exists && (gWorldItems[ uiLoop ].usFlags & WORLD_ITEM_REACHABLE)
|
||||||
{
|
{
|
||||||
if ( ( Item[ gWorldItems[ uiLoop ].o.usItem ].usItemClass & IC_AMMO ) ) // the item is ammo
|
if ( ( Item[ gWorldItems[ uiLoop ].o.usItem ].usItemClass & IC_AMMO ) ) // the item is ammo
|
||||||
{
|
{
|
||||||
@@ -3188,6 +3190,35 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
case 'S':
|
||||||
|
|
||||||
|
if (! (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||||
|
{
|
||||||
|
for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ )
|
||||||
|
{
|
||||||
|
if ( ( gWorldItems[ uiLoop ].fExists) && (gWorldItems[ uiLoop ].usFlags & WORLD_ITEM_REACHABLE) )//item exists and is reachable
|
||||||
|
{
|
||||||
|
//find out how many items can be put in a big slot
|
||||||
|
INT8 ubSlotLimit = ItemSlotLimit( gWorldItems[ uiLoop ].o.usItem, BIGPOCK1POS );
|
||||||
|
|
||||||
|
//if we still have some space
|
||||||
|
if ( gWorldItems[ uiLoop ].o.ubNumberOfObjects < ubSlotLimit )
|
||||||
|
{
|
||||||
|
//if the next item is the same
|
||||||
|
if ( gWorldItems[ uiLoop ].o.usItem == gWorldItems[ uiLoop + 1 ].o.usItem )
|
||||||
|
{
|
||||||
|
INT8 ubObjCount = ubSlotLimit - gWorldItems[ uiLoop ].o.ubNumberOfObjects;
|
||||||
|
INT8 bPointsToMove = __min( ubObjCount, gWorldItems[ uiLoop +1 ].o.ubNumberOfObjects );
|
||||||
|
|
||||||
|
StackObjs( &(gWorldItems[ uiLoop +1 ].o), &(gWorldItems[ uiLoop ].o), bPointsToMove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
|
|
||||||
if( fCtrl )
|
if( fCtrl )
|
||||||
|
|||||||
@@ -614,7 +614,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -628,7 +628,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -620,7 +620,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -613,7 +613,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -614,7 +614,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -620,7 +620,7 @@ STR16 pMilitiaControlMenuStrings[] =
|
|||||||
L"All: Come to me",
|
L"All: Come to me",
|
||||||
L"All: Get down",
|
L"All: Get down",
|
||||||
L"All: Take cover",
|
L"All: Take cover",
|
||||||
L"All: Find items",
|
//L"All: Find items",
|
||||||
L"Cancel", // cancel this menu
|
L"Cancel", // cancel this menu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user